Commit Graph

6193 Commits

Author SHA1 Message Date
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
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
855bb2af33 SSU2: Post-termination handler part 9
Cancel timers on eviction from cache
2022-12-07 15:55:21 -05:00
zzz
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
zzz
55f2d782ce SSU2: Post-termination handler part 7
Kill handlers at shutdown
2022-12-06 13:06:37 -05:00
zzz
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
zzz
7fdd3d1711 SSU2: Post-termination handler part 6 WIP
Add the handler
2022-12-06 12:45:09 -05:00
zzz
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
zzz
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
zzz
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
zzz
2e817416d5 SSU2: Post-termination handler part 2 WIP
PeerState2 implements SSU2Sender
2022-12-06 12:09:00 -05:00
zzz
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
zzz
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
zzz
974ffabd18 Debian changelog for 2.0.0-2ubuntu1 fix (gitlab #376) 2022-12-02 15:50:24 -05:00
zzz
8e7c8cab48 SSU: Disable SSU1 option, part 5 WIP - more MTU fixes 2022-12-02 09:15:28 -05:00
zzz
1eee60c0ce SSU: Disable SSU1 option, part 4 WIP - MTU fixes 2022-12-02 08:13:26 -05:00
zzz
1650ce35d0 SSU: Disable SSU1 option, part 3 WIP - NPE fixes 2022-12-01 17:27:19 -05:00
zzz
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
zzz
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
zzz
6096fc993c SSU: Reduce log level on SSU1 intro slot, normal if it's a SSU2 slot 2022-11-28 07:32:08 -05:00
zzz
cb5d7f1f8d i2ptunnel: Fix SOCKS outproxy port configuration after testing
log tweaks
2022-11-26 10:54:22 -05:00
zzz
cb5be9530a SSU2: Avoid rare NPE handling apparent session confirmed without inbound state
reported by drzed
2022-11-26 09:31:31 -05:00
zzz
3d54dea3dd SSU: Don't build a 4 cap address at startup if configured for IPv6-only 2022-11-26 09:27:44 -05:00
zzz
84f8506912 Profiles: Don't let one corrupt file kill the loader thread
Name the loader thread
Reported by Qubes
ref: http://zzz.i2p/topics/3469
2022-11-25 08:30:41 -05:00
zzz
21a90fc2ec Tunnels: Adjust expiration job start if default reject time overridden by config
reported by drzed
2022-11-23 17:51:18 -05:00
zzz
d82e2fe5ac bump -1 2022-11-23 12:24:29 -05:00
zzz
965f84bbfa Console: Add status and banned tabs to /peers (WIP)
Status tab now the default
2022-11-23 12:23:17 -05:00
zzz
50ee30b133 Router: KeysAndCert compressible padding (Proposal 161, Gitlab MR !66)
Update some KeysAndCert and PKF debug output

ref: http://zzz.i2p/topics/3279

Replaces the 256-byte ElG key in dests with padding.
Make all padding in dests and router identities a repeating random 32-byte pattern.

This will make gzipped dests and router identities be much smaller:
Dests: appx. 320 bytes smaller (82% reduction)
RIs: appx. 288 bytes smaller (74% reduction)

Expected to primarily benefit database store messages and streaming SYNs.
Does not rekey or affect existing destinations or router identities.
Testers running this patch may be identifiable via transient destinations.
New installs with this patch will be identifiable via router identities.

This also will significantly speed up Destination creation as
we will no longer generate an ElG keypair.

Tested for several months.
2022-11-23 11:49:00 -05:00
zzz
c9ea1e1a22 SSU2: Increase Session Created max padding
to possibly make protocol identification harder
Preliminary; final value TBD.
2022-11-23 09:58:04 -05:00
zzz
98477eef9f SSU: Remove unneeded old queue latency check in UDPSender
as the queue is CoDel already
reported by drzed
2022-11-23 09:53:09 -05:00
zzz
dae60e5387 CLI: Sort MTU output by address 2022-11-23 09:45:30 -05:00
zzz
fb14907fa8 Console: Remove brackets on /debug update and app manager sections and other cleanups for readability 2022-11-23 09:06:01 -05:00
zzz
8d1d9a020f 2.0.0 2022-11-21 13:00:21 -05:00
zzz
52adc9dc16 Pull translations from transifex 2022-11-18 13:45:25 -05:00
zzz
e54f5ffadd i2ptunnel: Fix IRC USER filtering
Wasn't passing through user and realname fields
Pass through RFC 2812 mode field if present
reported by RN
2022-11-12 15:26:27 -05:00
zzz
2f3615e001 poupdate-source 2022-11-09 08:30:59 -05:00
zzz
b54eb9b4d5 SSU: Temporarily ban ip/port after inbound handshake failure 2022-11-01 11:55:20 -04:00
zzz
5947275aae SSU2: Prep for more padding in handshake 2022-11-01 09:25:44 -04:00
zzz
f3f669dc2e SSU2: Fail IES2 on all session request after retry errors
Don't hexdump for RI errors
Don't throw ISE when sending 2nd retry
2022-11-01 09:21:09 -04:00
zzz
ddd6a37507 SSU: Prefer UDP in China
Don't exceed conn limit even when preference is always
2022-11-01 09:06:50 -04:00
zzz
8fee843315 Tunnels: ConnectChecker fixes
add support for 4 and 6 caps
add support for SSU2
remove support for NTCP 1
2022-10-17 14:18:50 -04:00
idk
144271e4ca Merge branch 'programdata-path-fix' into 'master'
remove Application Data from path to I2P service config on Windows

See merge request i2p-hackers/i2p.i2p!65
2022-10-16 21:58:34 +00:00
idk
24fb6c9347 remove Application Data from path to I2P service config on Windows 2022-10-16 21:58:33 +00:00
zzz
1c29d752bd SSU2 Relay: Use from port in hole punch if different from relay response port
to support Charlies behind symmetric NAT
Check for IP mismatch in hole punch
Ban Charlies with bad IP/port
Ban Charlies who ban us
2022-10-16 12:13:26 -04:00
zzz
166d1ba86b SSU2: Track recently-closed sessions (gitlab #370)
and drop packets received on them, to prevent SSU1 fallback processing
2022-10-10 11:33:05 -04:00
zzz
64873218ba SSU2: Enable by default 2022-09-28 09:26:28 -04:00
zzz
beaeb9c835 SSU2: Ensure min packet size for pings 2022-09-23 11:20:17 -04:00