Commit Graph

289 Commits

Author SHA1 Message Date
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
Jeff Becker
4f691b8974
make tun write correct number of bytes
try doing correct ip checksum and for upper layers that need it too

supported right now are icmp, tcp, and udp. more will come later
probably.
2018-09-16 08:06:19 -04:00
Jeff Becker
f5b8d552e1
path peer profiling
propagate introsets better
2018-09-14 10:50:37 -04:00
Jeff Becker
354df88367
more ip endpoint fixes
spam dht with lookups less
2018-09-14 09:43:42 -04:00
Jeff Becker
76e87aa608
more debug logging
timed out paths are not expired
2018-09-13 09:07:00 -04:00
Jeff Becker
3af51cbe55
add path latency minimum checker
add min-latency option to hidden service config
2018-09-13 08:27:28 -04:00
Jeff Becker
832b24ba93
delete don't abort when building paths failed to key exchange
try making dht less talky

check timestamps on intros
2018-09-13 07:30:21 -04:00
Jeff Becker
b947e55616
fix leak on sign/encrypt fail 2018-09-12 19:21:59 -04:00
Jeff Becker
b56d25730e
improve send rate 2018-09-12 09:29:42 -04:00
Jeff Becker
6f4e998910
fix previous commit 2018-09-11 12:31:53 -04:00
Jeff Becker
3d424b57a7
client side endpoint improvements 2018-09-11 12:21:43 -04:00
Jeff Becker
ac2c14437f
god damnit 2018-09-11 12:04:00 -04:00
Jeff Becker
a9b259985e
add data discarded message in routing layer to indicate
a path no longer exists.
2018-09-11 11:28:36 -04:00
Jeff Becker
baf2e1fb3c
client improvements
for real do correct timestamp comparison for introsets
2018-09-11 09:21:35 -04:00
Jeff Becker
2993e834a0
fix ip stuff 2018-09-10 15:31:29 -04:00
Jeff Becker
2eca0005c1
fix up more stuff 2018-09-10 13:37:28 -04:00
Jeff Becker
c3a7f64344
expire introsets correctly and allow multiple tun if 2018-09-10 12:36:36 -04:00
Jeff Becker
b96887ddb2
various fixes and tweaks 2018-09-10 09:43:36 -04:00
Jeff Becker
1952ece99d
more logging 2018-09-10 07:08:09 -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
5228a81bae
more refactor
get rid of C api
2018-08-30 14:48:43 -04:00
Jeff Becker
b122fc59f8
refactor (not done) 2018-08-29 16:40:26 -04:00
Jeff Becker
d3eef5c8b7
more netns code 2018-08-26 08:51:22 -04:00
Ryan Tharp
8724ddd792 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-08-23 22:51:23 +00:00
Jeff
7af9ed0f70 Merge branch 'master' of ssh://github.com/loki-project/loki-network 2018-08-23 14:02:13 -04:00
Jeff
367258551b fix osx build 2018-08-23 14:02:02 -04:00
Jeff Becker
51029f0f2f
make loopback testnet work again 2018-08-23 10:07:53 -04:00
Jeff Becker
885fb3cd97
revert back to priority queue for codel 2018-08-23 08:26:31 -04:00
Jeff Becker
b77525b72d
persist on commit 2018-08-22 12:19:51 -04:00
Jeff Becker
b7039f6e5c
more tun stuff 2018-08-22 11:52:10 -04:00
Jeff Becker
4aebbda640
more tun stuff 2018-08-20 15:12:12 -04:00
Jeff Becker
4ab9f72415
backport for gcc 5 2018-08-18 11:34:06 -04:00