Commit Graph

6037 Commits

Author SHA1 Message Date
zzz
0af5ea883a bump -4 2023-01-22 10:31:38 -05:00
zzz
be5a10194a Build: Fix list of changed files in manifests
Broken in move from mtn to git
Fix some places that were broken even with mtn
2023-01-22 10:08:53 -05:00
zzz
3da4369c96 bump -3 2023-01-21 12:47:05 -05:00
zzz
8bbddfc336 NTCP: NAT fixes part 4
Do not rebind internal port if only SSU external port changed
so "full cone" NAT will work
Log warning if NTCP configured with fixed port different from SSU
2023-01-21 11:51:25 -05:00
zzz
38c839c389 SSU: NAT fixes part 3
Eliminate Symmetric NAT errors for "full cone" NATs with different external port
Separate isPortFixed() states for IPv4 and IPv6
Allow port changes when state is unknown
Require two tests to transition from unknown IPv4 state
Save external port config on change
Don't reset external port config at startup
Add port change event to event log
2023-01-21 11:47:31 -05:00
zzz
537d6ef0d5 SSU2: Fix initial MTU when SSU1 disabled 2023-01-21 09:36:48 -05:00
zzz
a86ab694a5 SSU2: NAT fixes part 2
Fix rare peer test NPE if we did not set charlie's hash
2023-01-21 08:09:28 -05:00
zzz
d45df857d6 bump -2 2023-01-17 14:59:22 -05:00
zzz
a4220f7bc6 Transport: Add 8080 to ports list
as suggested by drzed
2023-01-15 09:02:35 -05:00
zzz
d6891d4b7a Console: Show smoothed receive BPS for SSU peers
Don't show zero send/receive BPS after 15 sec idle; show smoothed value,
so display isn't mostly zeros.
BPS sorters will now work correctly and totals are more accurate.
Pass now to send/receive BPS methods and BW estimator
Comment out UDPTransport.noteSend()
Fix alignment issue in NTCP peers table
Show 0 instead of 0.00 for zero BPS
Change rounding mode of formatters
2023-01-15 08:17:09 -05:00
zzz
cf82d3a156 Transport: isValidPort() micro-optimization
add i2pd console to list
2023-01-14 07:03:16 -05:00
zzz
c4fd1b610b Router: Simplify published stats values
to be only what stats.i2p needs
Disabled until next release, to preserve dev build anonymity,
tested while enabled
Commented out unsed code
ref: http://zzz.i2p/topics/3515
2023-01-12 15:25:52 -05:00
zzz
841e277180 SAM: Abort tunnel build if control socket closes
Command error handling and message improvements
Implement simple HELP command
bump -1
2023-01-12 13:35:05 -05:00
zzz
34be58962a SSU2: Removed cached bitmasks
Waste of space and probably slower
2023-01-11 13:01:02 -05:00
zzz
a5d649ba2d 2.1.0 2023-01-10 09:32:31 -05:00
zzz
1e34738fca SSU: Rewrite/fix previous Java 7 (Android) fix
Update checklist to specify bootclasspath, so these are caught in the future
bump -16-rc
2023-01-08 14:45:17 -05:00
zzz
433340c11b SSU: Fix NPE handling SSU1 peer test msg 7
Reported by drzed
2023-01-08 13:04:23 -05:00
idk
43090cbc32 put must be followed by get in order to contain the current key, UDPTransport 2023-01-08 00:42:32 +00:00
idk
e70229140b use a containsKey()+put instead of putIfAbsent because putIfAbsent is not present in Java 8, thereby breaking Maven builds 2023-01-08 00:28:26 +00:00
zzz
b4fb8ba2c9 bump for review -15-rc 2023-01-06 14:45:01 -05:00
zzz
09a97c31fc Reseed: Exclude SSU2 with introducers from local reseed file 2023-01-04 08:52:57 -05:00
zzz
513a33abe6 Profiles: Capacity calculator minor cleanup 2023-01-02 16:44:31 -05:00
zzz
b313817399 Update annotation of tunnel reject codes 2023-01-02 16:21:47 -05:00
zzz
edfc9b1454 I2CP: Reduce session limit to 50
Set limit to 0 if vmCommSystem
i2ptunnel: Do not retry if session limit exceeded
2023-01-01 13:08:25 -05:00
zzz
5818f8e26d bump -14-rc 2022-12-31 14:10:58 -05:00
zzz
0d97dbf534 Tunnels: Add another tier for client tunnel build limiter
only if configured for 6 or more tunnels
2022-12-30 05:50:09 -05:00
zzz
f7d134066d UPnP: Catch AssertionError when closing SSDP multicast socket
Reported on Windows 10
ref: http://zzz.i2p/topics/3500
2022-12-30 05:33:10 -05:00
zzz
dcb8009c63 Tunnels: Limit requested client tunnels during congestion
This will probably also reduce builds at startup.
Limits may require tweaks after further testing.
2022-12-29 12:07:48 -05:00
zzz
32ffd056a1 Throttle: Don't parse default values every time 2022-12-26 14:47:33 -05:00
zzz
b5ce70955b bump -12 2022-12-26 14:15:30 -05:00
zzz
2b8d3477ce SSU1: Symmetric NAT detection fixes
Never let SSU1 test result be symmetric NAT, it's probably charlie
Don't use SSU1 test if we think we are symmetric NAT
Cleanup two places to call new fail() method
2022-12-26 14:13:43 -05:00
zzz
d655ad206c SSU: Fix NPE when SSU2 disabled 2022-12-26 07:21:49 -05:00
zzz
d16aaab35f Router: Don't blocklist our own IP 2022-12-26 07:13:10 -05:00
zzz
ba0fee151b SSU2: Redesign peer test symmetric NAT detection
- Send msg 6 even if msg 5 is not received, after a short delay, to detect symmetric NAT
- Prevent test result of symmetric NAT if Charlie is the one that appears to be symmetric natted.
- Mark if Charlie unreachable if apparently symmetric natted.
- Do not treat a different IP but same port as symmetric NAT
- Increase msg 6 retransmission frequency
- Ignore msg 5 received after sending msg 6
- Call externalAddressReceived() on reception of msg 7
- Add javadoc for testComplete() state machine

Most changes only affect SSU2; some SSU1 changes to follow.

ref: http://zzz.i2p/topics/3489
2022-12-26 06:14:55 -05:00
zzz
2ce2b894b7 SSU2: Minor cleanups
Rename isSnatted() to isSymNatted()
Minor rewrite in PeerState2.gotTermination()
Remove dead peer when pinging fails in intro manager
Cleanup ip length check in externalAddressReceived()
Log tweaks
2022-12-26 05:55:47 -05:00
zzz
2d633a0bfd SSU2: Don't replace previous destroyed peer in the cache
kill the new one instead
2022-12-23 16:39:30 -05:00
zzz
fdbdd10a89 SSU2: Refactor in-session PacketBuilder2 methods to throw IOE
Primarily for Peer Test and Relay, so the test or relay can be aborted.
Previously, sends on a dead PeerState2 were not detected or prevented.
Catch IOE throughout where necessary around all build() calls.
Add a fail() method in PeerTestManager
2022-12-23 15:47:09 -05:00
zzz
a6f7f9ec12 SSU1 peer test log level reduction
SSU2 peer test state add alice IP/port back to logging, needed for debugging
2022-12-23 14:29:19 -05:00
zzz
3dd242c1c7 SSU2: Peer test with our current address, not our address from the Bob session,
which could be different, esp. with temporary IPv6 addresses.
Could result in an erroneous SNAT result.
Add logging if different when starting test.
Check address block received in msg 6, use in logging only for now
Add logging of address block received in msg 7 if different than expected (possible SNAT)
Remove isValidPort() check in msg 5 recently added, already checked in code above
Add notes about possible externalAddressReceived() calls from peer test
Add notes about our address in PeerState2
2022-12-23 09:04:09 -05:00
zzz
defe514a31 SSU2: Enforce that address block is present in session created
Simplify check in EstablishmentManager.sendConfirmation(), we don't need to validate
RemoteHostId IP again, we did it before connecting.
Add check that received port is >= 1024.
2022-12-23 07:42:50 -05:00
zzz
31d0bc33d6 Blocklist: Don't add IPv4 addresses permanently banned to the transient list
Already hidden on /configpeers, so don't waste the space
2022-12-23 07:36:22 -05:00
zzz
3580430005 bump -11 2022-12-22 09:59:22 -05:00
zzz
ac799b7ffa SSU2: Further restrict states when we will be a peer test Charlie
and also use those states for when to publish B cap
2022-12-22 09:50:39 -05:00
zzz
4c8e0149f3 SSU2: Peer Test fixes
Check for dup msg 5
Store the time msg 6 sent
Ignore msg 5 after sending msg 6
Ignore msg 7 before receiving msg 4
Validate ip/port in msg 7
Update rcv times for dups
Log tweaks
2022-12-22 08:38:08 -05:00
zzz
150a68a3e0 SSU: Peer Test scheduling fixes
At startup, and for IPv6 so it doesn't lose out to IPv4
PeerTestEvent logging cleanup
2022-12-22 08:20:32 -05:00
zzz
d73be206e5 SSU2: Remove ENABLE_xxx feature flags used in early development 2022-12-21 16:19:30 -05:00
zzz
4e174df746 Router: Add IPv6 analysis to Sybil checker
Add to console sybil page
Fix links for IPs close to us
Header and reason tweaks
Increase verified family credit
2022-12-21 07:00:38 -05:00
zzz
fd58472cc5 Sybil: Pass reason to the blocklist, for logging only 2022-12-20 14:54:35 -05:00
zzz
e9c74c7c45 bump -10 2022-12-20 08:54:55 -05:00
zzz
903477e905 Change calls from Addresses.getIP() to Addresses.getIPOnly() for peer IPs
getIPOnly() is more efficient for pure IP addresses (no hostnames)
2022-12-20 08:51:29 -05:00