f5ca15c28d
SSU2: Retransmit session confirmed after receiving apparent retransmitted session created
...
Retransmit handshake messages faster and expire faster (SSU 1/2)
log tweaks
2022-07-19 11:17:54 -04:00
b7db6ae77c
SSU2: Fix storage/checking of local firewalled IP address/port in token file
2022-07-19 11:15:24 -04:00
8aef6ce292
SSU2: MTU and other fixes
...
Use minimum MTU for IPv6 session confirmed to avoid PMTU issues
Set default MTU for known IPv6 tunnel brokers
Check for s mismatch in session confirmed RI
Don't put DateTime block after Termination block
Fix first message failed check
Log sent data packet size
Log tweaks
2022-07-17 11:28:00 -04:00
097fa34e91
SSU2: Send retry with termination block on clock skew
2022-07-15 15:03:22 -04:00
c2ffcb8512
SSU2: Don't rectify MTUs to mod 16 in SSU2 addresses
...
Set max MTU for range48.org brokered addresses
Limit MTU for brokered addresses in UDPAddress also
2022-07-15 08:51:43 -04:00
2432680ed3
SSU2: Fail session if first outbound message fails
...
Reduce max consecutive message failures to fail session (SSU 1/2)
Set peer as unreachable for these failures
Reduce max consectutive session confirmed retransmissions
Fix session confirmed retransmission timing
Respond to relay tag request in data phase
Log tweaks
2022-07-12 07:29:20 -04:00
8e985eb951
SSU2: Fix NACK handling when higher than previous highest acked
...
was treating them as acks
2022-07-10 13:01:56 -04:00
a18a5136b7
Console: Only display news if a new entry is found
...
not simply when a new file is downloaded
2022-07-09 09:41:13 -04:00
73c8ee826e
SSU2: Support other reason codes in destroy message
2022-07-09 07:31:46 -04:00
2a4ab118de
SSU2: Persist SSU2 tokens
...
Move establisher and packet handler initialization
to after the address initialization
2022-07-08 14:12:31 -04:00
70596d0548
SSU: Initialize MTUs
...
SSU2: Don't log MTU warning at startup
Remove unused dropPeerCapacities()
2022-07-08 11:13:58 -04:00
6ede06cfdf
SSU2: Send termination before dropping session after failure to get Session Confirmed ack
2022-07-08 11:09:58 -04:00
8818c78cbd
Transport: Don't lookup RI in wasUnreachable()
...
to reduce netdb lookups
2022-07-08 10:00:04 -04:00
9a9722dd3e
SSU2: Fix peer test throttling
...
Only throttle messages 1 and 2
Send limit response on throttle
Throttle IPv6 based on first 8 bytes only
2022-07-05 07:37:51 -04:00
4e21fe74e5
NetDB: Lookup handling cleanups
...
Allow lookups of our RI even when hidden
Consolidate routerHash() calls
Remove unused router.publishUnreachableRouters option, was default true
2022-07-04 08:30:21 -04:00
740c7fad4d
SSU: Remove copy of peers in idle timeout checker
...
Just iterate through the main map.
Log tweaks
2022-06-30 18:22:53 -04:00
c875f1d105
SSU2: Fix last check of local RI for relay
...
Expire relay token quickly
Log tweaks
2022-06-30 17:15:33 -04:00
3c7659277d
SSU: MTU fixes for IPv6 and SSU2
...
Fix setting local IPv6 MTU when firewalled
Fix publishing MTU when firewalled or hidden
Save local MTU when changing addresses, not when publishing
Add SSU2 MTU methods (no mod 16 required)
Allow MTU up to 1500 for SSU2 transport style
Disable SSU2 at startup if local MTU too low
2022-06-25 13:14:59 -04:00
897338b790
SSU2: Add checks of peer test msg 1 IP/port
2022-06-24 16:56:47 -04:00
08e95655c1
SSU2: More MTU checks
...
Add code for bob rejecting alice peer test address
Don't allow MTU to exceed his MTU
Don't use a token about to expire
Send token with termination message
Add internal type to termination message
log tweaks
2022-06-22 11:00:56 -04:00
5d27ce3f8d
SSU: Rewrite adjustMTU()
...
to make it more responsive to conditions and a more effective PMTU algorithm.
Move MTU up and down in increments rather than simply shift between min and max
Increase or decrease based on success or failure of each message
Only increase if the successful message was almost as large as current MTU
Clear increase/decrease counters when changing MTU the other way
Don't wait for 10 packets to increase MTU
Reduce max retransmissions from 30% to 10%
2022-06-22 08:07:13 -04:00
9aa9f7a714
SSU2: Fix swapped dest/src conn IDs for peer test
2022-06-20 15:19:09 -04:00
723257d6ef
SSU2: First fragments can be 5 bytes larger than followon fragments
2022-06-20 12:05:45 -04:00
c5323a8d36
SSU2: Fix overhead calculation for followon fragments
...
so as not to exceed MTU
2022-06-20 07:37:05 -04:00
b3072d9ef3
SSU: PeerState _remotePeer cannot be null
2022-06-19 12:05:39 -04:00
3c4956f0c3
SSU2: Add delayed lookup of RI for relay and peer test
...
Prefer SSU2 introducers for slots 1 and 2
log tweaks
2022-06-19 12:04:10 -04:00
d69a65605d
SSU2: Don't delete empty ipv6 address at startup
...
Needed for SSU2 handshakes
2022-06-19 12:01:44 -04:00
c2edd7e926
SusiDNS: Fix classloading on Java 11+
...
Caused SusiDNS and addressbook to be in a different context
addressbook config would be stored in base dir
and subscriptions would not load because it couldn't find i2ptunnel
2022-06-17 12:52:36 -04:00
fa145ff7c5
Util: ArraySet improvements
...
Was never used; prep for actual usage
Move from router to core
Add Set constructors that are more efficient
Add addUnique() method
Allow size of set passed in constructors
Prepare for extension
javadocs
2022-06-17 10:21:15 -04:00
7610b3842f
SSU2: Hole punch processing
...
Validate and process hole punch payload
Send session request immediately after receiving hole punch
Remove some unused code
Log tweaks
2022-06-16 08:22:55 -04:00
d812f82e92
SSU2: Fixes
...
Fix conn ids on hole punch
Fix min size on relay response
2022-06-16 08:16:12 -04:00
0a87559ba2
SSU2: Add per-introducer relay state machine
...
Enable relay
Set session created token to 0 as per spec
Log tweaks
2022-06-14 12:48:00 -04:00
22efde37e3
SSU2: Relay WIP part 15
...
Fix sending charlie's address in relay response
Fix sending session request after introduction
Send 0-length endpoint in relay response on failure
Log tweaks
2022-06-12 16:08:23 -04:00
c976b86b6e
SSU2: Fix peer test msg 1 signature
2022-06-12 13:20:37 -04:00
3ef06f88c9
SSU2: Relay WIP part 14
...
Fixes after testnet testing:
Fix NPE in OES2 constructor
Fix relay request signature
Fix relay response signature verification bugs
Fix unhandled state OB_STATE_INTRODUCED
Refactor state handling to switch
Remove dup copy in SSU2Util.sign()
Log tweaks
2022-06-12 12:54:52 -04:00
2ec0894c35
SSU2: Relay WIP part 13
...
Reject SSU1/SSU2 relay request mismatch as Bob
2022-06-11 13:06:29 -04:00
d85d501291
SSU2: Relay WIP part 12
...
Don't send SSU1 relay request to SSU2-connected introducers
and vice versa
Log tweaks
2022-06-11 09:13:36 -04:00
e4996a2db6
SSU: No need to validate Bob IP/port on relay intro as Charlie
...
as it is received in-session only
Log tweaks all over
2022-06-10 16:50:46 -04:00
ffc4520382
Transport: Remove mtn port from invalid list
2022-06-10 16:03:48 -04:00
386b259666
SSU: Reduce level of SSU 1 relay logging
...
to make it easier to debug SSU2 relay
2022-06-10 15:09:23 -04:00
788babeaa0
SSU2: Relay WIP part 11
...
prevent dup SSU2 introducers take 2
2022-06-10 13:29:42 -04:00
bfdf75f45b
SSU2: Fix test/relay response code for banned IP
2022-06-10 09:08:08 -04:00
9de618d644
SSU2: Catch errors on bad ack blocks
...
so rest of payload can be processed
Improve debug output on errors
2022-06-10 07:50:43 -04:00
cdf778514c
SSU2: Don't attempt SSU1 fallback validation on a SSU2 peer
...
This should actually fix the HMAC NPE
2022-06-10 07:35:53 -04:00
03f315fc1c
SSU2: Relay WIP part 10
...
Fix OES2 initial state when pending intro
Handle relay response as Alice
Check relay request and relay response sigs as Bob
Remove unused method OES2.reset()
Fix javadoc for one OES state
2022-06-10 07:32:54 -04:00
3d9ded4ab1
SSU2: Relay WIP part 9
...
Alice side:
check for valid v2 introducers,
fetch Bob RIs if not found,
connect if not connected,
then send relay request
2022-06-09 12:24:29 -04:00
29c827c076
SSU2: Ignore dup session confirmed
2022-06-09 11:54:52 -04:00
5582814d7c
Noise: Add state info to debug output
2022-06-09 09:49:06 -04:00
43a5998cfd
SSU2: Set timer to remove peer test state
...
Reduce SSU 1/2 max test time as Bob
2022-06-08 11:31:42 -04:00
d1633938db
NetDb: Bypass checks on lookups of our router hash
2022-06-08 11:04:33 -04:00