Commit Graph

5669 Commits

Author SHA1 Message Date
zzz 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
zzz e53a59b4ac SSU2: fix PS2 packet numbering 2022-02-28 13:36:19 -05:00
zzz a13f2b9768 SSU2 more fixes
Fix OES2 MTU
Fix Token Request header encryption
2022-02-28 12:32:36 -05:00
zzz 44c30e78fc SSU2 fixes
Fix NPE in PS2
Fix Token Request message type
2022-02-28 10:01:05 -05:00
zzz 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
zzz c19944384e SSU2: Fix packet numbering to match spec 2022-02-27 14:50:13 -05:00
zzz 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
zzz 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
zzz 66045cebc2 SSU2: Store RI in IES2 2022-02-27 05:41:48 -05:00
zzz 2b93dbbf48 SSU2: Add token support to EstablishmentManager 2022-02-27 05:26:04 -05:00
zzz 759f6968f6 Add SSU2 support to OMF 2022-02-26 17:15:07 -05:00
zzz e3db28542c SSU2: Fix overhead calculations 2022-02-26 16:33:35 -05:00
zzz e7f98e9243 SSU2: Add acks to data messages
implement buildPing() and buildACK()
2022-02-26 15:39:50 -05:00
zzz 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
zzz 6bb3657de2 SSU2: Start of packet handling
Store CipherStates in PeerState2
Add missing getVersion() overrides
2022-02-26 08:25:55 -05:00
zzz 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
zzz 140ab47354 Fix SSU2 enable logic 2022-02-24 14:42:33 -05:00
zzz da887f7c6c SSU2: Publish keys and version in address when enabled 2022-02-24 08:49:57 -05:00
zzz 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
zzz b8407a261e SSU2: ACK bitfield support and conversion to ACK block
WIP, not hooked in
2022-02-23 15:55:03 -05:00
zzz 969a8a5d8a SSU: Add support for SSU2 fragmentation to OMS 2022-02-23 15:22:40 -05:00
zzz b57d9f2f7e SSU: More prep of classes for SSU2 extension 2022-02-23 11:57:03 -05:00
zzz c9a97d889b SSU: Prep classes for SSU2 extension
add SSU2 states
2022-02-23 10:55:51 -05:00
zzz 51bdd9a283 SSU: Add getVersion() methods (prep for SSU2) 2022-02-23 09:25:21 -05:00
zzz 74dedcf7f0 SSU2: More WIP 2022-02-23 06:12:35 -05:00
zzz ae2b99b1c6 Build: Fix it 2022-02-22 14:53:41 -05:00
zzz 5ccbeca676 bump -1 2022-02-22 10:34:31 -05:00
zzz 63e202f8f0 SSU: Start of SSU2 support
WIP, not hooked in
2022-02-22 10:27:42 -05:00
zzz 80535875ad SSU: PacketHandler cleanup (prep for SSU2) 2022-02-22 10:22:16 -05:00
zzz f0ad921fd2 NetDB: Prevent rare deadlock via FloodfillMonitorJob at startup 2022-02-22 10:06:07 -05:00
zzz 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
zzz edc9d6fec5 NTCP: Reduce max writer threads 2022-02-22 09:07:58 -05:00
zzz 3b9c26fe8a 1.7.0 2022-02-21 09:12:59 -05:00
zzz 961936f8d5 bump for review 2022-02-18 13:58:02 -05:00
zzz d0ca1d38ca NTCP: Fixes for SSU disabled
Update RI reachability after first inbound connection
Allow local address in test mode
2022-02-09 06:39:18 -05:00
zzz 19712cfd95 SSU: Fix race NPE in debug logging 2022-02-06 09:51:46 -05:00
zzz 568b5e303f Tunnels: Avoid buggy routers
SSU: Don't bid on connection to buggy routers
2022-02-03 10:36:03 -05:00
Zlatin Balevsky 042c1e88aa fix junit deprecations, issue #339 2022-01-31 11:39:57 +00:00
zzz 5dd8139aad Reseed, DoH: Fixes for IPv6-only 2022-01-30 11:25:36 -05:00
zzz 13ee324d36 NTCP2: Clock skew handling improvements
as discussed in #ls2 meeting
- Bob replies with Session Created even if skewed,
  so that Alice finds out what the skew is
- Alice handles Session Created timestamp and drops if skewed,
  bans Bob, and updates clock if NTP failed
- If Alice does reply with SessionConfirmed, Bob will send a
  destroy with a skew error code
- Don't change skew error code if netdb store failed
- Fix skew adjustment for RTT by Bob
- Call setLastBadSkew() in the right places
- Fix ntcp.invalidInboundSkew and ntcp.invalidOutboundSkew stats
2022-01-26 07:28:43 -05:00
zzz afa7278080 NTCP: Ban IP if RI signature fails 2022-01-25 12:22:57 -05:00
zzz b6be2d7e65 bump -9 2022-01-25 09:42:33 -05:00
zzz 8bf87da4b1 Transport: BW limiter log and javadoc improvements
Portion of gitlab MR !49
2022-01-25 09:35:33 -05:00
zzz 8812e822f9 Util: CDPQ stat description tweak 2022-01-25 09:29:43 -05:00
zzz f17cd24dc8 UDP: Pass message priority through to the packets
Change UDP-Sender queue from CoDel to CoDelPriority
No change to CoDel params

UDP msg priorities:
High priority: ack-only, session request/created/confirmed, relay request, hole punch, injected
Low priority: ping, destroy, peer test, relay intro/response
2022-01-25 09:27:49 -05:00
zzz b9f53069bb Tunnels: Reimplement, re-enable using tunnel builds as a tunnel test,
but without ooming
disabled in 2009 because of ooms
2022-01-25 09:10:00 -05:00
zzz 21f5f7c148 Tunnels: Enable tunnel testing by default
disabled since 2011
2022-01-25 09:03:14 -05:00
zzz 175f043819 javadoc: Add message flow chart 2022-01-10 08:57:01 -05:00
zzz 7f4441078d Router: Prevent deadlock at startup
in the transports through PLRIJ via FNDF.publish()
2022-01-06 07:18:42 -05:00
zzz 131da9bdb9 javadoc fixes 2021-12-30 09:59:26 -05:00