Commit Graph

4410 Commits

Author SHA1 Message Date
Jeff Becker
42d75b934d
remove service nodes we can't look up from the nodedb as client 2021-06-08 14:36:30 -04:00
Jeff Becker
8dd1358cc6
* tweak introset handover timeouts
* introset path haodver tweaks
* improve warn/error messages to convey more information
* dont block on queue insertion
* reset convotag on decrypt/verify fail
* add multiple ready hooks on outbound context
* lookup introsets from close routers on dht
* continue to tick dead sessions so they expire their paths
* introset spacing
* reduce lns lookup diversity requirement for speed
* add a function to send reset convotag message
* only have 1 outbound context at a time
2021-06-08 14:36:30 -04:00
Jeff Becker
9a1a022d62
add relayOrder awareness to introset lookups.
* only propgate fail when relay order is non zero as zero relay order often fails
2021-06-08 14:36:30 -04:00
Jeff Becker
5074dd5f2b
re-enable multithreading on clients but not on service nodes 2021-06-08 14:36:30 -04:00
Jeff Becker
d7a51e88f5
make router tick 250ms instead of 100ms to prevent excessive log spam
limit calls to decommissioned warning to every 30s to prevent excessive log spam
2021-06-08 14:36:30 -04:00
Jeff Becker
66f6103832
far stricter profiling algorithm
* include first hop in profiling
* decay stats faster
* make fail case for path build profiling far more sensative
2021-06-08 14:36:30 -04:00
Jeff Becker
23a82c493f
* don't include failed at when we are the pivot router as that case never happens.
* mark paths as ingored instead of expired when we stop a path builder
* only remove path builder when we have no established paths
2021-06-08 14:36:30 -04:00
Jeff Becker
503db46eca
path and intro selection fixups:
* include stricter router profiling checks in path::Builder hop slection algorithm
* make intro selection function nicer by returning a std::optional instead of a bool with an "out" variable
2021-06-08 14:36:30 -04:00
Jeff Becker
174e1b247b
fix latency tests.
* do FEC for latency tests so if we fail one test it doesn't kill the entire path
* ignore FEC'd responses on latency tests
* track latency history and report the mean latency instead of just the last sample
2021-06-08 14:36:30 -04:00
Jeff Becker
691390edff
make log warning have a more accurate message when we have no path for a relay downstream message 2021-06-08 14:36:29 -04:00
Jeff Becker
97df84994e
make packet sending logic not attempt to align back to inbound sessions. 2021-06-08 14:36:29 -04:00
Jeff Becker
4994208fbc
don't cache dns result if we have an address mapped.
we want to use dns to trigger a call to EnsurePathTo
2021-06-08 14:36:29 -04:00
Jeff Becker
5e761235d6
improve log message clairity by printing the address not hex 2021-06-08 14:36:29 -04:00
Jeff Becker
4199f2f52b
fix an assert fail in gcc 11. 2021-06-08 14:36:29 -04:00
Jeff Becker
5849176f04
reduce path intro spread slices from 5 to 4.
parameterize path intro spread slices.
2021-06-08 14:36:29 -04:00
Jeff Becker
08d62e32c0
reduce path build timeout from 30s to 10s
this should help make path timeouts less insufferable.
2021-06-08 14:36:29 -04:00
Jeff Becker
9bb3711ca4
increase link layer buffer size
allows for higher amounts of traffic on the network to be pushed.
2021-06-08 14:36:29 -04:00
Jeff Becker
b1d30f9803
updates to lokinetmon
* add introset inspector mode
* add required parts for introset insecptor mode to rpc introspection
2021-06-08 14:36:29 -04:00
Jeff
8da05d08cc
Merge pull request #1660 from majestrate/win32-cmake-fixes-2021-06-04
windows cmake upgrades
2021-06-08 14:12:41 -04:00
Jeff Becker
f3deabdb96
* get_failing does not need abstract router as paramter so we remove it
* add remove_node_from_failing to remove a node by pubkey from the failing set
* if a router is deregistered we remove it from the failing set so we don't retest it
* remove a router from the failing set if we get a test success
2021-06-08 10:47:27 -04:00
Jeff Becker
046ab3d453
export functions in liblokinet for win32 dll 2021-06-08 08:32:52 -04:00
Jeff Becker
d88ed4eee0
make windows happy by making some constexprs non static and such as windows does not LTO 2021-06-08 05:46:05 -04:00
Thomas Winget
d68d39a450 make outbound session if we do not have
currently creating an outbound session will cancel if we have any session
at all with the relay.  instead, only cancel if we have an outbound session
to that relay.  this is useful for reachability testing.
2021-06-07 18:31:57 -04:00
Jeff Becker
37ab78b654
dont run router testing if we are decommissioned.
properly name function to be called LooksDecommissioned because that is different than deregistered
2021-06-07 16:35:06 -04:00
Jeff Becker
07d18b30c0
typofix 2021-06-07 16:18:52 -04:00
Jason Rhinelander
0fa39c89dc
Make format 2021-06-07 16:16:18 -04:00
Jason Rhinelander
7f41c6092c
Fix failing pks not being populated 2021-06-07 16:16:18 -04:00
Jason Rhinelander
40ad286bf4
Don't pass last hash into UpdateServiceNodeList
It's there for polling, which we aren't doing anymore; we just got the
hash from oxend's push notification, so if it pass it in then we will
always get an "unchanged" result because we're telling oxend that we
already have the data for that hash updated.

This just drops the hash completely because we don't need it anymore.
2021-06-07 16:16:18 -04:00
Jason Rhinelander
cd6962f538
Avoid copying & keep router alive by moving shared_ptr 2021-06-07 16:16:18 -04:00
Jason Rhinelander
7c964800ba
Fix unintentional whitelist/greylist copying 2021-06-07 16:16:18 -04:00
Jason Rhinelander
4974ce6f98
Add warning when can't update whitelist 2021-06-07 16:16:18 -04:00
Jeff Becker
ef924aea39
gossip RC when we are not deregistered so we can come back when we are decommissioned 2021-06-07 16:15:17 -04:00
Jeff Becker
95537804cd
separate white/grey list for active/decommissioned nodes.
allow sessions to decommissioned nodes but not paths.
2021-06-07 10:57:33 -04:00
Jason Rhinelander
28ba0b7533
Add logging about testing success/fail 2021-06-07 10:00:36 -04:00
Jason Rhinelander
4630c5673a
Fix use after move 2021-06-07 10:00:36 -04:00
Jeff Becker
d40484deea
handle case where we already have an outbound session, inform caller about it 2021-06-07 10:00:02 -04:00
Jeff Becker
c23e121139
capture by value to appease clang 11 2021-06-07 08:44:47 -04:00
Jason Rhinelander
e332bbe3f3
Switch stl mt19937_64 to CSRNG 2021-06-07 08:41:35 -04:00
Jeff Becker
e8af36ee91
there were some unhandled edge cases in outbound_session_maker, specifically when we are not permitted to connect to a remoute but we got its rc we silently drop the error. 2021-06-07 08:41:35 -04:00
Jeff Becker
9ad90d029d
* use weak_ptr on core rpc
* use reachability testing code lifted storage server's code
2021-06-07 08:41:35 -04:00
Jeff Becker
b830eeb535
initial lokinet router testing:
* report via rpc to oxen core connection stats on success and failure
* connect to random service node by pubkey every 5 seconds for testing
2021-06-04 16:52:41 -04:00
Jeff Becker
f172db75c5
don't defer call to ready hook with timer call it right away because we are ready 2021-05-16 19:31:59 -04:00
Jeff Becker
432e7f2a5a
update introset if we get a discard message from a possibly expired intro 2021-05-16 16:27:48 -04:00
Jeff Becker
970ccfcd4e
send a keep alive to keep an idle session alive so it doesn't get removed 2021-05-16 05:59:39 -04:00
Jeff Becker
7c6bb9a24c
simplify loop and correct logic, we want to bail out of the loop on first match. 2021-05-15 15:27:28 -04:00
Jeff Becker
ae97b87111
exits don't rewrite ip addresses, fix this and add note 2021-05-15 15:27:28 -04:00
Jeff Becker
f1efcc29ea
mark inbound traffic as convotag active 2021-05-15 15:27:28 -04:00
Jeff
bd9db35975
Merge pull request #1643 from majestrate/win32-rpc-fixups-2021-05-13
win32 fixups
2021-05-13 14:42:19 -04:00
Jeff Becker
499bb38e6f
fix route poking via rpc:
* immediately poke routes when we are told to use an exit so that packets get pushed which makes an exit path happen
* fix up cmake oddity in nsis section
2021-05-13 07:30:53 -04:00
Jeff Becker
209bcc39dd
make liblokinet target work on nsis cpack 2021-05-13 06:40:17 -04:00