Commit Graph

7052 Commits (2a76a3d0814b4eb81ffd341ee4e9ff260f5cbbb0)
 

Author SHA1 Message Date
Jeff Becker 2a76a3d081
treat ignored paths like established paths when dealing with expiration 3 years ago
Jeff Becker 23aa35b825
log when we ignore a path 3 years ago
Jeff Becker c6660dd6c1
add path aligntment timeout to send and connect timeouts on outbound context to reduce the chance of timing race conditon 3 years ago
Jeff Becker a8964a6d8a
add idempotent wake up for sending messages to the network and writing packets on interfaces 3 years ago
Jeff Becker 108b8e089e
HandleTimeout can touch iterators so do all handling of lookup timeouts outside of loop iteration 3 years ago
Jeff Becker 0f1e806155
don't kill outbound context after build or lookup fails 3 years ago
Jeff Becker 1aa2146b4a
for inbound sessions, keep them alive for the default session lifetime, for outbound sessions keep alive for 5 ping intervals 3 years ago
Jeff Becker 60cc47447f
increase default session lifetime to 5 minutes for mobile client related reasons
make the default inbound session lifetime be default session lifetime + 2 ping intervals
3 years ago
Jeff Becker a7b20b79c5
add relay order to error message 3 years ago
Jeff Becker a86152e03c
decay path build limiter per path builder every tick 3 years ago
Jeff Becker 34e31ba04f
only inform failure or success of introset lookups when all lookups have returned 3 years ago
Jeff Becker 220b8837da
delay setting sentIntro by the advertised latency of the remote intro instead of static value 3 years ago
Jeff Becker c5a86a49a3
defer ready to send state until after we send a handshake 3 years ago
Jeff Becker 40a189a9a3
log drop events more 3 years ago
Jeff Becker 00257567c2
dont call null handler
if we have no path to the remote router that's fine still use it just in case we have no other convotags
3 years ago
Jeff Becker 85cd1b6863
use inbound sessions we don't have paths to in GetBestConvoTagFor just so we can give the caller SOMETHING. 3 years ago
Jeff Becker b03d17bc8e
dont change send timeout for exits from tun handler as that screws with consistency in testing.
improve log messages, provide more info
3 years ago
Jeff Becker a94c100e7b
improve log messages about expiring convotags 3 years ago
Jeff Becker 42d75b934d
remove service nodes we can't look up from the nodedb as client 3 years ago
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
3 years ago
Jeff Becker 9a1a022d62
add relayOrder awareness to introset lookups.
* only propgate fail when relay order is non zero as zero relay order often fails
3 years ago
Jeff Becker 5074dd5f2b
re-enable multithreading on clients but not on service nodes 3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
Jeff Becker 691390edff
make log warning have a more accurate message when we have no path for a relay downstream message 3 years ago
Jeff Becker 97df84994e
make packet sending logic not attempt to align back to inbound sessions. 3 years ago
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
3 years ago
Jeff Becker 5e761235d6
improve log message clairity by printing the address not hex 3 years ago
Jeff Becker 4199f2f52b
fix an assert fail in gcc 11. 3 years ago
Jeff Becker 5849176f04
reduce path intro spread slices from 5 to 4.
parameterize path intro spread slices.
3 years ago
Jeff Becker 08d62e32c0
reduce path build timeout from 30s to 10s
this should help make path timeouts less insufferable.
3 years ago
Jeff Becker 9bb3711ca4
increase link layer buffer size
allows for higher amounts of traffic on the network to be pushed.
3 years ago
Jeff Becker b1d30f9803
updates to lokinetmon
* add introset inspector mode
* add required parts for introset insecptor mode to rpc introspection
3 years ago
Jeff 8da05d08cc
Merge pull request #1660 from majestrate/win32-cmake-fixes-2021-06-04
windows cmake upgrades
3 years ago
Jeff 835ba296b0
Merge pull request #1659 from majestrate/oxend-connection-reporting-2021-06-04
initial lokinet router testing
3 years ago
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
3 years ago
Jeff Becker 046ab3d453
export functions in liblokinet for win32 dll 3 years ago
Jeff Becker 37a9bd768e
fix linking on win32 for lokinet.dll
only apply static link flags for executables
3 years ago
Jeff Becker d88ed4eee0
make windows happy by making some constexprs non static and such as windows does not LTO 3 years ago
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.
3 years ago
Jeff Becker 37ab78b654
dont run router testing if we are decommissioned.
properly name function to be called LooksDecommissioned because that is different than deregistered
3 years ago
Jeff Becker 07d18b30c0
typofix 3 years ago
Jason Rhinelander 0fa39c89dc
Make format 3 years ago
Jason Rhinelander 7f41c6092c
Fix failing pks not being populated 3 years ago
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.
3 years ago
Jason Rhinelander cd6962f538
Avoid copying & keep router alive by moving shared_ptr 3 years ago
Jason Rhinelander 7c964800ba
Fix unintentional whitelist/greylist copying 3 years ago