21c7ad4a89
SSU2: Enhance PeerTestState logging
...
avoid dup previous charlies on list
2022-12-15 15:05:10 -05:00
af5456b846
add javadocs for banlist return values
2022-12-15 15:03:06 -05:00
2c955e300f
SSU: Check banlist after session confirmed
...
blocklist IP if banned
2022-12-15 15:01:52 -05:00
138d674662
SSU2: Reduce log level of 'new ack not found'
2022-12-15 14:59:46 -05:00
9b0ace19c1
Router: Change transient IPv4 blocklist to LHMCache
...
Reduce transient blocklist sizes if slow
Improve logging of block source
2022-12-15 14:57:20 -05:00
3eb4083cb3
SSU2: Fix retransmission of session confirmed
...
Was setting packet length to number of packets.
Add check and log in UDPSender
Add notes where length is checked
2022-12-15 14:50:38 -05:00
799944b23b
SSU2: Don't attempt to connect to ourselves as an introducer
...
reported by drzed
2022-12-15 14:17:24 -05:00
8bda9bf804
SSU2: Update activity on path challenge/response
2022-12-14 17:23:31 -05:00
232586c709
bump -7
2022-12-14 16:11:16 -05:00
32a9f47375
Tunnels: Reduce log level of can't-decrypt build messages
2022-12-14 16:09:30 -05:00
9d50e4d5ed
NTCP: Log source of clock adjustment at startup
2022-12-14 14:58:44 -05:00
e71ba76d98
SSU2: Catch "shift too big" IAE from acked bitfield while sending termination
...
Add preliminary code to terminate session before
there are too many unacked messages to cause the IAE
(untested)
log tweaks
reported by drzed
2022-12-14 14:42:12 -05:00
4aa6d15933
SSU2: Another consolidation of keys for building retry
2022-12-14 14:35:12 -05:00
980276b966
SSU2: Preliminary fixes for handling retransmitted retries
...
and storing session request packet for retransmission
Previously, we would regenerate handshake state on every retry,
and we would not re-save the new session request packet after a retry.
Check for wrong token received in additional retries.
2022-12-14 14:32:08 -05:00
cf32b7844b
SSU2: Reject peer test or relay as Charlie if snatted
...
remove dup peer test 6 logging
2022-12-14 14:23:22 -05:00
a112c3a1ed
SSU2: Consolidate dup encrypt header keys in IES2/OES2
2022-12-14 14:15:56 -05:00
9f9a88cf32
SSU2: Drop short session request messages in packet handler
...
both before and after retry, before passing to IES2
log tweaks
2022-12-14 14:06:18 -05:00
28a79def5a
NTCP: Fix rare NPE sending termination
...
reported by drzed
2022-12-14 10:51:34 -05:00
4443fb464a
Router: Add stack trace to log error
...
to catch the message-to-ourselves culprit
2022-12-13 16:27:48 -05:00
08c31aa6f6
Tunnels: Tighten the hop throttle more
...
after further testing, thx obscuratus + drzed
2022-12-13 12:39:02 -05:00
20f414c7fa
SSU: Don't publish B cap when snatted
...
as suggested by orignal
2022-12-13 06:27:41 -05:00
580f954254
SSU2 Peer Test: Bob asks another Charlie on rejection
2022-12-12 12:22:22 -05:00
3472871e35
SSU: now() call reduction
2022-12-12 05:53:40 -05:00
803265660e
SSU2: Destroy PS2 cipher states when done
2022-12-11 15:12:15 -05:00
4a4ca0cdf0
SSU2: Handle retransmitted token request
...
and resend retry.
Previously failed to decrypt it.
2022-12-11 15:11:12 -05:00
415e31e560
SSU2: Allow termination in retry
...
Handle skew reason in termination, possibly ban peer
Adjust clock at startup when terminated with skew reason
Don't send immediate termination to a too-close address
Javadoc fixes
Log tweaks
2022-12-11 11:35:31 -05:00
dc400c652a
SSU2: Send termination on inbound session/token request
...
(rate limited) at conn limits or when alice is banned.
Process retry payload even if token is 0, to get termination reason
Wait longer for session request after retry, allowing for at least 2 retransmissions, to reduce IES2 failures
Ban peer if he bans us in retry
Remove unused writePayload()
Javadoc fixes
Log tweaks
2022-12-11 09:18:51 -05:00
01618c6202
SSU: Update activity timestamps for relay and peer test messages
...
Javadoc fixes
Log tweaks
2022-12-10 13:00:33 -05:00
337fd36633
SSU2: Peer Test fixes
...
Don't set AlicePortFromCharlie in msg 5, should be msg 7 only
Assume success if no address block in msg 7 (i2pd)
Require introducers for SNAT states
Don't log no charlie port if no IP
Add some TODO notes
Log tweaks
2022-12-10 12:11:59 -05:00
75e23fd1e3
Tunnels: Tighten the hop throttle
...
drop sooner when over limit to better protect the network
penalize throttled peers in profile to discourage use in our tunnels
2022-12-09 09:23:45 -05:00
7425484b55
SSU: Disable SSU1 option, part 6 - don't bid on SSU1 addresses
2022-12-09 06:37:19 -05:00
19269dbaf3
SSU2: Fix IAE creating ACK block
...
by removing unneeded 255 max ranges check in constructor.
Higher limit of 512 is enforced in PacketBuilder2.
Reported by drzed
2022-12-08 08:01:08 -05:00
855bb2af33
SSU2: Post-termination handler part 9
...
Cancel timers on eviction from cache
2022-12-07 15:55:21 -05:00
55e2fae135
SSU2: Post-termination handler part 8
...
Implement termination retransmission
Scale size of handler cache based on max conns
Kill handler sooner once we get an ack
Javadoc fixes
2022-12-07 10:19:18 -05:00
55f2d782ce
SSU2: Post-termination handler part 7
...
Kill handlers at shutdown
2022-12-06 13:06:37 -05:00
41e05c8135
SSU2: Token improvements part 2
...
Don't send tokens in the handshake, now that we have a handler
to process tokens received in the termination ack
2022-12-06 12:52:43 -05:00
7fdd3d1711
SSU2: Post-termination handler part 6 WIP
...
Add the handler
2022-12-06 12:45:09 -05:00
809f927219
SSU2: Post-termination handler part 5 WIP
...
Don't create a new inbound token if we have one that's still good,
for when the handler retransmits terminations
2022-12-06 12:30:46 -05:00
ad18c98330
SSU2: Post-termination handler part 4 WIP
...
Save destroy reason in PeerState2
Add PeerState2 methods to get data for new handler
Log when token received
2022-12-06 12:18:56 -05:00
2451ea31bb
SSU2: Post-termination handler part 3 WIP
...
PacketBuilder2 takes SSU2Sender
Don't check session lifetime or router shutdown to send token with termination
2022-12-06 12:14:16 -05:00
2e817416d5
SSU2: Post-termination handler part 2 WIP
...
PeerState2 implements SSU2Sender
2022-12-06 12:09:00 -05:00
0fd6c672d3
SSU2: Post-termination handler part 1 WIP
...
Add interface to go over PeerState2 and the new handler
2022-12-06 11:45:33 -05:00
706cd5a129
SSU2: Token improvements and fixes part 1
...
- Set cache size based on connection limit
- Track average inbound cache eviction time
- Set inbound expiration based on cache time
- Reduce max inbound expiration
- Fix saving inbound token sent after relay response or hole punch
- Dont send or save tokens if we are symmetric natted
- Sort persisted tokens by expiration so they are expired in correct order on reload
- Periodically expire tokens from cache
- Add getters to Token class
- Add missing case IPV4_SNAT_IPV6_UNKNOWN to EnumSets
2022-12-04 10:04:18 -05:00
974ffabd18
Debian changelog for 2.0.0-2ubuntu1 fix (gitlab #376 )
2022-12-02 15:50:24 -05:00
8e7c8cab48
SSU: Disable SSU1 option, part 5 WIP - more MTU fixes
2022-12-02 09:15:28 -05:00
1eee60c0ce
SSU: Disable SSU1 option, part 4 WIP - MTU fixes
2022-12-02 08:13:26 -05:00
1650ce35d0
SSU: Disable SSU1 option, part 3 WIP - NPE fixes
2022-12-01 17:27:19 -05:00
bdad71bd08
SSU: Disable SSU1 option, part 2 WIP
...
- Null out SSU1 things
- Don't publish SSU1 intro key
- Use all introducer slots for SSU2
2022-12-01 16:20:33 -05:00
d0cd620364
UDP: Add option to disable SSU 1 - Part 1 - WIP
...
More todo, do not attempt until feature is completed
2022-11-30 16:05:38 -05:00
6096fc993c
SSU: Reduce log level on SSU1 intro slot, normal if it's a SSU2 slot
2022-11-28 07:32:08 -05:00