Commit Graph

5189 Commits

Author SHA1 Message Date
zzz
baa26aec26 Tests: Prevent ratchet NPE in local tests 2020-04-25 11:01:27 +00:00
zzz
9da290831b Ratchet: Variable tagset lookahead/trim limits
Remove total size trimming, it's redundant
2020-04-25 10:32:33 +00:00
zzz
a7de9a7f24 i2psnark: Don't mark torrent BAD on I2CP errors (ticket #2725)
Logging:
 - Log to wrapper log after log manager shutdown (ticket #2725)
 - sync methods
Router:
 - Allow clients more time to get disconnect messages at shutdown (ticket #2725)
 - Don't delete router context at shutdown, to prevent a late
   creation of a new app context (ticket #2725)
 - Don't try to delete ping file on Android
javadocs
2020-04-24 12:44:17 +00:00
zzz
f2f6dfbf18 Router: Better enc type rejection message 2020-04-23 19:31:17 +00:00
zzz
5e2db982dd Router: Check for key certs in dests (prop. 145) 2020-04-23 19:16:31 +00:00
zzz
da8f49a712 Router: GarlicMessage debug logging improvements 2020-04-23 18:56:03 +00:00
zzz
a97085ac67 Ratchet: Expire outbound TS based on inbound last-used
Fix outbound expiration time
Reduce pending tagset expiration
Increase max send acks
Increase max next key replies
Don't save ref to NS callback once called
Sync tagset for debug output
2020-04-23 16:21:25 +00:00
zzz
b182562c80 Router: Fix logging NPE (thx zlatinb) 2020-04-21 17:01:03 +00:00
zzz
25a80c78b5 Build: Manifests for test, source, and javadoc jars 2020-04-21 12:52:23 +00:00
zzz
0cc1861649 Streaming: Single retransmit timer per connection (ticket #2715)
Only instantiate ResendPacketEvent for fast retransmit
Move packet timeout field from ResendPacketEvent to PacketLocal
Set window size to 1 on timeout
Always adjust window when acked, even if the packet was sent more than once
Reduce INITIAL_WINDOW_SIZE from 6 to 3 to reduce router DH overhead
Set maximum burst retransmissions to 16
Closer compliance to RFCs 5681 and 6298
Prep for additional changes (Westwood)
Other minor cleanups
Original patch from zlatinb
2020-04-19 14:59:08 +00:00
zzz
57cd4c5843 Ratchet: Adaptive order of muxed decrypt based on previous traffic 2020-04-19 14:21:24 +00:00
zzz
73886d06e8 Ratchet: Fix tagset remaining calculation
More efficient tag insantiation
Debug page fixes
Javadoc fixes
Minor cleanups
2020-04-19 10:59:32 +00:00
zzz
108b3a2363 Tests: Add I2CP port option to LocalClientManager 2020-04-17 13:19:41 +00:00
zzz
35bb5896a1 Streaming: Slow start fix from zlatinb 2020-04-17 12:02:26 +00:00
zzz
da9bfd48c0 Crypto: Disable speculative AES tagset usage 2020-04-17 11:59:59 +00:00
zzz
cc5f13fc5e ElG/AES debug log tweaks 2020-04-16 13:27:53 +00:00
zzz
7b47d3f314 Streaming:
Fix slow start (ticket #2708)
Reset retransmission timer after ack (ticket #2710)
Minor cleanups to prep for additional changes
Original analysis and patches from zlatinb
2020-04-14 12:59:26 +00:00
zzz
0d2dbcc8fc Ratchet: Additional muxed decrypt fix 2020-04-14 12:57:50 +00:00
zzz
e2cc62a21f Ratchet: Improve muxed decrypt
Try tags for both ratchet and AES before DH for either
Return empty CloveSet for ratchet errors after successful decrypt
Don't corrupt data in ECIESEngine on NS/NSR failure, for subsequent ElG attempt
Log tweaks
2020-04-14 12:13:00 +00:00
zzz
5e00bc6510 Streaming: Fix retransmission time (ticket #2709)
Remove unneeded checks on RTO max/min
Return new value from doubleRTO() (prep for ticket #2715)
2020-04-11 17:04:55 +00:00
zzz
80ae2ccea6 NTCP: Retain pending messages when replacing connection 2020-04-09 17:27:23 +00:00
zzz
370b7f1124 NetDB: Remove class M from auto-floodfill;
only 1% of floodfills are class M, and on average
they store 25% less leasesets than class N.
Reverts change to add M in 2015.
2020-04-08 20:20:55 +00:00
zzz
26b90b9d17 NTCP: More EnumSets 2020-04-08 15:36:36 +00:00
zzz
3fa15824ee Ratchet: TagSet cleanups
Tag.toBase64() optimization
Javadoc fixes
2020-04-08 13:16:15 +00:00
zzz
83a4f5f2f0 Transport: Hang the X25519 keygen thread off CommSystem so Ratchet can use it
Don't start NTCP if neither 1 nor 2 is enabled
2020-04-07 13:23:36 +00:00
zzz
f6b5a2d493 Ratchet: Simplify OB Session; there can be only one active OB TS
Fix bugs handling of out-of-order nextkeys
Expire unacked tagsets every time through
Remore unused OB session methods
2020-04-06 20:27:47 +00:00
zzz
14b33a1e4c Ratchet: Don't allocate space for tagset keys initially 2020-04-06 15:23:30 +00:00
zzz
c99adeeb61 Ratchet: Use append() for keys too 2020-04-06 14:35:03 +00:00
zzz
b979a97905 Ratchet: Use SparseArray.append() instead of put() for efficiency 2020-04-06 14:29:07 +00:00
zzz
916b296ee0 Ratchet: Expire unused tagsets sooner 2020-04-06 13:54:49 +00:00
zzz
f9f64a441b Ratchet: Fix sorting for sessions on /debug 2020-04-06 13:22:58 +00:00
zzz
2482df7121 Ratchet: Decrypt ES messages in-place 2020-04-06 13:02:27 +00:00
zzz
f9d7cfa7e1 log level tweak 2020-04-06 12:46:16 +00:00
zzz
5229c0e811 Ratchet: Replace session if NS received after 3 minutes
Update lastUsed on NSR or first tag received
2020-04-06 12:45:46 +00:00
zzz
1ca9674f3f RatchetSKM: Group debug output for IB tagsets by pubkey, not session key
ElGamalSKM: Debug header change
ElGamalAESEngine: Minor cleanups for efficiency
2020-04-06 11:31:18 +00:00
zzz
c77e41c59e Ratchet: Next Key completion
Fix NextSessionKey constructor with null data
Fix handling of next keys
Fix sending OB next keys
Fix RatchetSessionTag.equals() for use in SKM
Delete OB NSR tagset when adding OB ES tagset
Log tweaks
2020-04-06 10:42:44 +00:00
zzz
8c4410277d Ratchet: Next Key WIP, got first ratchet working
Remove more ElG tag code from SKM
2020-04-04 11:56:25 +00:00
zzz
6b05acff8d Ratchet: Next Key WIP 2020-04-01 18:44:06 +00:00
zzz
471b53698a Ratchet: Validate NS datetime block; add NS key bloom filter 2020-04-01 12:58:24 +00:00
zzz
7404bdc4fd NetDB: Add support for database lookup ratchet replies (proposal 154)
Add support for ElG-encrypted database lookups and stores from ECIES-only destinations
Add ratchet support to MessageWrapper
Application-specific timeout for MessageWrapper-generated tags
Refactor tunnel TestJob to use MessageWrapper
Add ratchet support to TestJob
TestJob cleanups
2020-03-31 19:21:35 +00:00
zzz
9307cc8a0c Ratchet: Add support for database lookup replies (proposal 154) 2020-03-31 18:43:52 +00:00
zzz
6dd0b23c61 Ratchet: Remove ID and DI from ACKREQ block
Use callback != null to specify request for ack
2020-03-30 20:09:29 +00:00
zzz
97f002bfb5 minor optimization 2020-03-30 17:03:20 +00:00
zzz
22ca4d0e44 Ratchet: GMB method to encrypt to a single key/tag for prop. 154 2020-03-30 16:53:14 +00:00
zzz
86fc6478f5 debug log tweak 2020-03-30 16:48:41 +00:00
zzz
dee92b5290 Ratchet: Updates
- Prep for prop. 154 with SingleTagSet
- Variable timeout for tagsets
- Start cleaner sooner
- Make key optional in next key block
- HTML debug output improvement
- log tweaks and javadocs
2020-03-30 16:44:42 +00:00
zzz
b19b529afe Ratchet: Expire tags too far behind current one 2020-03-29 17:53:28 +00:00
zzz
0c4cf5d3cd Ratchet: Add timeout job in OCMOSJ 2020-03-29 12:04:13 +00:00
zzz
eeb7ea4cae Ratchet: Acks and callbacks
- Store callbacks and ES acks in OutboundSession
- Calls from engine to SKM for callbacks and acks
- Pass key ID and remote key back in SessionKeyAndNonce
- Implmenent multiple acks in ACK block
2020-03-28 13:22:32 +00:00
zzz
23634afbc9 Ratchet: More updates
- Reply callback from ratchet to OCMOSJ (ES TODO)
- Store key ID in tagset (prep for next key)
- Move debug tagset ID from engine to tagset
- OCMOSJ minor cleanups
2020-03-27 19:38:24 +00:00