a6f61d2bf6
SSU2: Fixes part 1
...
after initial testnet testing
Use correct intro key for Session/Token request
Fix state management in EstablishmentManager, OES2, IES2
Fix next send time during handshake
Fix header decryption in PacketHandler
Add additional packet checks in IES2 handling
Remove expired IES immediately (SSU1 also)
Failsafe sleep in EstablishmentManager on exception
Remove dup requestSent() calls
Don't release packet in PS2
Log tweaks and javadocs
2022-03-06 06:15:23 -05:00
9457271ce6
Transport: Fix wasUnreachable() for transports with alt style
...
Only affects NTCP for now.
This bug had little impact when both transports were enabled,
but significantly harmed connectivity and tunnel building for NTCP2-only.
Decrease unreachable cache time in testnet
Make cache cleaner a little more efficient
2022-03-04 09:17:26 -05:00
a1ced67bad
Transport: Fix port selection for NTCP-only
2022-03-04 05:06:01 -05:00
87f7d470a6
bump -3
2022-03-03 13:38:37 -05:00
32d60858da
NTCP: Start out reachable if SSU disabled
...
So peers will attempt to connect
2022-03-03 13:37:28 -05:00
be4ad7eba9
NetDB: Load reseed RI if newer than that in-memory
...
previously, was only loaded if not known at all
2022-03-03 13:11:08 -05:00
7f8fa825ac
SSU2: More debug logging additions/fixes
2022-03-02 11:08:57 -05:00
1cd5926f6c
SSU2: Debug logging additions/fixes
2022-03-02 11:04:19 -05:00
9c31be66e6
SSU2: Data phase updates
...
Send immediate ack of Session Confirmed
Process I2NP messages and fragments in Session Confirmed
2022-03-02 10:47:47 -05:00
0e89b07ae8
SSU2: Data phase fix
...
Fix initialization of IMS when receiving last fragment first
2022-03-02 09:37:10 -05:00
7b6e6270ba
SSU2: Data phase more fixes
...
Fix writing follow-on fragment block
Call messageFullyReceived() for I2NP block
Override messageFullyReceived() to avoid NPE
2022-03-02 09:05:09 -05:00
9d9310a726
SSU2: Data phase fixes
...
Fix receiver CipherState key
Override clearWantedACKSendSince() to avoid NPE
Add/tweak debug logging
2022-03-02 08:32:22 -05:00
0f26baf114
SSU2: Implement split()
...
Use socket address in PacketBuilder2
Decrypt session confirmed in-place
Check for RI in session confirmed
Copy session confirmed to PeerState2 for retx
RTT calculation fixes
State transitions
Javadoc fixes
WIP, untested
2022-03-01 13:52:16 -05:00
5ef93f11a9
Util: Add Addresses.getConnectedAddressTypes()
...
method to efficiently get all types in one pass
2022-03-01 07:25:49 -05:00
50ce3c2856
NetDB: New reseeds
2022-03-01 05:15:49 -05:00
21c1f89249
SSU2: Validate DateTime block in handshake messages
2022-02-28 16:50:41 -05:00
46ef49f2cf
SSU2: Token Req. and Retry fixes
...
Fix Token Request and Retry payload generation
Implement Token Request and Retry payload decryption
Decrypt payloads in-place
Change from numbers to constants
2022-02-28 16:24:59 -05:00
e53a59b4ac
SSU2: fix PS2 packet numbering
2022-02-28 13:36:19 -05:00
a13f2b9768
SSU2 more fixes
...
Fix OES2 MTU
Fix Token Request header encryption
2022-02-28 12:32:36 -05:00
44c30e78fc
SSU2 fixes
...
Fix NPE in PS2
Fix Token Request message type
2022-02-28 10:01:05 -05:00
ec63f41b27
SSU2: Handle handshake messages
...
Decrypt handshake headers in Packet Handler
Pass handshake messages to Establishment Manager
SSU 1 and 2: Pass establish state to Establishment Manager
so it doesn't have to look it up again
Add notes about causes of decrypt failures
WIP, untested
2022-02-28 09:18:06 -05:00
c19944384e
SSU2: Fix packet numbering to match spec
2022-02-27 14:50:13 -05:00
0c08a05bce
SSU2: Hook in new classes to EstablishmentManager
...
Implement handshake retransmissions
Fix up calls to IES2/OES2
split() TODO
not hooked in to PacketHandler yet
WIP, untested
2022-02-27 12:03:28 -05:00
7eda9c77af
SSU: Don't use SSU2 for peer test or relay
...
Add getAltStyle() so getTargetAddresses() will return SSU2
Add getSSUVersion()
2022-02-27 06:38:43 -05:00
66045cebc2
SSU2: Store RI in IES2
2022-02-27 05:41:48 -05:00
2b93dbbf48
SSU2: Add token support to EstablishmentManager
2022-02-27 05:26:04 -05:00
759f6968f6
Add SSU2 support to OMF
2022-02-26 17:15:07 -05:00
e3db28542c
SSU2: Fix overhead calculations
2022-02-26 16:33:35 -05:00
e7f98e9243
SSU2: Add acks to data messages
...
implement buildPing() and buildACK()
2022-02-26 15:39:50 -05:00
4908f760d9
SSU2: PeerState2 I2NP handling
...
Handle complete messages and fragments in PeerState2
Send complete messages to transport
Add SSU2 constructor and reader in IMS
Change fragment callback to avoid an extra copy
Fix checks of fragment blocks
MessageReader cleanups for SSU1
Other cleanups
WIP, untested, not hooked in
2022-02-26 11:31:04 -05:00
6bb3657de2
SSU2: Start of packet handling
...
Store CipherStates in PeerState2
Add missing getVersion() overrides
2022-02-26 08:25:55 -05:00
dc40755e7c
Sybil: Improve family analysis
...
Increase credit if family sig is verified
Speed up analysis by only looping through RIs once
Add link to all family members
Add SUNYSB certificate
bump -2
2022-02-25 10:36:17 -05:00
140ab47354
Fix SSU2 enable logic
2022-02-24 14:42:33 -05:00
da887f7c6c
SSU2: Publish keys and version in address when enabled
2022-02-24 08:49:57 -05:00
f4be99ecd0
SSU: Add SSU2 class extensions and packet builder
...
Pass XDH key builder to UDPTransport
Add SSU2 static keygen when enabled
WIP, not hooked in
2022-02-24 06:13:28 -05:00
b8407a261e
SSU2: ACK bitfield support and conversion to ACK block
...
WIP, not hooked in
2022-02-23 15:55:03 -05:00
969a8a5d8a
SSU: Add support for SSU2 fragmentation to OMS
2022-02-23 15:22:40 -05:00
b57d9f2f7e
SSU: More prep of classes for SSU2 extension
2022-02-23 11:57:03 -05:00
c9a97d889b
SSU: Prep classes for SSU2 extension
...
add SSU2 states
2022-02-23 10:55:51 -05:00
51bdd9a283
SSU: Add getVersion() methods (prep for SSU2)
2022-02-23 09:25:21 -05:00
74dedcf7f0
SSU2: More WIP
2022-02-23 06:12:35 -05:00
ae2b99b1c6
Build: Fix it
2022-02-22 14:53:41 -05:00
5ccbeca676
bump -1
2022-02-22 10:34:31 -05:00
63e202f8f0
SSU: Start of SSU2 support
...
WIP, not hooked in
2022-02-22 10:27:42 -05:00
80535875ad
SSU: PacketHandler cleanup (prep for SSU2)
2022-02-22 10:22:16 -05:00
f0ad921fd2
NetDB: Prevent rare deadlock via FloodfillMonitorJob at startup
2022-02-22 10:06:07 -05:00
9f7f1bbcab
Crypto: Prep for SSU2
...
- ChaCha20: Add ivOffset param
- ChaCha20/Poly1305: Add adOffset/adLength params
- Noise: Add XK-SSU2 initializer
- Noise: Add notes about handshake offsets
2022-02-22 09:45:22 -05:00
edc9d6fec5
NTCP: Reduce max writer threads
2022-02-22 09:07:58 -05:00
3b9c26fe8a
1.7.0
2022-02-21 09:12:59 -05:00
961936f8d5
bump for review
2022-02-18 13:58:02 -05:00