Commit graph

86 commits

Author SHA1 Message Date
Adam Ierymenko
d2b49130b2 Fix tests, remove some dead code, fix a bug that prevented rekey rate limiting from working. 2023-01-06 20:39:20 -05:00
Adam Ierymenko
73e6be7959 Re-implement most of what Monica originally did, but with some variations:
- Went back to a single session counter instead of two counter states
 - Went to a full 64-bit counter in the header as recommended by Noise, turns
   out there is a good reason. It simplifies everything.
 - Implemented Monica's simpler stateless counter window algorithm, but
   also only one on the whole session.
 - Simplified some counter logic generally.
 - Header check codes are temporarily gone, coming back in a different form.

This is being committed "on top" of what was there instead of reverting the old
commits to preserve the history.
2023-01-06 19:51:09 -05:00
Adam Ierymenko
f0351b5400 Merge branch 'tetanus' of github.com:/zerotier/ZeroTierOne into tetanus 2023-01-05 16:10:53 -05:00
Adam Ierymenko
515a08f948 (1) break out Error for readability, (2) remove NOP packet type since it is no longer useful. 2023-01-05 16:10:25 -05:00
monica
a178a23ee7 corrected comment 2023-01-04 16:43:06 -05:00
monica
392d0a2b2a removed unnecessary boxing 2023-01-04 15:24:19 -05:00
monica
44d854e03a added explicit lifetime for session refs 2023-01-04 15:22:44 -05:00
Adam Ierymenko
29f6699924
Merge branch 'tetanus' into replay-attack-fixes 2023-01-04 11:23:34 -05:00
monica
b85e6c3d49 fixed comment 2023-01-03 17:32:15 -05:00
monica
735f40421b fixed multiple comments 2023-01-03 17:24:05 -05:00
monica
a2b3c780bb updated comment 2023-01-03 16:58:21 -05:00
monica
2233f8c535 added more documentation 2023-01-03 16:55:21 -05:00
monica
046ddbaf33 renamed for consistency 2023-01-03 11:20:37 -05:00
monica
40ef370204 added missing ratcheting enforcement 2023-01-03 11:19:32 -05:00
monica
b47ef35321 removed redundant state 2023-01-03 11:14:11 -05:00
monica
cbae1d8f4c restructured check code 2023-01-03 10:48:25 -05:00
mamoniot
fbd5e025d3 fixed comments 2022-12-29 13:48:43 -05:00
mamoniot
bc90b2da8d fixed comment typo 2022-12-29 13:45:08 -05:00
mamoniot
e1e73975fe fixed tests and incorrect rate limit check 2022-12-29 13:35:02 -05:00
mamoniot
4d16a30eac implemented no double bobbing 2022-12-29 13:04:29 -05:00
mamoniot
31f05bbd5e fixed duplicate rekey requests 2022-12-28 12:40:35 -05:00
mamoniot
53fe95c923 finished implementing ratchet count salting 2022-12-28 10:39:44 -05:00
mamoniot
c90faab4c0 prevented minor attack 2022-12-28 05:53:18 -05:00
mamoniot
87b40cd1a0 updated test 2022-12-27 22:56:15 -05:00
mamoniot
4738cedc49 updated test 2022-12-27 22:52:11 -05:00
mamoniot
dea6ec2a1e updated comments 2022-12-27 22:47:22 -05:00
mamoniot
eb6d5f94ec reverted bad change 2022-12-27 22:16:28 -05:00
mamoniot
eab4c3db3c updated comment 2022-12-27 22:02:25 -05:00
mamoniot
d3d7cc1a3c completed audit for threadsafety 2022-12-27 22:00:49 -05:00
mamoniot
bf3591f593 cleared warnings 2022-12-27 21:09:39 -05:00
mamoniot
5d72aabe17 got all tests to pass 2022-12-27 21:09:01 -05:00
mamoniot
8d1efcdffa finished protocol 2022-12-27 15:02:46 -05:00
mamoniot
52556d0d89 finished implementation of counter starting at 1 2022-12-27 14:25:20 -05:00
Adam Ierymenko
30d58bee76 Merge branch 'tetanus' of github.com:/zerotier/ZeroTierOne into tetanus 2022-12-27 13:03:58 -05:00
Adam Ierymenko
ebebb7c32f docs 2022-12-27 13:03:53 -05:00
mamoniot
402cf69b72 updated comment 2022-12-27 10:25:17 -05:00
mamoniot
fb20bbc538 implemented unfinished architecture 2022-12-27 10:22:30 -05:00
mamoniot
e445088cf2 fixed test 2022-12-26 23:11:08 -05:00
mamoniot
2c07136b5e fixed test 2022-12-26 23:05:59 -05:00
mamoniot
4b6bf0a4ad improved test 2022-12-26 21:34:09 -05:00
mamoniot
46a0c48745 implemented uninit 2022-12-26 21:17:21 -05:00
mamoniot
eee16167df finished testing new counter window 2022-12-26 21:07:32 -05:00
mamoniot
bcf646ecba reverted to earlier version 2022-12-26 18:05:00 -05:00
mamoniot
3e90ca889d added header clarification 2022-12-22 13:48:31 -05:00
Adam Ierymenko
e3c2005564 Incoming packet dedup and anti-replay in ZSSP. 2022-12-21 14:45:29 -05:00
mamoniot
cd6f29fa82 Merge branch 'tetanus' of https://github.com/zerotier/ZeroTierOne into tetanus 2022-12-19 10:56:35 -05:00
Adam Ierymenko
4db2cfdc8c constant time EQ function 2022-12-19 10:53:12 -05:00
mamoniot
1a72873ff6 added warning comment 2022-12-19 10:37:04 -05:00
Adam Ierymenko
51faf9b2da A bit more... 2022-12-16 12:55:17 -05:00
Adam Ierymenko
4219ad3078 Moar cleanup. 2022-12-16 12:37:43 -05:00