Commit Graph

339 Commits

Author SHA1 Message Date
jeff
869ab0b652 Merge remote-tracking branch 'upstream/dev' into vpn-api-2019-10-03 2019-10-21 08:01:29 -04:00
Michael
f6adacf936
Review fixes 2019-10-09 23:00:50 +01:00
Michael
3371da98cf
Use libcurl (optional dependency) to hit jsonrpc 2019-10-09 23:00:50 +01:00
jeff
c26b67c379 finish wiring up jni shizz 2019-10-08 10:52:01 -04:00
jeff
7d7c6bf38c Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography 2019-10-07 06:08:47 -04:00
michael-loki
4b6dab5651
Fixup 2019-10-05 17:06:35 +01:00
Michael
abc527ca35
Split cmake files for executables into src dirs 2019-10-05 16:08:12 +01:00
jeff
52757fef0e Merge remote-tracking branch 'micheal/background_mode' into vpn-api-2019-10-03 2019-10-04 14:10:58 -04:00
Michael
15cb49c9bd
Introduce --background to only start JSON RPC
fixes #853
2019-10-04 10:32:52 +01:00
Stephen Shelton
c9b862a12b Add a --version flag to lokinet CLI args 2019-10-02 12:08:45 -06:00
jeff
32ed821763 Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography 2019-10-01 10:51:28 -04:00
Michael
ae3fc3a395
Add initial macOS app 2019-09-24 09:50:57 +01:00
Jeff Becker
12314e8d00
ensure no crash on quit 2019-09-04 08:41:07 -04:00
Michael
1aec0dfa2b
Move logging to subdirectory 2019-09-03 20:52:27 +01:00
Michael
c98ae332b2
Add missing header 2019-08-13 00:26:25 +00:00
Michael
0a1620aff2
make format 2019-08-12 22:10:07 +00:00
Michael
de21a2f687
Include json output 2019-08-12 22:09:44 +00:00
Michael
8c5bbcaeeb
Update rcutil and add to build 2019-08-12 21:47:30 +00:00
Rick V
f6c97091fd
clang-format 2019-08-01 22:25:48 -05:00
Rick V
581e64a2ef
back out for now 2019-08-01 21:39:45 -05:00
Rick V
578bcba73d
ok use exception filter
typo

no infinite loops
2019-08-01 21:39:44 -05:00
Rick V
16096c6adb
add debug helper lib for core dump generation on all supported windows targets
had an epiphany earlier

i kept having problems with static linking because
i merged the GNU C runtime with the SEH library
instead of merging the latter with pthread
2019-08-01 21:39:42 -05:00
Jeff Becker
c1bf69f96f
run main in it's own thread and set its process name. 2019-07-26 08:55:08 -04:00
Michael
a2326efa37
Revert "Merge pull request #679 from tewinget/revert-config-refactor"
This reverts commit 2996a7f29c, reversing
changes made to 10df3bd4b3.
2019-07-06 14:46:25 +01:00
Thomas Winget
d044d60101 Reverts #678 #677 and #669 with hashes:
10df3bd
766ece8
979f095

See those commits for further details
2019-07-02 11:02:20 -04:00
Michael
00c237dc6d
Move config class to its own dir 2019-07-02 01:58:38 +01:00
Michael
8323725509
Initial No-Op Crypto implementation 2019-05-29 09:46:34 +01:00
Ryan Tharp
124e9dc4bf
Merge pull request #556 from neuroscr/issue547-2
handle relative config paths better
2019-04-23 17:40:54 -07:00
Ryan Tharp
89837d5528 handle relative config paths better 2019-04-23 17:40:44 -07:00
Ryan Tharp
4f70c729c0
Merge pull request #554 from neuroscr/issue547-2
fix generate router config
2019-04-23 17:04:05 -07:00
Ryan Tharp
ecec0628f0 fix generate router config 2019-04-23 17:03:42 -07:00
Ryan Tharp
db25a9107c format / fix syntax error 2019-04-23 16:17:10 -07:00
Ryan Tharp
f9d20fe75b
Merge branch 'master' into cooler_help 2019-04-23 16:10:52 -07:00
Ryan Tharp
b36b378583 issue 547 make format 2019-04-23 14:57:01 -07:00
Ryan Tharp
8cf6a77c1d address issue loki-project#547, remove client.ini, update ini defaults, and clean up help message 2019-04-23 14:50:49 -07:00
Michael
5589d9b471
Make help more useful 2019-04-23 21:52:13 +01:00
Rick V
afdb6cf2f3
windows is the oddball yet again 2019-04-22 18:06:03 -05:00
Jeff Becker
73a71e43c3
vec -> arg 2019-04-21 18:15:47 -04:00
Jeff Becker
0a990fbdff
fix positional arguments in main 2019-04-21 17:48:28 -04:00
michael-loki
0195152e05 Allow builds on MSVC (#518)
* Import cxxopts to replace getopts usage

* Add visual studio build things

* Fixup abseil build parts

* Replace __attribute__((unused)) with ABSL_ATTRIBUTE_UNUSED

* Fixup minor windows build issues

* Replace getopts usage

* Temporarily fixup .rc files

* More minor windows fixes

* Get a working build

* Revert .rc files

* Revert changes to nodedb
2019-04-19 13:24:33 -05:00
Michael
57d6668e55
Move metrics out of daemon into llarp::Context 2019-04-05 10:20:48 +01:00
Rick V
1fb3a0bf62
stderr is unbuffered by default? 2019-04-03 01:14:15 -05:00
Michael
91f401ff71
Integrate metrics into router 2019-03-25 20:36:23 +00:00
Michael
c5a129ddff
Convert to use abseil synchronisation primitives 2019-03-03 21:20:38 +00:00
Michael
67b5d48095
Replace usage of new/delete with unique_ptr/stack allocation 2019-02-11 16:24:05 +00:00
Rick V
3931b7d9d7
implement missing libabyss functionality
remove some finished TODOs
2019-02-06 19:53:11 -06:00
Rick V
ad1179a333
remove ref to nrmicro
add note
2019-02-06 19:53:11 -06:00
Rick V
8741f0dd59
NetBSDs don't fully implement POSIX.1-2001 (!!!) 2019-02-06 19:53:07 -06:00
Rick V
f277f368a1
win32 g++ is set to c++17 by default, so we use the _real_ string_view class 2019-02-06 19:53:06 -06:00
Ryan Tharp
befcdc179e address #251 and improve UX 2019-01-29 03:23:40 -08:00
Ryan Tharp
1ba5b75082 Merge branch 'master' of https://github.com/neuroscr/loki-network 2019-01-16 21:25:37 +00:00
Ryan Tharp
a2ca33130f always show what config file it's using 2019-01-16 12:57:45 -08:00
Michael
04e0fe3ad7
Move crypto code to a subdirectory 2019-01-13 15:06:16 +00:00
Michael
b1ffdba7ba
Build with libabyss 2019-01-11 01:59:44 +00:00
Michael
e5eda0fb8f
Move lokinet unspecific components to a util/ library 2019-01-10 20:07:24 +00:00
Michael
4f90192e1a
Fix lifetime issues in llarp_findOrCreate* function calls 2019-01-03 23:10:32 +00:00
Jeff
4b2a1ea9f3 make format and attempt to fix #158 2018-12-23 08:29:11 -05:00
despair
321251c944
implemented SIGINT handler for NT 2018-12-22 12:58:14 -06:00
Jeff Becker
be234e4b6e
* make format
* snode to snode direct traffic

* wire up dns on service node tun
2018-12-13 11:14:44 -05:00
Michael
85dde7b6b0
Move remaining include/llarp headers to llarp/ 2018-12-12 02:53:02 +00:00
Michael
b92ea0521b
Move router_contact.hpp to llarp/ 2018-12-12 02:53:01 +00:00
Michael
a5c3ba0fdd
Move logger.hpp to llarp/ 2018-12-12 02:53:01 +00:00
Michael
7be452092c
Convert llarp_crypto to be a true C++ class 2018-12-11 00:53:55 +00:00
Michael
f0fce5b68a
Convert llarp_router to be a true C++ class 2018-12-10 20:15:35 +00:00
Michael
30e9dca2e5
Convert llarp_logic to be a C++ class 2018-12-10 14:15:11 +00:00
Jeff Becker
0bfe9a5fee
fix 2018-12-02 21:17:36 -05:00
Jeff Becker
472948a610
more dns tweaks 2018-12-01 09:35:11 -05:00
Jeff Becker
90a2545bb1
handle SIGTERM 2018-11-29 08:12:28 -05:00
Ryan Tharp
1c6031c677 clang-format 2018-11-21 16:39:09 -08:00
Ryan Tharp
0046b705e8 generic_handle_dnsc_recvfrom() remove unneeded parameter, start making daemon/dns better, deprecate raw_handle_recvfrom() 2018-11-21 16:29:42 -08:00
Jeff Becker
b543d6243d
Merge branch 'master' into dev 2018-11-20 07:42:17 -05:00
Michael
0b2ebc83e0
De-C-ify several .h headers 2018-11-19 22:45:37 +00:00
Jeff Becker
56676002aa
wire up exit traffic 2018-11-14 14:34:17 -05:00
Jeff Becker
e91d7cf88f
Merge remote-tracking branch 'rick/dev' into dev 2018-11-13 06:39:41 -05:00
despair
f6fb063684 this is driving me at least mildly insane
we _never_ get to llarp::udp_listener::read
2018-11-12 23:39:50 -06:00
despair
0eacab7759 warn windows user if using untested relay mode
update readme
2018-11-11 22:50:41 -06:00
Jeff Becker
a73418abe3
do the right fix for warnings 2018-11-08 07:42:55 -05:00
Jeff Becker
960aa479e9
fixes for ancient rpi toolchain 2018-11-08 07:31:50 -05:00
Jeff Becker
d9e4e139ed
fix compile on ubuntu 2018-11-07 11:01:01 -05:00
despair
38f2a6b2c9 be slightly less annoying
check build rules
2018-10-30 00:16:34 -05:00
despair
c5d1b32286 remove microsoft c++ crud
🤔🤔🤔🤔
2018-10-30 00:16:33 -05:00
Jeff
ccead80c3d make jsonrpc server configurable on build, disabled by default.
default to client only and require explicitly run as relay to run as relay.
2018-10-27 08:41:04 -04:00
Jeff Becker
de17324012
don't make tcp event code epoll specific 2018-10-25 08:00:29 -04:00
Jeff Becker
d3278946f2
ipv4 bogon checking 2018-10-15 08:02:32 -04:00
cathugger
4d5f5fecfa
ip: make things fragmentation-aware, cleanup UDP handling; also format
one's complement math is pretty fun
2018-10-13 18:42:47 +03:00
Ryan Tharp
7e217366e6 fix overwrite? 2018-10-04 07:09:36 -07:00
Ryan Tharp
f824ac8701 enable dotLokiLookup through router tun endpoint dnsd 2018-10-03 03:33:58 -07:00
Ryan Tharp
4b3b09736b Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-02 23:11:44 +00:00
despair86
991c1d8fce fix 2018-10-01 15:19:26 -05:00
despair86
9fdde65798 make bencode ILP32/LLP64 clean (long is 32 bits outside of unix!)
actually open new RCs in binary mode
clang-format
win32 skeleton code for tun (still working on the guts)
2018-10-01 15:08:55 -05:00
despair86
8ac7d4f6dc if we didn't specify a path to save our config in, only create .lokinet on the assumption that $HOME or $APPDATA (on NT) already exist
add win32 tun glue, fix llarp timebase
(In fact, _both_ of these are guaranteed to exist on their respective platforms.)
also, tuntap is now wired up to the windows port
2018-10-01 15:08:52 -05:00
Ryan Tharp
47d71c601c fix another overwrite 2018-10-01 03:08:05 -07:00
Ryan Tharp
c11e61a51d add -c for client auto-config, -f for overwrite 2018-10-01 02:58:30 -07:00
Ryan Tharp
058ed4d4ea Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-10-01 09:03:31 +00:00
Ryan Tharp
b7f4907925 update DNS* init 2018-09-29 03:28:24 -07:00
Jeff Becker
8a4b2e97a5
add lint target for makefile using clang tidy
run make format
2018-09-28 10:29:34 -04:00
Jeff Becker
2e3601b140
fucking fix -V option that didn't fucking work wtf 2018-09-27 14:08:42 -04:00
Ryan Tharp
0c6f3e19a3 fix linux header 2018-09-24 13:24:08 +00:00
Ryan Tharp
902f6f14b7 pass RC by ref, header cleanup, clang format 2018-09-24 06:10:36 -07:00
Ryan Tharp
0ad4f43fe5 header clean up and clang-format 2018-09-24 06:09:01 -07:00
Ryan Tharp
9d4d595624 compile fixes 2018-09-22 03:39:53 -07:00
Ryan Tharp
3183d5a19e make sigint work, clean up dead code, update api, format 2018-09-22 03:18:56 -07:00
Ryan Tharp
6ba51c7cc0 enable prefetch 2018-09-21 12:54:37 +00:00
Ryan Tharp
29a304f928 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-20 12:45:19 +00:00
Ryan Tharp
0ffd49af04 bind to port 53, get first tun interface and set it up with dns tracker 2018-09-20 12:37:45 +00:00
Ryan Tharp
eebb2609b8 try to map an address 2018-09-20 03:08:07 -07:00
Jeff Becker
3938517dc6
fix creation 2018-09-19 09:32:50 -04:00
Ryan Tharp
f9936b43d3 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-19 13:21:15 +00:00
Jeff Becker
1d5adaf4cc
fix previous commit 2018-09-19 09:17:15 -04:00
Jeff Becker
3feb45bdf8
more fixes for main 2018-09-19 09:15:07 -04:00
Jeff Becker
b00ee5203c
fix config generation with specified config file 2018-09-19 09:10:14 -04:00
Jeff Becker
58198656a3
configurable base directory for config and add option for only generating config 2018-09-19 09:02:55 -04:00
Ryan Tharp
f283923cb7 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-19 12:28:48 +00:00
Ryan Tharp
9f33edeed0 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-19 12:22:34 +00:00
Jeff Becker
43b4e1eaf3
don't sighup for windows 2018-09-19 07:57:07 -04:00
Jeff Becker
e047bfa266
update readme
add sighup
2018-09-17 07:47:34 -04:00
Ryan Tharp
742a0b8da7 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-06 00:32:06 +00:00
Jeff Becker
c3c388b6aa
remove iwp and start on curvecp
does not compile
2018-09-02 14:25:42 -04:00
Jeff Becker
973f86c900
it compiles 2018-08-31 08:46:54 -04:00
Jeff Becker
5228a81bae
more refactor
get rid of C api
2018-08-30 14:48:43 -04:00
Jeff Becker
a11bd44a7c
update rc util import 2018-08-24 13:26:17 -04:00
Jeff Becker
435fba25fd
add parts to rcutil to print out info about RCs: ./rcutil -V self.signed 2018-08-24 12:07:17 -04:00
Ryan Tharp
70345abe18 --b32, --hex, --find to locate service address 2018-08-17 03:40:40 -07:00
Ryan Tharp
e732e17f0d better .loki handling 2018-08-17 03:37:59 -07:00
Ryan Tharp
a5f2f7080d Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-08-16 10:44:31 +00:00
Ryan Tharp
94b6b828c1 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-08-16 10:38:02 +00:00
Jeff Becker
186bd7d573
use NTRU for introset end to end encryption 2018-08-13 19:22:31 -04:00
Ryan Tharp
ec237768d7 merge 2018-08-13 01:47:24 -07:00
Ryan Tharp
ab3493ba3d Merge branch 'master' of https://github.com/loki-project/loki-network 2018-08-13 08:31:54 +00:00
Jeff Becker
d7c1c3322f
it works. 2018-08-12 13:22:29 -04:00
Ryan Tharp
3ada1e15be llarp_main_queryDHT_RC(), llarp_main_init_dnsd(), actually query DHT on dns lookup 2018-08-09 04:22:57 -07:00
Ryan Tharp
c0ee5ab590 remove unused global 2018-08-09 04:20:59 -07:00
Jeff Becker
62f41d3747
initial threadpool isolation code and run make format 2018-08-08 13:43:46 -04:00
Ryan Tharp
b5e136d916 fix if 10 is in use, comments and other last minute notes 2018-08-08 06:21:14 -07:00
Ryan Tharp
2aa091f98d format 2018-08-08 06:08:38 -07:00
Ryan Tharp
bb13364c57 make caching work 2018-08-08 05:50:03 -07:00
Ryan Tharp
16c56ff04b Merge branch 'master' of https://github.com/majestrate/llarp + gcc 7.2 fixes 2018-08-06 12:02:00 +00:00
Jeff Becker
0d2bce2089 fix up win32 specific parts 2018-08-03 09:30:34 +10:00
Ryan Tharp
52bbf890ef move hook out of dnsd into daemon, made hook use timer, decode_answer has beginning SOA parsing support, getDNSstring() refactor 2018-08-02 05:51:49 -07:00
despair86
bdc54835c2 initial windows server port. Requires Windows 2000 Server or later.
- updated CMake build script
- builds with Microsoft C++ 19.1x. such builds require Windows 8.1 or later
  unless you have the .NET Server 2003-toolset (v141_xp)
- windows port requires a C++17 compiler since cpp17::filesystem is POSIX-only
- HAVE_CXX17_FILESYSTEM manual toggle in CMake. You must manually specify where
  std::[experimental::]filesystem is defined in LDFLAGS or CMAKE_x_LINKER_FLAGS.
- IPv6 support can be added at any time, and the windows sdk still has that
  inline getaddrinfo(3) if it can't find a suitable IPv6 stack.
- inline code for mingw-w64: there's a few bits and pieces still missing simply because
  mingw-w64 derives its windows sdk from wine and reactos, and then writing all the newer
  stuff into it by hand straight from the MSDN manpages.
- misc. C++11 stuff (nullptr and friends)
- Internal file handling code takes UTF-8 or plain 8-bit text, NTFS is UTF-16, so
  std::filesystem::path::c_str() is wchar_t. That's no good unless you first
  call std::filesystem::path::string().
- implemented getifaddrs(3) and if_nametoindex(3) on top of GetAdapters[Info|Addresses](2).
- updated readme with new info

BONUS: may implement Solaris/illumos IOCP someday...

-despair86
2018-08-01 23:41:02 -05:00
Ryan Tharp
de56a32069 another DNS clean up pass 2018-08-01 02:04:40 -07:00
Ryan Tharp
0b32bad7b9 Merge branch 'master' of https://github.com/majestrate/llarp 2018-08-01 02:29:16 +00:00
Jeff Becker
d011fb550e have logic and netio run in same thread for now 2018-07-30 08:20:31 +10:00
Ryan Tharp
05e34e7b2f hook to get dnsd_context it was called from 2018-07-27 20:07:47 -07:00
Jeff Becker
48cfdab63c get rid of wizard and autogenerate configs if not present with sane defaults 2018-07-27 10:21:57 +10:00
Ryan Tharp
604d1ade0e make upstream dns server configurable, handle -c/o params 2018-07-26 03:53:43 -07:00
Ryan Tharp
bd229be656 handleBaseCmdLineArgs() refactor 2018-07-26 03:52:23 -07:00
despair86
bbe0634edc this should get things going on UNIX :D 2018-07-25 20:00:15 -05:00
Jeff Becker
17ad12cd2c * don't heap allocate llarp_rc
* store rc into network database cache on connect
2018-07-25 11:24:37 +10:00
Jeff Becker
f9db26adee add mingw stl threading lib
run make format
2018-07-25 10:35:11 +10:00