Jeff Becker
aa48a1de1b
lower log level
2021-06-23 07:30:30 -04:00
Jeff Becker
872a8d8045
use exisitng convotag first instead of trying to send to directly
2021-06-21 15:16:28 -04:00
Jeff Becker
71d17dc2c9
format and logging
...
ignore outbound session auth messages
2021-06-21 15:16:26 -04:00
Jeff Becker
5c3b4090d2
dont mark inbound sessions as outbound when we get a DNS lookup for it
2021-06-21 15:16:26 -04:00
Jeff Becker
a6fbaa7c7a
add dns hosts file option for user side dns filtering
2021-06-20 05:59:22 -04:00
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
2021-06-20 05:59:22 -04:00
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
2021-06-17 12:05:50 -04:00
Jeff Becker
9a51e4d9b5
forgot to pump on wakeup
2021-06-09 08:45:52 -04:00
Jeff Becker
7dc1061461
mark ip active on successful send
2021-06-08 14:52:16 -04:00
Jeff Becker
07e29da5c0
when we map an address forever mark it as outbound
2021-06-08 14:36:33 -04:00
Jeff Becker
5909ad0386
add MarkAddressOutbound to plainquic
2021-06-08 14:36:33 -04:00
Jeff Becker
cce15b13c8
dont establish paths to inbound sessions to try and address state race condition
2021-06-08 14:36:33 -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
a8964a6d8a
add idempotent wake up for sending messages to the network and writing packets on interfaces
2021-06-08 14:36:32 -04:00
Jeff Becker
85cd1b6863
use inbound sessions we don't have paths to in GetBestConvoTagFor just so we can give the caller SOMETHING.
2021-06-08 14:36:31 -04:00
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
2021-06-08 14:36:30 -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
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
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
c5350ab2c4
DefaultPathAlignmentTimeout -> PathAlignmentTimeout
2021-05-11 05:12:27 -04:00
Jeff Becker
c834414b47
when we have to reestablish an outbound session use a much much higher timeout for restablishment
...
so it doesn't time out and get into a state that's totally screwed.
add virtual function service::Endpont::DefaultPathAlignmentTimeout() to get the timeout for path alignment
and use it for resetablishing outbound sessions
2021-05-11 05:12:27 -04:00
Jeff Becker
6bb31468d7
don't send nx if we have an address already mapped
2021-05-06 16:34:37 -04:00
Jeff Becker
d563e3b340
if a path's latency is zero dont use it because it's not actually a zero latency path it's probably about to be failed or timed out
...
increase default path alignment timeout
2021-05-03 09:22:06 -04:00
Jeff Becker
54f9e1b44e
make path alignment timeout configuable
...
adds [network] section parameter called path-alignment-timeout that allows configring the timeout
for optional name lookup + introset lookup + aligned path build, used by tun endpoint dns, provided
as milliseconds.
2021-05-01 16:25:32 -04:00
Jeff Becker
c6320724d3
parameterize traffic alignement timeout in dns lookups
2021-05-01 08:55:54 -04:00
Jason Rhinelander
1d48cd6d35
format
2021-04-28 17:07:44 -03:00
Jason Rhinelander
4ef25ef679
Add systemd-resolved dynamic DNS updating
...
Wires up systemd support to configure DNS on startup and when
enabling/disabling exit mode.
On startup (and when turning off an exit) we tell systemd-resolved to
direct .loki and .snode lookups to lokinet (leaving other DNS traffic
alone).
On exit enabling, we reconfigure it to resolve "." (i.e. the root DNS
domain) so that all lookups come into it.
2021-04-28 16:48:10 -03:00
Jeff Becker
714f6b0183
macos variant fixes
2021-04-20 09:44:52 -04:00
Jeff Becker
71391957c5
set up accept any plainquic handlers
2021-04-19 11:20:46 -04:00
Jeff Becker
b721b8d65b
finish wiring up config for #1595
2021-04-19 07:03:56 -04:00
Jeff Becker
fedc56e3f1
initial commit for #1595
2021-04-19 07:02:46 -04:00
Jeff Becker
545021aa3d
temp commit
2021-04-19 07:02:46 -04:00
Jeff Becker
a7a886e670
fix infinite iteration
2021-04-19 07:02:45 -04:00
Jeff Becker
07eaeb681a
try fixing deadlock
2021-04-19 07:02:45 -04:00
Jeff Becker
1ea77e6a68
more client to snode quic fixes
2021-04-19 07:02:44 -04:00
Jeff Becker
e1f90e5e5a
use rx id on snode side of paths
...
set protocol on reply routing messages
2021-04-19 07:02:44 -04:00
Jeff Becker
2e8f47a7fa
various cleanups
2021-04-19 07:02:44 -04:00
Jeff Becker
b36f87a4d2
stop crashing when we send dns reply for snode on service nodes
2021-04-19 07:02:44 -04:00
Jeff Becker
25e338d621
srv records
...
* add srv records in RCs if we have any
* add mechanism to add SRV records for plainquic exposed ports
* resign and republish rc or introset on srv record changes
2021-04-19 07:02:43 -04:00
Jeff Becker
94ecf02a62
add option to run lokinet traffic only with no exit and drop all non lokinet traffic
...
triggered by: exit-node=null
2021-04-19 07:00:27 -04:00
Jeff Becker
95cd275cdd
liblokinet additions:
...
* add lokinet_add_bootstrap_rc function for adding an rc from memory
* prevent stack overflow on error closing connection in quic
* add in memory nodedb
* refactor how convotags are set as active
* add initial stubs for endpoint statistics
* refactor time stuff to be a bit cleaner
* update lnproxy script with more arguments
2021-04-19 06:59:07 -04:00
Jeff Becker
853cc52efb
wire up liblokinet
2021-04-19 06:59:06 -04:00
Jason Rhinelander
2a809c7a30
Add trace debugging of inbound packet type
2021-04-19 06:59:06 -04:00
Jeff Becker
309a899c9f
mark loopback convotags as forever
...
make null handler mark discard data as activity for convotag
2021-04-19 06:59:06 -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
f86a2daf83
fixes
...
* Add service::Endpoint::HasOutboundConvo
* dont mark outbound convos as inbound
* order quic packets
2021-04-19 06:59:06 -04:00
Jeff Becker
73572b317b
stuff
2021-04-19 06:59:04 -04:00