Commit Graph

391 Commits

Author SHA1 Message Date
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
Jeff Becker
f222f002f4 Merge remote-tracking branch 'loki/master' 2018-07-25 08:52:02 +10:00
Jeff Becker
ff7facf3b6 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa 2018-07-24 13:40:34 +10:00
Jeff Becker
2cbb8a75c1 include algorithm 2018-07-24 13:35:36 +10:00
Ryan Tharp
14ad9cab11 Merge branch 'master' of https://github.com/majestrate/llarp 2018-07-24 01:43:32 +00:00
Ryan Tharp
b93ea8a087 fix intercept api, implement new intercept api, logging clean up 2018-07-23 16:56:26 -07:00
Ryan Tharp
a9e8584acd clang-format (finally :) 2018-07-21 06:24:47 -07:00
Ryan Tharp
eadca4b4fc "fixed" DNS multithreaded 2018-07-21 06:19:06 -07:00
Ryan Tharp
dd4b3fa9a1 continue llarpification (StackBuffer) and other refactor 2018-07-20 03:28:21 -07:00
Jeff Becker
02ca1796b2 all the files 2018-07-20 14:50:28 +10:00
Ryan Tharp
b4353e0a48 heap allocate llarp_udp_io 2018-07-18 14:09:01 -07:00
Jeff Becker
4b748a29f3 fix dns 2018-07-17 09:26:58 +10:00
Jeff Becker
f48acbc23e Merge remote-tracking branch 'ryan/libdns' into hidden-service-dht
also run make format
2018-07-17 07:26:16 +10:00
Ryan Tharp
077c22150f fix response bug, libev refactor 2018-07-16 05:48:04 -07:00
Jeff
fafcc2c2ef remove warnings 2018-07-16 11:31:47 +10:00
Jeff Becker
a68cfefaa6
make it compile and run make format 2018-07-13 09:36:51 -04:00
Ryan Tharp
e5c1caf5b3 dns client and server 2018-07-13 06:13:38 -07:00
Ryan Tharp
cfb69224b5 Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-07-13 07:54:27 +00:00
Ryan Tharp
e1a4c2f32c Merge branch 'hidden-service-dht' of https://github.com/majestrate/llarp 2018-07-13 07:25:20 +00:00
Ryan Tharp
ccc6300849 logLevel and read support 2018-07-11 04:04:45 -07:00
Ryan Tharp
86db6256b8 support -c and -o 2018-07-11 04:04:15 -07:00
Jeff Becker
dfa567e816
Merge remote-tracking branch 'sachaaaa/refactor' into hidden-service-dht 2018-07-09 10:24:44 -04:00
sachaaaaa
7442387307 renamed .c to .cpp 2018-07-09 14:34:28 +10:00
Ryan Tharp
37d9e774a3 clean up 2018-07-08 06:33:51 -07:00
Ryan Tharp
961f1a858b displayRC refactor, --locate show RC if found, --LogLevel support, make --locate lookups iterative, fix short option arguments 2018-07-08 06:29:29 -07:00
Ryan Tharp
00e56ecfd2 Merge branch 'hidden-service-dht' of https://github.com/majestrate/llarp 2018-07-08 11:41:44 +00:00
Jeff Becker
21a2ffdeaf
* refactor log functions
* add more stuff for hidden service dht
2018-07-05 11:44:06 -04:00
Ryan Tharp
6fb3634734 proper quit on DHT locate result 2018-07-03 04:26:54 -07:00
Jeff Becker
7d9bffdf9c
make format 2018-06-29 08:15:15 -04:00
Ryan Tharp
271e959d37 --localInfo, --locate refactor to wait for online before submitting the query 2018-06-28 04:34:36 -07:00
Ryan Tharp
ede0cb4772 Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-06-26 10:08:51 +00:00
Jeff Becker
da22f306e0
* add path building management
* fix bug in iwp that caused crash
2018-06-25 11:12:08 -04:00
Ryan Tharp
3a36f42e01 fix export help, started --locate support 2018-06-23 07:57:36 -07:00
Ryan Tharp
11036bf5fe generate an encryption keypair now and other function renames 2018-06-21 05:54:43 -07:00
Ryan Tharp
15eab47216 finish implementing --export 2018-06-21 04:15:28 -07:00
Ryan Tharp
58bf5b1e41 modernize, implement --list and --import, start on --export 2018-06-19 02:48:29 -07:00
Jeff Becker
08c0318e82
initial path building stuff (broken) 2018-06-18 18:03:50 -04:00
Ryan Tharp
298cdceaae warning fix 2018-06-18 01:57:07 -07:00
Ryan Tharp
8ee38154e1 fix warning 2018-06-18 01:44:36 -07:00
Jeff Becker
22d4d5b3d0
make rcutil build 2018-06-14 15:28:27 -04:00
Jeff Becker
a8ab66f4f8
refactor to use AlignedBuffer for public key, shared secret, nonce, secret key etc 2018-06-12 07:57:14 -04:00
Jeff Becker
ec53cab169
more onion routing stuff 2018-06-10 10:05:48 -04:00
Jeff Becker
a0f1d548f8
more shadow stuff 2018-06-06 17:23:57 -04:00
Jeff Becker
fc069e3810
add shadow plugin 2018-06-06 08:59:15 -04:00
Jeff Becker
e12bd9442f
expose multi process/single process option 2018-06-06 08:49:46 -04:00
Jeff Becker
e58bd10b23
add python ffi example wrapper code 2018-05-27 15:13:25 -04:00
Jeff Becker
3f21cc5865
make c api for main 2018-05-27 14:03:10 -04:00
Jeff Becker
4a3a0fc556
make an application context to simplify the main function 2018-05-27 13:44:01 -04:00
Jeff Becker
956973cb84
use configurable number of net io threads 2018-05-27 12:45:04 -04:00
Jeff Becker
bfaa837bce
refactor everything to use logger 2018-05-27 10:04:30 -04:00
Jeff Becker
93f0e03958
handle inter node messages
currently only handling LIM
2018-05-25 13:52:10 -04:00
Jeff Becker
c2ef57d9a2
Merge remote-tracking branch 'ryan/master' 2018-05-25 08:27:54 -04:00
Ryan Tharp
5a01bf4d7a initial default modes better, initialize crypto before use 2018-05-22 23:55:00 +00:00
Ryan Tharp
b615a9acaa merge changes 2018-05-22 23:17:11 +00:00
Jeff Becker
d8631bb2b5
fix leaks 2018-05-22 15:19:06 -04:00
Jeff Becker
71c34231b2
Merge remote-tracking branch 'ryan/master' 2018-05-22 14:41:38 -04:00
Jeff Becker
bc9e32d690
clang format and lots of stupid bug fixes 2018-05-22 11:54:19 -04:00
Ryan Tharp
d2e9551165 remove old main contents 2018-05-21 12:56:58 +00:00
Ryan Tharp
e04410a2a7 rcutil main 2018-05-21 12:51:10 +00:00
Jeff Becker
191cc30026
correction 2018-05-20 14:58:26 -04:00
Jeff Becker
cc97da29d4
named threadpool 2018-05-20 14:56:34 -04:00
Jeff Becker
6cc469775f
implement rc signing 2018-05-20 13:45:47 -04:00
Jeff Becker
0f6c0d8a56
start fixing up main 2018-05-20 12:15:16 -04:00
Jeff Becker
14d2de8edb
add initial iwp async crypto for intro 2018-05-18 16:08:57 -04:00
Jeff Becker
4939c7a5e3
fix threading and stopping 2018-05-18 14:27:13 -04:00
Jeff Becker
e695906c0c
make timer work 2018-05-18 13:50:21 -04:00
Jeff Becker
4959067af2
it binds 2018-05-18 09:17:58 -04:00
Jeff Becker
91a9108300
refactor 2018-05-16 14:13:18 -04:00
Jeff Becker
c0ff64868d
more meat 2018-05-16 12:41:20 -04:00
Jeff Becker
7b46e44859
more 2018-05-16 11:49:16 -04:00
Jeff Becker
f7e52a1878
more 2018-05-16 11:30:05 -04:00
Jeff Becker
e4005102ba
cleanup 2018-05-16 10:09:02 -04:00
Jeff Becker
63150549fc
start moving to cmake 2018-05-16 09:56:51 -04:00
Jeff Becker
76d885d39e
more 2018-05-10 19:32:46 -04:00
Jeff Becker
4cc5059cbe
format 2018-04-30 14:18:34 -04:00
Jeff Becker
8aa898aef8
more 2018-04-30 14:18:18 -04:00
Jeff Becker
a5611e2206
format 2018-04-30 12:14:29 -04:00
Jeff Becker
8181670bf3
format 2018-04-30 12:14:20 -04:00
Jeff Becker
09be72b5b6
clang format 2018-04-05 10:43:16 -04:00
Jeff Becker
2687d9aeee
more 2018-04-05 10:23:14 -04:00
Jeff Becker
dcc5e6e348
more 2018-04-04 11:19:11 -04:00
Jeff Becker
1fdfdc0244
more 2018-02-01 12:06:49 -05:00
Jeff Becker
ae76b6b376
google format 2018-02-01 08:21:00 -05:00
Jeff Becker
de3ddbb93e
clang-format 2018-01-29 09:27:24 -05:00
Jeff Becker
f50a49b7cb
progress (does not compile) 2018-01-26 20:18:10 -05:00
Jeff Becker
485e780552
sarp -> llarp 2018-01-25 11:24:33 -05:00
Jeff Becker
045a692522
more 2018-01-25 11:11:45 -05:00
Jeff Becker
74112dd6f3
more 2018-01-08 08:49:05 -05:00
Jon Titor
1e86edd321
more 2017-10-03 15:14:46 -04:00
Jon Titor
781637bbf4
more boilerplate 2017-09-28 13:02:05 -04:00