Commit Graph

16580 Commits

Author SHA1 Message Date
zzz cdc61ee6ea Add change required for previous commit 2022-12-17 09:36:32 -05:00
zzz 2d2c8fdc96 SSU: Don't call rebuildIfNecessary() from dropPeer() and addPeer() every time
to prevent thrashing.
Only rebuild in dropPeer() if the peer was a published introducer.
Only rebuild in addPeer() if the peer offered to relay and we need introducers.
2022-12-17 09:33:47 -05:00
zzz d9bb3d0b96 SSU2: log tweaks 2022-12-17 09:29:09 -05:00
zzz 05d60d70e2 SSU2: Immediately remove establish state from EstablishmentManager on fatal error
to free up space and prevent problems handling additional packets
2022-12-17 09:17:55 -05:00
zzz 67d20d4af5 Transport: Change _currentAddresses from COWAL to standard ArrayList and lock
COWAL caused problems because replaceAddress() was removing the wrong address,
since RouterAddress.equals() does not compare caps, so empty '4' and '6' addresses would be equal.
So we could temporarily end up with multiple v4/v6 addresses.
COWAL wasn't really buying us anything anyway.

Fix removeAddress() that called the listener even if no change.
2022-12-17 08:43:25 -05:00
zzz 95bf6be670 SSU2: PacketHandler log tweaks 2022-12-16 08:40:36 -05:00
zzz 8d132a0ba7 Console: Make the /configlogging overrides box bigger if necessary (advanced only) 2022-12-16 06:59:25 -05:00
zzz bbbc127193 bump -8 2022-12-15 15:08:58 -05:00
zzz 21c7ad4a89 SSU2: Enhance PeerTestState logging
avoid dup previous charlies on list
2022-12-15 15:05:10 -05:00
zzz af5456b846 add javadocs for banlist return values 2022-12-15 15:03:06 -05:00
zzz 2c955e300f SSU: Check banlist after session confirmed
blocklist IP if banned
2022-12-15 15:01:52 -05:00
zzz 138d674662 SSU2: Reduce log level of 'new ack not found' 2022-12-15 14:59:46 -05:00
zzz 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
zzz 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
zzz 799944b23b SSU2: Don't attempt to connect to ourselves as an introducer
reported by drzed
2022-12-15 14:17:24 -05:00
zzz 8bda9bf804 SSU2: Update activity on path challenge/response 2022-12-14 17:23:31 -05:00
zzz 232586c709 bump -7 2022-12-14 16:11:16 -05:00
zzz 32a9f47375 Tunnels: Reduce log level of can't-decrypt build messages 2022-12-14 16:09:30 -05:00
zzz 9d50e4d5ed NTCP: Log source of clock adjustment at startup 2022-12-14 14:58:44 -05:00
zzz f50f55bb54 Merge branch 'fix/chacha' into 'master'
Fix wrong arguments order in ChaCha20 encrypt

See merge request i2p-hackers/i2p.i2p!72

Broken in 1.8.0. Almost certainly broke LS2 encrypted leaseset, but not yet tested.
Did not break anything else. I tested that this fix didn't break anything.
2022-12-14 19:54:10 +00:00
zzz 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
zzz 4aa6d15933 SSU2: Another consolidation of keys for building retry 2022-12-14 14:35:12 -05:00
zzz 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
zzz 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
zzz a112c3a1ed SSU2: Consolidate dup encrypt header keys in IES2/OES2 2022-12-14 14:15:56 -05:00
zzz 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
zzz 28a79def5a NTCP: Fix rare NPE sending termination
reported by drzed
2022-12-14 10:51:34 -05:00
zzz 4443fb464a Router: Add stack trace to log error
to catch the message-to-ourselves culprit
2022-12-13 16:27:48 -05:00
zzz 08c31aa6f6 Tunnels: Tighten the hop throttle more
after further testing, thx obscuratus + drzed
2022-12-13 12:39:02 -05:00
天空Blond a393912213 Fix ChaCha20::encrypt 2022-12-14 00:53:52 +08:00
zzz 20f414c7fa SSU: Don't publish B cap when snatted
as suggested by orignal
2022-12-13 06:27:41 -05:00
zzz 580f954254 SSU2 Peer Test: Bob asks another Charlie on rejection 2022-12-12 12:22:22 -05:00
zzz 3472871e35 SSU: now() call reduction 2022-12-12 05:53:40 -05:00
zzz 803265660e SSU2: Destroy PS2 cipher states when done 2022-12-11 15:12:15 -05:00
zzz 4a4ca0cdf0 SSU2: Handle retransmitted token request
and resend retry.
Previously failed to decrypt it.
2022-12-11 15:11:12 -05:00
zzz 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
zzz 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
zzz 897ea797cb Graphs: Fix RRD time skew handling
rrd4j throws different exception than jrobin did
2022-12-10 17:29:07 -05:00
zzz 01618c6202 SSU: Update activity timestamps for relay and peer test messages
Javadoc fixes
Log tweaks
2022-12-10 13:00:33 -05:00
zzz 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
zzz 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
zzz 944dff0aa7 Console: Add peer IP/port to transport tab tooltips (advanced only) 2022-12-09 07:14:38 -05:00
zzz 7425484b55 SSU: Disable SSU1 option, part 6 - don't bid on SSU1 addresses 2022-12-09 06:37:19 -05:00
zzz 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
zzz 59afc44c8a Console: Show "--" for values < 1 on profiles tabs 2022-12-07 17:35:14 -05:00
zzz 8ada237bfa Console: Remove "Standard" for peers and "unknown" for caps on profiles tabs 2022-12-07 17:27:50 -05:00
zzz a77f016288 Console: Show "--" for 0% fail rate on floodfill tab 2022-12-07 17:04:38 -05:00
zzz 5a6f92bbbf Console: Change "integrated" to "floodfill" in summary bar 2022-12-07 17:01:02 -05:00
zzz 2e6a4930a0 Console: Fallback to receive MTU on MTU sort in SSU tab 2022-12-07 16:57:56 -05:00
zzz 855bb2af33 SSU2: Post-termination handler part 9
Cancel timers on eviction from cache
2022-12-07 15:55:21 -05:00