Commit Graph

5071 Commits

Author SHA1 Message Date
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 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 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
zzz acf3abb19b Ratchet: Updates
- Modify NextKey, start of support (WIP)
- Don't expect DSM reply to ECIES destinations
- Debug setting to always sent ack request
2020-03-27 16:55:53 +00:00
zzz 0c19216c4c Profiles: Remove unused ProfileManager.summarizePeers() 2020-03-24 13:08:23 +00:00
zzz f2787a8df6 Profiles: Don't decay during first 90 minutes of uptime
Change decay from .75 twice a day to .84 four times a day;
approx. same overall decay in a day (.5)
Parameterize decay variables for clarity
Fix multiple NPEs in ProfileOrganizer CLI
Other cleanups
2020-03-24 13:03:40 +00:00
zzz 7654a0af42 Tunnels: Make new tunnel selection round-robin
Remove one-second stickiness, as OCMOSJ caching does the job better
http://zzz.i2p/topics/2454
2020-03-24 12:33:29 +00:00
zzz 5c1700c2ab Ratchet: Make DI optional in ACK request
Don't put ACK request in NS or NSR
2020-03-20 19:01:56 +00:00
zzz 6487fb0516 Tunnels: FragmentHandler cleanup (ticket #2699) 2020-03-20 12:32:28 +00:00
zzz 7707c4bb94 Ratchet: Stub out ack and ack request blocks 2020-03-15 18:40:01 +00:00
zzz 8b075f26bf Console: Fix wizard XHR initialization 2020-03-01 17:58:55 +00:00