Commit Graph

4566 Commits (62d7192a5059626396d6f0aa6b65380fde79db69)

Author SHA1 Message Date
Jeff Becker c9b9ed91c2
make add/del blackhole default to empty implementation 3 years ago
Jeff Becker e25ae7192f
introduce add/del route via interface to route manager 3 years ago
Jeff Becker 64cd2990bc
remove old routing table maniuplation code 3 years ago
Jeff Becker 9791fd62a0
initial win32 port of route manager 3 years ago
Jeff Becker 0871862452
initial routing table refactor
* move routing table manipulation to vpn platform
* add initial linux implementation of vpn platform route manipulation
3 years ago
Jeff Becker 37dde7da05
format 3 years ago
Jason Rhinelander f39084bffa
Merge pull request #1714 from jagerman/remove-broken-split
Remove unneeded split(str, char) method
3 years ago
Jason Rhinelander 1b878e348b
Merge pull request #1715 from jagerman/default-upstream-dns-port
Fix default upstream DNS not working
3 years ago
Jason Rhinelander 73f0432b28 Fix default upstream DNS not working
The default upstream DNS was being set to 1.1.1.1:0, which doesn't work.
This fixes it to also set the port so that default upstream resolution
(i.e. with an empty config) works again.
3 years ago
Jason Rhinelander 9950adf472 Remove unneeded split(str, char) method
This function had a bug in stable (fixed in dev) when `last` returns
npos, but the function also appears to basically be duplicating what the
next split version can do, so this just removes it and uses the single
more generic split(strview, strview) method.
3 years ago
Jason Rhinelander ae1243e9d9 Remove unused defaults.hpp
The definitions in here aren't actually used anywhere anymore, so just
drop it.
3 years ago
Jeff Becker e96ec156ea
add / remove route blackhole so we dont leak if we crash 3 years ago
Jeff Becker dace0224ec
fix dns on android 3 years ago
Jeff Becker 4f1bd14d3c
fix issue with excessively pedantic stl on archlinux 3 years ago
Jeff Becker 14cc115489
dont use constexpr 3 years ago
Jeff Becker 069d9487b7
* throw exception on invalid SessionResult when transforming to SendStatus
* add case for printing unknown SessionResult
3 years ago
Jeff Becker 18cb59a1b5
* make tranform function for SessionResult to SendStatus
* add case for SessionResult::EstablishFail
* clean up outbound message handler to use transform function instead of many private member functions
3 years ago
Jeff Becker 30848165e7
add path filter in lokinetmon 3 years ago
Jeff Becker e7ac0f3902
expunge outbound contexts that have not gotten inbound traffic for a long while 3 years ago
Jeff Becker 75451d7124
* add establish fail enum
* dont call outbound session hooks for inbound sessions
3 years ago
Jeff Becker e3281cd026
add string representation to SessionResult 3 years ago
Jeff Becker 1d1d97b0ef
disable peer status entirely 3 years ago
Jeff Becker 2578983a09
dont give peer stats in rpc 3 years ago
Jeff Becker 20bc338eba
inbound sessions from CLIENTS should only have an elevated lifetime 3 years ago
Jeff Becker caddeef2e8
more information in logs 3 years ago
Jeff Becker 977ea3d689
* add log warn
* throw if inbound link makes outbound session
3 years ago
Jeff Becker 99379c5def
establish outbound sessions when we have no outbound session.
when we have an inbound session we still want to make an outbound session.
3 years ago
Jeff Becker cf0349c259
if we have an inbound session don't fail with NoLink 3 years ago
Jeff Becker f4fa83703f
refactor to use RouterID instead of rc.pubkey 3 years ago
Thomas Winget 8515fe09d4 fix minor oversight/inefficiency with already established connections 3 years ago
Jeff Becker abd6e4c558
use weak_ptr instead of bare pointer to prevent use after free 3 years ago
Jeff Becker aa48a1de1b
lower log level 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 9d0dffe086
only permit 1 pending session per udp endpoint 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 872a8d8045
use exisitng convotag first instead of trying to send to directly 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 5c3b4090d2
dont mark inbound sessions as outbound when we get a DNS lookup for it 3 years ago
Jeff Becker b70ecade2b
correct the logic for inbound convos
send back traffic on the correct path
3 years ago
Jeff Becker a0505d8e85
mitigate lto compiler bug with lto 3 years ago
Jeff Becker db5862cda8
only use @ syntax when the dns port is not port 53 3 years ago
Jeff Becker a6fbaa7c7a
add dns hosts file option for user side dns filtering 3 years ago
Jeff Becker a24b82119b
fix #1655
* make it so that we don't set up unbound resolver when we have no resolvers provided by config
* clean up dns codepath and make it use llarp::SockAddr instead of llarp::IpAddress
3 years ago
Jeff Becker 5c512601bf
use std::make_optional for backwards compat on older toolchains 3 years ago
Jeff c9b4ca85b2
[feature] optionally keep inbound convos mapped to same IP on restart (#1672)
* add option to persist address mappings between restarts using [network]:persist-addrmap-file

* make it work

* only persist address map for inbound convos

* turn persisting address map on by default

* dont load addrmap file if it has been modified last over a minute ago to prevent foot cannons fired from loading a really old version of it
3 years ago
Jeff Becker afe55f0932
fix for testing:
dont remove from failing set
3 years ago
Jeff Becker 5cdb1afa0d
increase timer timeout interval because 1 seconds RTT can happen but 2 seconds is pretty bad 3 years ago
Jeff Becker fab086db0c
downgrade log level 3 years ago
Jeff Becker 3142bab0ac
move setting hop to nullptr to after delivery or delivery fail 3 years ago
Jeff Becker ce7643a3aa
remove case that spams build on an outbound context 3 years ago
Jeff Becker 9a51e4d9b5
forgot to pump on wakeup 3 years ago
Jeff Becker 486cdc0949
correctly do latency test FEC
before this it would cause a posative feedback loop causing paths to fail for "no real reason"
3 years ago
Jeff Becker c97fe4aa96
convert magic number to where it came from 3 years ago
Jeff Becker a0b8fe144a
convert to lambda 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 7dc1061461
mark ip active on successful send 3 years ago
Jeff Becker adc6237d1c
mark exit address outbound when we add it via rpc 3 years ago
Jeff Becker 1da0a007ff
close links and remove commit 3 years ago
Jeff Becker 719dd38cf5
more shit 3 years ago
Jeff Becker 7a5dcc3eab
correctly persist link sessions 3 years ago
Jeff Becker 046e02ebe7
fixes for loopback testnet 3 years ago
Jeff Becker 5a713b0142
tweak timeouts to be a bit more sane 3 years ago
Jeff Becker ea3276333a
on path timeout look up each router, if the lookup fails then we remove it from nodedb and close any connections to it so that bad first hops are rotated off of. 3 years ago
Jeff Becker 07e29da5c0
when we map an address forever mark it as outbound 3 years ago
Jeff Becker c2722be81c
this fixes the shit wtf 3 years ago
Jeff Becker 5909ad0386
add MarkAddressOutbound to plainquic 3 years ago
Jeff Becker cce15b13c8
dont establish paths to inbound sessions to try and address state race condition 3 years ago
Jeff Becker aefab797d7
unconditional putsenderfor 3 years ago
Jeff Becker 6a3dc67e9b
nuke from orbit style router profiling for path build timeouts.
* when a path build times out, shitlist every router in the path except the first hop, this way eventually we get the nodedb pruned to only the routers that are currently actually alive, any ones we nuke that we need later we can always do lookups for.
3 years ago
Jeff Becker 1f9b8e5972
nuke invalid routers when we get a path build fail back to not resuse them in the future 3 years ago
Jeff Becker aa1c1bad0b
record reason for path fail and the full hops 3 years ago
Jeff Becker 0096bd4e35
account for path latency in introset lookups on outbound contexts 3 years ago
Jeff Becker e4ed53224c
use weak_ptr on a path to reference its parent pathset instead of a bare pointer so crashes dont happen 3 years ago
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