Commit Graph

421 Commits

Author SHA1 Message Date
Michael
ea19093a20
Remove const byte* conversion operators from llarp::AlignedBuffer 2019-01-02 01:04:04 +00:00
Michael
1410d0a0cf
Remove byte* conversion operators from llarp::AlignedBuffer 2019-01-02 01:04:03 +00:00
Michael
58364a01c8
Remove array conversion operators from llarp::AlignedBuffer 2019-01-02 01:04:01 +00:00
Michael
334161c9bb
Remove data() conversions from llarp::AlignedBuffer 2019-01-02 01:03:53 +00:00
Jeff Becker
0ff214f43f
fixes 2018-12-29 10:44:25 -05:00
Jeff Becker
ec57c72e08
fix testnet 2018-12-27 13:27:43 -05:00
Jeff
d626b26b30
Merge pull request #184 from loki-project/staging
merge Staging into master
2018-12-27 13:05:28 -05:00
Jeff Becker
1b59cc491d
less allocations in message parsing and keep exit paths alive with activity 2018-12-27 09:32:37 -05:00
Jeff Becker
49c898ed92
Merge remote-tracking branch 'origin/master' into staging 2018-12-26 11:27:11 -05:00
Jeff
74448d8ef4 make it compile on osx 2018-12-24 16:10:35 -05:00
Jeff Becker
21d1998a38
add graceful stop for path builders and friends 2018-12-24 11:10:56 -05:00
Jeff Becker
e835c5f69a
add graceful stop for path builders and friends 2018-12-24 11:09:05 -05:00
Jeff Becker
3a8818980f
make path length configurable on compile time 2018-12-21 15:25:41 -05:00
Jeff Becker
8c8172aeb1
Merge remote-tracking branch 'origin/master' into dev 2018-12-20 12:56:08 -05:00
Jeff Becker
3e37165749
Merge remote-tracking branch 'origin/master' 2018-12-20 12:23:01 -05:00
Jeff Becker
e7f5eeff51
use fewer allocations 2018-12-20 11:49:05 -05:00
Michael
037cb87523
Convert llarp::AlignedBuffer to be backed by std::array 2018-12-20 16:16:18 +00:00
Jeff Becker
8e6046ff1c
order downstream packets 2018-12-20 07:41:39 -05:00
Jeff Becker
46bee291c2
order downstream packets 2018-12-20 07:41:17 -05:00
Jeff Becker
6fc42dc7ad
fixes 2018-12-19 12:48:29 -05:00
Michael
4257b62e88
Add .cpp files for all .hpp files 2018-12-15 16:21:52 +00: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
Jeff Becker
e787165da9
expire old snode sessions 2018-12-13 07:27:14 -05:00
Jeff Becker
09e01adf32
flush snode traffic queues 2018-12-12 13:37:03 -05:00
Michael
85dde7b6b0
Move remaining include/llarp headers to llarp/ 2018-12-12 02:53:02 +00:00
Michael
e887b4e9c7
Move service* to llarp/ 2018-12-12 02:53:01 +00:00
Michael
5aa7f49470
Move routing* to llarp/ 2018-12-12 02:53:01 +00:00
Michael
7a52638add
Move handlers* to llarp/ 2018-12-12 02:53:01 +00:00
Michael
fddc8734d2
Move dht* to llarp/ 2018-12-12 02:53:01 +00:00
Jeff
f2c8b204c2
Merge pull request #129 from majestrate/dev
update introset when paths are dead
2018-12-11 10:54:59 -05:00
Jeff Becker
30a6a6bac6
always unset updatingIntroSet on response 2018-12-11 10:51:21 -05:00
Jeff Becker
d3348e8721
update introset if we have no good paths 2018-12-11 10:24:52 -05:00
Michael
7be452092c
Convert llarp_crypto to be a true C++ class 2018-12-11 00:53:55 +00:00
Michael
6358b25db0
Convert llarp_nodedb to be a true C++ class 2018-12-10 23:31:39 +00:00
Michael
f0fce5b68a
Convert llarp_router to be a true C++ class 2018-12-10 20:15:35 +00:00
Jeff Becker
fad734a5ce
strict types for pubkey, secretkey and routerid 2018-12-10 12:22:59 -05:00
Michael
30e9dca2e5
Convert llarp_logic to be a C++ class 2018-12-10 14:15:11 +00:00
Jeff Becker
1d1bde2e88
add dnslib 2018-12-03 17:22:59 -05:00
Jeff Becker
622ed8d12e
fix crash on premature close of event loop (also make format) 2018-12-02 13:07:07 -05:00
Jeff Becker
82af91213a
build one 2018-12-02 10:26:26 -05:00
Jeff Becker
7bc3d94895
try fixing rdns for local interace's address 2018-11-30 09:14:30 -05:00
Jeff Becker
11372c9544
Merge branch 'dev' into snode-endpoint 2018-11-29 09:34:19 -05:00
Jeff Becker
e11e83c397
fix pathbuilder 2018-11-29 09:18:53 -05:00
Jeff Becker
7de2ce72ad
wire up snode to dns (maybe) 2018-11-29 09:01:13 -05:00
Jeff Becker
85f9f46362
snode stubs (initial) 2018-11-29 08:12:35 -05:00
Jeff Becker
e3e337b96f
Merge branch 'master' into dev 2018-11-26 17:53:42 -05:00
Jeff Becker
7e4d74cbfc
add initial jni stuff for lokinet android. i fucking hate android so god damn much. 2018-11-26 17:46:22 -05:00
Jeff
5351ea5e22
Merge pull request #83 from majestrate/master
better config settings for defaults
2018-11-26 08:41:28 -05:00
Jeff Becker
7e3038fc26
better config settings for defaults 2018-11-26 08:39:04 -05:00
Jeff Becker
62533dda1d
better config settings for defaults 2018-11-26 08:29:45 -05:00
Jeff Becker
a81b88cc93
Merge remote-tracking branch 'origin/master' into dev 2018-11-25 11:59:47 -05:00
Jeff
a33f334bc2 better exit path logic 2018-11-25 11:58:27 -05:00
Jeff Becker
83c1488dd6
Merge remote-tracking branch 'origin/master' into dev 2018-11-25 09:37:16 -05:00
Jeff
736b313c4c fix previous commit 2018-11-25 09:35:52 -05:00
Jeff Becker
f2a1539d9f
Merge remote-tracking branch 'origin/master' into dev 2018-11-25 09:34:12 -05:00
Jeff
05652af7a4 tick exit 2018-11-25 09:32:18 -05:00
Jeff Becker
c1e494c2c4
have llarp_ev_* use llarp_buffer_t 2018-11-23 09:37:26 -05:00
Jeff Becker
5d0a9d7dc7
make format 2018-11-22 10:53:11 -05:00
Jeff Becker
0ac6deff00
logging, fix hidden services 2018-11-22 10:52:04 -05:00
Jeff Becker
12a4022a56
make testnet compile 2018-11-22 09:29:10 -05:00
Jeff Becker
a202bc58a8
use correct path roles 2018-11-21 09:30:14 -05:00
Jeff Becker
130307bc94
build paths with correct role 2018-11-21 09:22:45 -05:00
Jeff Becker
b543d6243d
Merge branch 'master' into dev 2018-11-20 07:42:17 -05:00
Jeff Becker
a8ec8a4215
Merge remote-tracking branch 'origin/master' 2018-11-20 07:41:18 -05:00
Michael
0b2ebc83e0
De-C-ify several .h headers 2018-11-19 22:45:37 +00:00
Jeff Becker
5357b4b69f
make clang happy, disable netns by default (for now) 2018-11-19 08:39:35 -05:00
Jeff Becker
d37daf7996
Merge branch 'master' into dev 2018-11-19 06:57:29 -05:00
Jeff Becker
7214f242e0
rip out old threadpool code 2018-11-19 06:56:40 -05:00
Jeff Becker
5dbe41608f
more exit stuff 2018-11-14 13:02:27 -05:00
Jeff Becker
f40e4c0c84
more exit stuff 2018-11-14 07:23:08 -05:00
Jeff Becker
09945dce62
initial exit/service node comm code with some unit tests (incomplete) 2018-11-12 11:43:40 -05:00
Jeff Becker
a83e21c464
add upstream dns to default hidden service 2018-11-11 08:22:02 -05:00
Jeff Becker
fb0e6c3d9c
make dns configurable on runtime 2018-11-11 08:14:19 -05:00
Jeff Becker
38a92cb1a8
fixes for testnet 2018-11-08 10:15:02 -05:00
Jeff Becker
7090a012f3
Merge remote-tracking branch 'micheal/wextra' into dev 2018-11-07 10:57:34 -05:00
Michael Thorpe
33bfaf7ecd
Enable -Wextra
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
2018-11-07 15:31:13 +00:00
Jeff Becker
b501913f85
make android build work with gradle 2018-11-06 09:27:25 -05:00
Jeff Becker
7c3f80e84b
Merge remote-tracking branch 'ryan/master' 2018-11-05 06:20:56 -05:00
Michael Thorpe
4f794277bc
Fix compile issue in endpoint.cpp 2018-11-03 20:17:28 +00:00
Jeff
1f7e0d79e6 make Endpoint::HasPathToService behavior correct 2018-11-03 11:27:52 -04:00
Ryan Tharp
5d90cbe895 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-11-03 13:43:21 +00:00
Jeff
50f37d8ede don't use endpoint's paths 2018-11-03 09:35:54 -04:00
Ryan Tharp
67390de0c2 merge 2018-11-03 06:19:18 -07:00
Jeff
4b92661f5d * fix up kqueue tcp connection tracking so it works on mac os
* match changes in epoll for kqueue changes
* additional checks in libabyss
2018-11-02 08:35:20 -04:00
Jeff Becker
dbd2c41909
use event loop for time 2018-10-29 12:48:36 -04:00
Jeff
8c591ceb96 use default endpoint 2018-10-23 17:28:01 -04:00
Jeff
f35f34ede4 check for address 2018-10-23 14:18:00 -04:00
Jeff
c3989cbcf4 make dns work correctly with rdns, tired of waiting just make it fucking work. 2018-10-23 14:00:55 -04:00
Jeff
5ec9b651df ony publish to near router 2018-10-23 13:15:22 -04:00
Jeff
78448174f5 don't propagate introset too far 2018-10-23 13:04:35 -04:00
Jeff Becker
4411d85040
fix headers 2018-10-23 08:40:34 -04:00
Jeff Becker
c262f8b5e3
bundle relevent libsodium parts 2018-10-23 07:29:37 -04:00
Jeff Becker
cc106ed37b
fix dht bug, probably, re-enable loopback testnet functionality 2018-10-21 10:19:49 -04:00
Ryan Tharp
db64547ab3 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-19 12:33:13 +00:00
Jeff
cc3908f025 more changes 2018-10-19 07:34:27 -04:00
Ryan Tharp
0d9f42d87f stop iterator if visit returns false, fix funtion name typo 2018-10-18 05:14:26 -07:00
Jeff Becker
e6a8edffbf
call hook 2018-10-16 11:57:17 -04:00
Jeff Becker
7960752430
fix crash 2018-10-16 07:14:41 -04:00
Jeff
1da0f9f6f5 path randomization for lookups on failure 2018-10-15 17:20:05 -04:00
Jeff Becker
f72a954029
log endpoint when requesting introset 2018-10-15 11:43:41 -04:00
Jeff Becker
acaeb26f45
shift intro if expired before building next message 2018-10-15 09:45:42 -04:00
Jeff Becker
252b2ee3fb
move function into source file out of header and add operator overloading for == and != on introset 2018-10-11 07:41:10 -04:00
Jeff
0023c15d0f fix introset expiration 2018-10-10 17:31:03 -04:00
cathugger
4971fae171 uint32_t byte ordering type safety 2018-10-10 15:16:10 +00:00
Jeff Becker
a7f8da4cbc
fix double free 2018-10-09 08:10:20 -04:00
Jeff
bb3bed11dc try better handover logic again 2018-10-08 17:24:00 -04:00
Jeff
07871827d0 swap intro 2018-10-08 16:41:50 -04:00
Jeff
608768628a don't rebuild 2018-10-08 16:05:05 -04:00
Jeff
78b82f9a5e try not killing paths 2018-10-08 15:57:30 -04:00
Jeff
a1fd9a0f93 don't publish every build 2018-10-06 12:09:37 -04:00
Jeff
78e601807d fix 2018-10-06 12:04:46 -04:00
Jeff
9a60c08810 only publish when we have at least 3 established paths 2018-10-06 12:03:54 -04:00
Jeff
e5208b65cc mark session active 2018-10-06 11:41:24 -04:00
Jeff Becker
832e1849b2
remove log and swap intros 2018-10-04 14:15:22 -04:00
Jeff Becker
98df3b09f2
only use good routers 2018-10-04 13:51:45 -04:00
Jeff Becker
746e95994e
stricter profiling and better handover 2018-10-04 12:48:26 -04:00
Jeff Becker
b724cc54fe
Merge remote-tracking branch 'ryan/master' 2018-10-04 09:04:57 -04:00
Jeff Becker
f19f78b573
try better handover logic 2018-10-04 09:03:48 -04:00
Ryan Tharp
8f32f357c2 hasEndpoints(), mapAddressAll_context(), iterate(), MappAddressAllIter() 2018-10-03 03:44:58 -07:00
Jeff
acc03fcad7 add default hidden service endpoint for clients 2018-10-02 13:35:51 -04:00
Jeff
b7eea47336 fall through 2018-10-02 11:41:40 -04:00
Jeff
77b2903bda logging and add DST awareness to timestamps 2018-10-02 11:29:37 -04:00
Jeff
f3d446dafb handover logic fix, remove and add logging 2018-10-02 11:00:34 -04:00
Jeff Becker
0f7c7c871f
reduce log levels and don't establish outbound send context for previously made inbound sessions 2018-10-01 14:10:25 -04:00
Jeff Becker
23cff0bee3
try fixing all that tun shit, YOLO 2018-10-01 13:16:15 -04:00
Jeff Becker
9e8563a884
cache convo tag and drop traffic 2018-10-01 11:45:55 -04:00
Jeff Becker
1eef5387b6
update introset on message drop 2018-10-01 10:31:54 -04:00
Jeff Becker
681e669fd8
try better publish logic and timeouts for requests 2018-10-01 10:18:17 -04:00
Jeff Becker
36c927fc79
premptively build path to selected intro's router every time we don't have it if we get an introset update, on the outbound context 2018-09-28 11:46:47 -04:00
Jeff Becker
8878e5c4d1
redundancy with outbound contexts
have multiple outbound contexts and send on the one that is alive
2018-09-28 08:22:50 -04:00
Jeff Becker
869b758365
more 2018-09-27 13:29:26 -04:00
Jeff Becker
fa5389cb05
docstrings and manual rebuild if the path expires soon 2018-09-27 12:15:40 -04:00
Jeff Becker
724a093da7
syntax 2018-09-27 07:09:00 -04:00
Jeff Becker
17a8ac13ad
fix logic 2018-09-27 07:07:20 -04:00
Jeff Becker
d71882259e
try spacing path building out more wide in time so that intros don't die in the same small interval 2018-09-27 06:51:30 -04:00
Jeff Becker
9a062f79fb
use parent endpoint paths when we can more 2018-09-26 10:06:48 -04:00
Jeff Becker
b40dd30c7a
linear backoff for path building to lessen strain on the network 2018-09-26 09:04:25 -04:00
Jeff Becker
7b0860aec0
Merge remote-tracking branch 'ryan/master' 2018-09-26 07:22:27 -04:00
Jeff Becker
dc47a0630b
try using parent endpoint's pathset if outbound context does not have a path to a router 2018-09-26 07:16:54 -04:00
Jeff Becker
c9bfe640b7
increment sequence number so we don't spam new intro frames 2018-09-26 06:52:57 -04:00
Ryan Tharp
89d41dd365
Merge branch 'master' into master 2018-09-24 13:57:40 -07:00
Jeff Becker
b273676a63
more logic for dead sessions to prevent segfault 2018-09-24 15:50:52 -04:00
Jeff Becker
16508a99db
tweak timeouts more 2018-09-24 13:33:54 -04:00
Jeff Becker
2d18cfcdd7
tweak timeout 2018-09-24 13:14:05 -04:00
Jeff Becker
d298e4f124
use intros only if they don't expire soon 2018-09-24 13:13:29 -04:00
Jeff Becker
5dfaeebb16
mark sessions dead/inactive 2018-09-24 11:52:25 -04:00
Jeff Becker
9a20daa1ce
add send timeouts 2018-09-24 11:34:56 -04:00
Jeff Becker
983c72f032
use 6 paths by default 2018-09-24 10:46:43 -04:00
Jeff Becker
3af93954f3
actually publish via far router 2018-09-24 10:31:58 -04:00
Ryan Tharp
0e6d85f6c9 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-24 13:24:42 +00:00
Jeff Becker
79680a4f6b
try not killing paths if they get data
use correct mainloop
2018-09-24 08:56:07 -04:00
Jeff Becker
17d2aa1df1
track path data usage and don't kill paths when under heavy use 2018-09-24 07:36:47 -04:00
Jeff Becker
97bae70817
close sessions on link close not on destructor 2018-09-24 06:23:11 -04:00
Ryan Tharp
6590d502cd get first tun interface wiring 2018-09-22 03:23:23 -07:00
Ryan Tharp
eef2dbaaf4 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-21 21:55:11 +00:00
Jeff Becker
4309ea3b97
better handling for introset propagation 2018-09-21 12:37:49 -04:00
Jeff Becker
a91f54cc8a
when we get an invalid introset in response call handler if exists with empty result instead of timing out 2018-09-21 12:17:26 -04:00
Ryan Tharp
ca7d3567a2 prefetch and expose it 2018-09-21 12:53:20 +00:00
Ryan Tharp
4df6202c9f Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-21 12:51:54 +00:00
Jeff Becker
7c90e13299
use another buffer for signing 2018-09-21 08:47:07 -04:00
Ryan Tharp
6cb073aa02 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-21 11:06:57 +00:00
Jeff
d9424ca04b fix macos compile 2018-09-20 10:32:31 -04:00
Ryan Tharp
18c1e7094f undo llvm 3.8 fixme, Jeff said he fixed it 2018-09-20 12:48:06 +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
aaeb035033 getRange() and getFirstTun() refactor start 2018-09-20 12:35:29 +00:00
Jeff Becker
5fb08c2139
check introset timestamps 2018-09-20 07:27:18 -04:00
Jeff Becker
8588aaa60b
dont use expired intros when shifting intros and lookup introsets via near router. 2018-09-20 07:08:12 -04:00
Ryan Tharp
2bdee7d528 expose mapAddress of first tunEndpoint 2018-09-20 03:05:42 -07:00
Jeff Becker
caf06fdf9e
try reinitializing buffer instead of doing resize 2018-09-19 13:30:18 -04:00
Jeff Becker
f7462910c2
more logging 2018-09-19 13:04:55 -04:00
Jeff Becker
5d5db06cbf
update handover logic a bit 2018-09-19 12:20:34 -04:00
Jeff Becker
8901123b34
try better handover 2018-09-19 09:59:14 -04:00
Ryan Tharp
8f5b172d33 merge? 2018-09-19 06:24:36 -07: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
be38ea70f0
try fixing CI builds 2018-09-19 07:50:18 -04:00
Jeff Becker
62bae2075b
proper shift 2018-09-18 20:17:35 -04:00
Jeff Becker
f110f3f3ad
tweak parameters for path build and obtain path if we have none 2018-09-18 19:56:26 -04:00
Jeff Becker
8e4b0a7963
fix reply logic 2018-09-18 18:54:04 -04:00
Jeff Becker
c31fd5fcde
make hidden services work again (probably) 2018-09-18 17:32:17 -04:00
Jeff Becker
5ebe3cc97c
limits and have clients use ephemeral identity 2018-09-18 16:56:22 -04:00
Jeff Becker
d83eb54739
only shift introset when we get a drop that matches current intro set 2018-09-18 16:15:18 -04:00
Jeff Becker
ebe30e81c9
try unscrewing things up 2018-09-18 13:48:26 -04:00
Jeff Becker
8d679b00a7
only log errors on sessions made with utp
only rebuild paths when introset changes router for outbound context
2018-09-18 11:05:56 -04:00
Jeff Becker
d1f1dd3c84
publish intro to multiple routers 2018-09-18 10:48:06 -04:00
Jeff Becker
2cf5e14ae9
lookup routers for intros 2018-09-18 10:04:46 -04:00
Jeff Becker
271acaf7e9
better intro shift logic, also actually shift intros 2018-09-18 09:38:26 -04:00
Jeff Becker
96716a39ef
send link layer keep alive and track bad intros 2018-09-18 09:02:52 -04:00
Jeff Becker
0c1e22650e
try calcuating tcp checksums right
try tracking convo tags correctly
2018-09-18 07:08:47 -04:00
Jeff Becker
8d6e7df94d
update convo tag and intro 2018-09-18 06:18:57 -04:00
Jeff Becker
1471e90fb5
intro handover 2018-09-17 20:32:11 -04:00
Jeff Becker
9ee7275a02
decrypt frames correctly and set return address 2018-09-17 20:18:33 -04:00
Jeff Becker
6dfed968ea
use correct parameter 2018-09-17 12:27:16 -04:00
Jeff Becker
bc3b411dbf
make it right 2018-09-17 12:22:11 -04:00
Jeff Becker
217f4a0d3f
use correct intro in tag tracking 2018-09-17 12:12:42 -04:00
Jeff Becker
9ffcf66e58
more checks less logging 2018-09-17 11:32:37 -04:00
Jeff Becker
edbd9197e5
update spec and fix copy constructor 2018-09-17 09:28:26 -04:00
Jeff Becker
f029b9508c
pick router closest in keyspace for lookups and publishing 2018-09-17 08:10:44 -04:00
Jeff Becker
c900e9d004
increment iterator 2018-09-17 07:45:35 -04:00
Jeff Becker
8114f63e70
use queues 2018-09-16 08:25:17 -04:00