Jeff Becker
4508c59cd3
redo includes to be consistent
2023-01-20 13:26:22 -05:00
Jason Rhinelander
15443568db
Apply some lipstick to llarp_buffer_t
...
This class is cursed, but also broken under gcc-12. Apply some lipstick
to get it moving again (but we really need to refactor this because it
is a mess).
2022-09-19 20:25:51 -03:00
Jeff
9765eeee7e
handle edge case better
...
when our path is fine but the recipiant's path on the pivot router isn't we should pivot to another router
2022-04-17 21:22:53 -04:00
Jeff
af041cfee4
try not to spam builds
2022-04-01 10:32:34 -04:00
Jeff
1846c3e3d8
prevent bizare half open state. ( #1754 )
...
* attempt path timeout bullshittery fix
* make sure ServiceInfo always has its address set up
* do not copy intros in constuctor, ammend logging and
add assert
2021-10-12 17:37:01 -04:00
Jeff Becker
e7ac0f3902
expunge outbound contexts that have not gotten inbound traffic for a long while
2021-07-05 09:09:20 -04:00
Jeff Becker
abd6e4c558
use weak_ptr instead of bare pointer to prevent use after free
2021-06-25 05:08:31 -04:00
Jeff Becker
3ad59105ef
when an outbound context is "marked bad" we want to ignore any new paths.
...
before this commit when a new path was made when an outbound context marked bad lokinet would segfault.
2021-06-23 07:21:01 -04:00
Jeff Becker
67f8a7116f
if we get a discard message from the pivot discard the outbound context if the remote intro is also expired
2021-06-21 16:02:03 -04:00
Jeff Becker
3393b5a5a7
make it so lookups dont time out
2021-06-21 15:16:27 -04:00
Jeff Becker
b5efb8c604
rename local variable to be clear about meaning, add comment
2021-06-21 15:16:27 -04:00
Jeff Becker
1a0e6a7ac1
remove redundant check as ReadyToSend also checks IntroSent()
2021-06-21 15:16:27 -04:00
Jeff Becker
d45f0f8951
value initialize introduction so that expiresAt defaults to zero
2021-06-21 15:16:27 -04:00
Jeff Becker
9f353238af
ReadyToSend also should include checking we have a path to the remote
2021-06-21 15:16:27 -04:00
Jeff Becker
963250c0ef
format
2021-06-21 15:16:27 -04:00
Jeff Becker
00d4942d85
more
2021-06-21 15:16:26 -04:00
Thomas Winget
7f9a60066b
make sure we have a path to the next introduction we want to use
2021-06-21 15:16:26 -04:00
Jeff Becker
d9cae4a6c6
in outbound context, ShouldBuildMore intro.ExpiresSoon delta is too big and has no overlap, change it so that
2021-06-21 15:16:26 -04:00
Jeff Becker
e48feb8b9a
kill outbound context when we remove our convotag
2021-06-21 15:16:26 -04:00
Jeff Becker
ce7643a3aa
remove case that spams build on an outbound context
2021-06-09 09:36:08 -04:00
Jeff Becker
c97fe4aa96
convert magic number to where it came from
2021-06-08 18:07:54 -04:00
Jeff Becker
e2bdf8792b
typofix
2021-06-08 17:27:50 -04:00
Jeff Becker
c2722be81c
this fixes the shit wtf
2021-06-08 14:36:33 -04:00
Jeff Becker
0096bd4e35
account for path latency in introset lookups on outbound contexts
2021-06-08 14:36:32 -04:00
Jeff Becker
e4ed53224c
use weak_ptr on a path to reference its parent pathset instead of a bare pointer so crashes dont happen
2021-06-08 14:36:32 -04:00
Jeff Becker
c6660dd6c1
add path aligntment timeout to send and connect timeouts on outbound context to reduce the chance of timing race conditon
2021-06-08 14:36:32 -04:00
Jeff Becker
0f1e806155
don't kill outbound context after build or lookup fails
2021-06-08 14:36:32 -04:00
Jeff Becker
220b8837da
delay setting sentIntro by the advertised latency of the remote intro instead of static value
2021-06-08 14:36:31 -04:00
Jeff Becker
c5a86a49a3
defer ready to send state until after we send a handshake
2021-06-08 14:36:31 -04:00
Jeff Becker
40a189a9a3
log drop events more
2021-06-08 14:36:31 -04:00
Jeff Becker
a94c100e7b
improve log messages about expiring convotags
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
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 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
38cc130dc3
shift off bad intros when we get a discard message, this happens if the
...
other side's intro expires or the pivot restarts for whatever reason.
2021-05-10 09:01:46 -04:00
Jeff Becker
d3d929efa7
fixups in service endpoint
...
* increase publish introset timeout so that it does not time out on the network
* remove pedantic log warn
* make sure the path we are using for replying on inbound sessions is alive
* include convotag in log message so we know wtf is going on
* appease tom's autism, improve log message text
2021-05-06 16:34:24 -04:00
Jeff Becker
f9fe6f7e3b
consmetic fixes
...
* print names in lookup jobs instead of yyyyyy
* update syntax in construction of objects
2021-05-01 08:59:56 -04:00
Jeff Becker
b31a484bc9
fix up outbound session
...
* prevent introset lookup spam
* change return values to void becuase bool doesn't mean fucking shit at all
2021-05-01 08:52:41 -04:00
Jeff Becker
fedc56e3f1
initial commit for #1595
2021-04-19 07:02:46 -04:00
Jeff Becker
5b05d22bad
refactors
...
* add path sequence numbers on routing messages
* reduce log level in debug mode
* wire up loopback style sending to ourself
2021-04-19 06:59:06 -04:00
Jeff Becker
59c9e997f2
build paths faster and limit path builds at edge router instead of via a time counter for all edges
2021-04-19 06:59:05 -04:00
Jeff Becker
100a953a23
make the lokinet endpoint code work
...
still needs the quic sides to work
2021-04-19 06:58:37 -04:00
Jeff Becker
7098f46d60
rpc endpoint for triggering quic tunnel
2021-04-19 06:58:37 -04:00
Jeff Becker
9d483a12db
* add protocol type to snode traffic
...
* make path::PathSet::SendPacketToRemote know about protocol type
2021-04-19 06:58:35 -04:00
Jeff
cb2254ba46
Merge pull request #1573 from jagerman/more-code-refactors
...
More code refactors
2021-03-23 16:22:23 -04:00
Jeff Becker
1acea95ced
fix issue #1562
...
* use csrng for std::shuffle
2021-03-18 17:36:53 -04:00
Jason Rhinelander
0339bd941a
Convert protocol type to enum class
2021-03-10 11:16:55 -04:00