Commit Graph

311 Commits

Author SHA1 Message Date
Jeff Becker
7e562a5b37
add netmask for macos 2020-08-24 20:19:49 -04:00
Jeff Becker
49eb42d63f
formatting and typo fix 2020-08-24 20:19:49 -04:00
Jeff Becker
9e24a5bfca
add check for no default route on down
fix macos bits for down
install lokinet-vpn with cmake
2020-08-24 20:19:49 -04:00
Jeff Becker
c49e11031a
fix variable name 2020-08-24 20:19:49 -04:00
Jeff Becker
778792f8fc
fix compile error on macos and exclude excluded interface 2020-08-24 20:19:49 -04:00
Jeff Becker
c2e484d14b
fix apple build 2020-08-24 20:19:49 -04:00
Jeff Becker
847fdb4f6b
add initial macos bits for lokinet-vpn (apple made macos so that man may suffer) 2020-08-24 20:19:49 -04:00
Jeff Becker
34ffd8e869
dont put the "gateway" into the return value use the interface address instead because that is what we are looking for 2020-08-24 20:19:49 -04:00
Jeff Becker
45b6fcd7cb
forgot hunk 2020-08-24 20:19:49 -04:00
Jeff Becker
04392a5115
tweak windows bits so that they compile 2020-08-24 20:19:49 -04:00
Jeff Becker
36a2bc5d66
add forgotten array header 2020-08-24 20:19:48 -04:00
Jeff Becker
22e4aef4f9
initial windows platform specific bits for lokinet-vpn 2020-08-24 20:19:48 -04:00
Jeff Becker
37e16291cb
working on linux with root 2020-08-24 20:19:48 -04:00
Jeff Becker
a8239af73a
initial lokinet-vpn tool rewrite 2020-08-24 20:19:48 -04:00
Rick V
98241c6c1a this is what c-f v10 thinks it should look like 2020-08-13 12:06:57 -05:00
Rick V
59b8b1ba6d add service description 2020-08-12 20:00:54 -05:00
Rick V
7de4c509d7 haha lokinet is cursed now 2020-08-12 19:49:26 -05:00
Rick V
7bd3731e98 first draft of daemon control code 2020-08-12 15:27:39 -05:00
Rick V
d56706b626 more daemon fluff 2020-08-12 14:55:03 -05:00
Rick V
8c62a726c0 stupid trampoline to return control to lokinet
after SCM starts
2020-08-12 14:11:47 -05:00
Rick V
ca9984cc69 win32 daemon install/remove goo 2020-08-12 13:03:52 -05:00
Stephen Shelton
0f074cff8c
Remove ambguity WRT loading and passing of Config 2020-07-06 13:38:02 -06:00
Stephen Shelton
ec20d94c6b
Fix Context::Configure() 2020-07-02 10:26:53 -06:00
Stephen Shelton
ed47ba998f
Minor fixes around Context 2020-07-02 10:26:52 -06:00
Jeff Becker
0f21eeccb0
* rework exit codepath to allow multiple exits
* rework net code for ip ranges to be cleaner
* clean up endpoint auth code
* refactor config to validate network configs before setting up endpoints
* remove buildone from path/pathbuilder.cpp so we don't spam connection attempts
2020-07-02 11:13:30 -04:00
Jeff Becker
3cdca30a74
more auth shit 2020-07-02 11:13:30 -04:00
Stephen Shelton
0aa43c6b07
Pass RuntimeOptions instead of 'bool isRelay' 2020-07-01 08:38:56 -06:00
Stephen Shelton
984015587d
"Rethrow" to promise using std::current_exception() 2020-07-01 08:38:33 -06:00
Stephen Shelton
a448cbab4f
Pass on exceptions to exit_code future in main 2020-07-01 08:21:53 -06:00
Stephen Shelton
eb2260179f
Pass opts by value since we're crossing threads 2020-07-01 08:04:29 -06:00
Stephen Shelton
ec4109ae60
Handle signals without C API 2020-06-29 14:09:59 -06:00
Stephen Shelton
b5d6a73ffd
Rip out most of C API 2020-06-29 13:55:59 -06:00
Stephen Shelton
1497b829bd
Ignore our self.signed file if we're a client 2020-06-04 11:05:23 -06:00
Jeff
45cda241f0
Merge pull request #1272 from majestrate/exit-nodes-2020-05-16
exit traffic via snapps
2020-06-01 14:42:43 -04:00
Jeff Becker
18b2ef3d1e
remove unneeded file 2020-05-29 12:33:16 -04:00
Jeff Becker
242ab3caba
rename lokinet-exit too to lokinet-vpn
install lokinet-vpn tool for use with debian packaging
2020-05-29 12:31:57 -04:00
Rick V
5529371637 RouterContact::[Read|Write] now take a fs::path const ref 2020-05-26 22:39:01 -05:00
Rick V
f62214cf8c
first pass fix wstring path conversions 2020-05-26 20:48:07 -05:00
Jeff Becker
14b134c42d
when we get an explicit config path respect it and the base dir 2020-05-26 10:06:38 -04:00
Jeff Becker
6af498092b
exit traffic via loki addresses 2020-05-23 16:07:19 -04:00
Jason Rhinelander
c5faa86926 cmake refactor
Refactors many things in cmake to improve and simplify:

- don't use variable indirection for target names; target names are
*already* a variable of sorts.  (e.g. ${UTIL_LIB} is now just
lokinet-util).  cmake/basic_definitions.cmake is now gone.

- fix LTO enabling to use the standard cmake (3.9+) LTO mechanism rather
than shoving a bunch of flag hacks through link_libraries and
add_compile_options.  This also now enables LTO when building a shared
library (because previously the -flto hacks were only turned on in the
static code for some reason).

- build liblokinet as *either* shared library or static library, but not
both.  Building both makes things more complicated because they had
different names (lokinet-shared or lokinet-static) and seems pointless:
you generally want one or the other.  Now there is just the liblokinet
target, which will be shared or static depending on the value of
BUILD_SHARED_LIBS.

- Simplify lokinet-cryptography AVX2 code: just build *one* library, and
add in the additional AVX2 files when possible, rather than building two
and needing to merge them.

- Compress STATIC_LINK and STATIC_LINK_RUNTIME into just STATIC_LINK.
It makes no sense to use one of these (_RUNTIME) on Windows and the
other on non-Windows when they appear to try to do the same thing.

- remove a bunch of annotations from `endif(FOO)` -> `endif()`.

- move all the tuntap compilation code (including OS-specific source
file selection) into vendor/CMakeLists.txt and build tuntap as an
intermediate OBJECT library rather than keeping a global variable in 5
different files.

- move release motto define to root cmake; it made no sense being
duplicated in both unix.cmake and win32.cmake

- fix add_log_tag to not stomp on any existing source compile flags with
its definition.  Also use proper compile definition property instead of
cramming it into compile flags.

- make optimization/linker flags less hacky.  There's no reason for us
to force particular optimization flags because the cmake build type
already does that (e.g. -DCMAKE_BUILD_TYPE=Release does -O3).  Not doing
that also silences a bunch of cmake warnings because it thinks "-O0 -g3"
etc.  are link libraries (which is reasonable: that's what the code was
telling cmake they are).

- sets the default build type to RelWithDebInfo which gives us `-O2 -g`
if you don't specify a build type.

- Move PIC up (so that the things loaded in unix.cmake, notably libuv,
have it set).

- Add a custom `curl` interface library that carries the correct link
target and include paths for curl (system or bundled).
2020-05-17 23:31:23 -03:00
Stephen Shelton
de8e44ba21
Re-apply clang-format rules after rebasing 2020-04-07 14:41:11 -06:00
Stephen Shelton
6909e20588
Fix logging initialization and flush at program exit 2020-04-07 14:27:30 -06:00
Stephen Shelton
e3cb4b2d60
Don't create conf dir in main()
ensureConfig() does this implicitly.
2020-04-07 14:25:18 -06:00
Stephen Shelton
1fc7c61d1f
Share common conf comments for client and relay 2020-04-07 14:24:50 -06:00
Stephen Shelton
176c1e3cbd
Remove --router option 2020-04-07 14:21:44 -06:00
Stephen Shelton
05257126fe
Make distinction between config dir and data dir 2020-04-07 14:18:14 -06:00
Stephen Shelton
9e7254f6fa
Rip out pass-through-to-curl functionality 2020-04-07 14:17:52 -06:00
Stephen Shelton
923e73f693
Plumb isRelay CLI arg through to config 2020-04-07 14:17:13 -06:00
Stephen Shelton
1653b73ee5
Clean up the logic around generating default confs 2020-04-07 14:11:57 -06:00