16702 Commits

Author SHA1 Message Date
zzz
08c31aa6f6 Tunnels: Tighten the hop throttle more
after further testing, thx obscuratus + drzed
2022-12-13 12:39:02 -05:00
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
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
3e4014a6f6 Debian: Change i2p-doc priority from extra to optional
per Debian manual, extra is deprecated and means the same thing as optional
https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities
2022-12-05 09:12:47 -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
d632e08386 Debian: Fix stray char in links file causing symlinks in / (gitlab #376) 2022-12-02 13:20:23 -05:00
zzz
5e623a349c Console: Hide totals row on /peers status tab if only one transport 2022-12-02 10:01:48 -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
2c460e095d default true 2022-12-01 10:47:01 -05:00
zzz
1b6ece965c Console: Hide SSU1 row on /peers status tab if disabled 2022-12-01 08:25:37 -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
f8e0ee65f2 i2ptunnel: Change enc type defaults
ECIES (ratchet) introduced about 4 years ago, and we are still defaulting to both ECIES and ElG in most places.

There are four cases:

- New install: $I2P/i2ptunnel.config as shipped
- New tunnel: i2ptunnel code sets default
- Existing tunnel, no enc type config: i2ptunnel code sets default
- Existing tunnel, config changed and saved via UI in last 4 years: Setting as in config file

Changes:

- New install: Change eepsite and IRC client to ECIES-only; shared clients remains both
- New tunnel: Change from both to ECIES-only
- Existing tunnel, no enc type config: Change servers to ECIES-only; clients remain both
- Existing tunnel with enc type config: No defaults, no change
2022-11-28 09:38:34 -05:00
zzz
f67b62a3a1 javadoc typo 2022-11-28 07:34:24 -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
6b44254c16 Console: ConfigTunnels backend minor cleanup 2022-11-28 07:29:58 -05:00
zzz
b60be22754 Util: Add path length constraint = 0 to selfsigned certs 2022-11-28 07:15:19 -05:00
zzz
10b23915f1 i2ptunnel: Change default POP tunnel name to match the hostname 2022-11-26 12:44:09 -05:00
zzz
cb5d7f1f8d i2ptunnel: Fix SOCKS outproxy port configuration after testing
log tweaks
2022-11-26 10:54:22 -05:00