Jeff
a51576d1ea
make destructor virtual
2 years ago
Jeff
a082ba4e77
add file auth for tokens
2 years ago
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
2 years ago
Jeff
af041cfee4
try not to spam builds
2 years ago
Jeff
6bb438ca33
make comments with colins in them not have them in it
3 years ago
Jason Rhinelander
d02558350a
Crank oxen-mq to (1.2.)11; switch to oxen-encoding
...
- Update oxen-mq submodule to latest stable
- Add oxen-encoding submodule
- Convert all oxenmq encoding usage to oxenc
- Modernize cmake handling of oxenmq/oxenc
3 years ago
Jeff Becker
ba57ab04aa
wire up liblokient_udp_*
3 years ago
Jeff
205584acdf
redo systemd status line to include number of paths and endpoint count. optionally warn about low path success.
3 years ago
majestrate
9e4bd2cd44
Merge pull request #1801 from majestrate/introset-publish-spam-fix-2021-11-16
...
prevent introset publish spam
3 years ago
Jeff
776e9227fd
make serivce::Endpoint::EnsurePathToService have a default timeout as a named constant.
3 years ago
Jeff Becker
172c2dec45
create new constexpr for the staleness window for introsets and use it in publishing introsets and intro selection
3 years ago
Jason Rhinelander
189c4bfba4
Also consider last publish; eliminate unwanted condition
...
We don't really carry about when the last regen was attempted, but
rather about when the last publish was attempted (or succeeded).
3 years ago
Jeff Becker
8ba03de44e
match timeouts in introset selection spread with logic for publishing
3 years ago
Jason Rhinelander
0fe7153f6e
Fix client latency bug; De-shared_ptr IHopHandler queues
...
- Replace m_FlushWakeup with a call to the router's god mode pump
method. m_FlushWakeup apparently isn't enough to get things out, and
we can end up with incoming packets that don't get properly handled
right away without it.
- The shared_ptr around the ihophandler queues isn't needed and is just
adding a layer of obfuscation; instead just exchange the list directly
into the lambda.
- Use std::exchange rather than swap
- A couple other small code cleanups.
3 years ago
Jason Rhinelander
70553c7627
Remove hopeless flush
...
The TriggerPump just below this is *already* going to trigger a flush,
so the extra flush call here can't do anything useful (and in
particular, it won't clear up the queue *immediately*, which is what
this code looks like it was aimed at doing).
3 years ago
Jason Rhinelander
fbc5cb0a6d
Add another missing pump trigger
3 years ago
Jason Rhinelander
bce7e2e56d
Pump outbound context
3 years ago
Jason Rhinelander
846577a0aa
Add missing inbound traffic pump trigger
3 years ago
Jason Rhinelander
8cdde74020
Simplify
3 years ago
Jason Rhinelander
f9395cd5dd
Cleanup: avoid pointless copy of `this` pointer
3 years ago
Jason Rhinelander
9844d358e6
Fix packet delay creep
...
- Make the main PumpLL also pump hidden services, rather than using
separate wakers in each TunEndpoint. It seems there is some
interactions that just one or the other is not enough.
- Eliminate TunEndpoint send queue -- it isn't needed as we can just
send directly.
3 years ago
Jason Rhinelander
78cc466bf2
Rename PumpLL -> TriggerPump
...
And rename the actual pump implementation back to PumpLL.
3 years ago
Jason Rhinelander
031ea7aa37
Get rid of external event loop direct wakeups
...
If something needs to wake up the event loop it should be using an
async, as we are now with PumpLL(); but we had various code triggering a
wakeup, expecting that PumpLL gets called on every wakeup, which isn't
true anymore.
3 years ago
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
3 years ago
Jason Rhinelander
9dd604820f
Unleak exit mode DNS via unbound DNS trampoline on (macOS)
...
When we enable/disable exit mode on this restarts the unbound DNS
responder with the DNS trampoline (or restores upstream, when disabling)
to properly route DNS requests through the tunnel (because libunbound's
direct requests don't get tunneled because unbound is inside the network
extension).
3 years ago
Jeff Becker
e7ac0f3902
expunge outbound contexts that have not gotten inbound traffic for a long while
3 years ago
Jeff Becker
abd6e4c558
use weak_ptr instead of bare pointer to prevent use after free
3 years ago
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.
3 years ago
Jeff Becker
67f8a7116f
if we get a discard message from the pivot discard the outbound context if the remote intro is also expired
3 years ago
Jeff Becker
0900ab88d1
publish introsets on nearest routers
...
fetch introset from random routers
3 years ago
Jeff Becker
ee5723ecdc
add upperbound to number of endpoints used in lns lookups
3 years ago
Jeff Becker
3393b5a5a7
make it so lookups dont time out
3 years ago
Jeff Becker
b5efb8c604
rename local variable to be clear about meaning, add comment
3 years ago
Jeff Becker
1a0e6a7ac1
remove redundant check as ReadyToSend also checks IntroSent()
3 years ago
Jeff Becker
d45f0f8951
value initialize introduction so that expiresAt defaults to zero
3 years ago
Jeff Becker
9f353238af
ReadyToSend also should include checking we have a path to the remote
3 years ago
Jeff Becker
4b11858bb0
make clang compile, remove unused variable
3 years ago
Jeff Becker
963250c0ef
format
3 years ago
Jeff Becker
00d4942d85
more
3 years ago
Thomas Winget
7f9a60066b
make sure we have a path to the next introduction we want to use
3 years ago
Jeff Becker
d9cae4a6c6
in outbound context, ShouldBuildMore intro.ExpiresSoon delta is too big and has no overlap, change it so that
3 years ago
Jeff Becker
e48feb8b9a
kill outbound context when we remove our convotag
3 years ago
Jeff Becker
71d17dc2c9
format and logging
...
ignore outbound session auth messages
3 years ago
Jeff Becker
b70ecade2b
correct the logic for inbound convos
...
send back traffic on the correct path
3 years ago
Jeff Becker
ce7643a3aa
remove case that spams build on an outbound context
3 years ago
Jeff Becker
c97fe4aa96
convert magic number to where it came from
3 years ago
Jeff Becker
3594d3e211
spelling fix
3 years ago
Jeff Becker
f9e0c8f50c
add idempotent wakeup for flushing instead of the dumb queue checking
3 years ago
Jeff Becker
e2bdf8792b
typofix
3 years ago
Jeff Becker
5a713b0142
tweak timeouts to be a bit more sane
3 years ago