Commit graph

6342 commits

Author SHA1 Message Date
mamoniot
5bf62d8236
fixed typo 2023-03-23 13:20:45 -04:00
mamoniot
7cc8db2187
fixed comment 2023-03-23 13:18:00 -04:00
Monica Moniot
2f61e59e5c
Merge pull request #1925 from zerotier/tetanus-defrag-2
Added init packet expiry and added Debug impl for arc_pool
2023-03-23 12:20:41 -04:00
mamoniot
d0c00becdc
changed variables so cargo fmt is less ugly 2023-03-23 12:13:29 -04:00
mamoniot
4f064dd389
ran cargo fmt 2023-03-23 12:08:58 -04:00
mamoniot
cada04545e
added init packet expiry 2023-03-23 12:04:48 -04:00
mamoniot
4c26109a09
improved documentation and added debug 2023-03-23 10:29:41 -04:00
Monica Moniot
d042866687
Merge pull request #1924 from zerotier/tetanus-defrag-2
Fixed the defragmenter and implement DOS resistance for init packets
2023-03-23 09:40:24 -04:00
mamoniot
8ddc054cfb
ran cargo fmt 2023-03-23 08:52:10 -04:00
mamoniot
1925d0f98e
added comments and reduced path requirements 2023-03-22 23:27:37 -04:00
mamoniot
adcf553f18
corrected comment 2023-03-22 19:15:07 -04:00
mamoniot
562631f18d
added counter randomization 2023-03-22 19:14:25 -04:00
mamoniot
9e4e099843
got new defragmenter working 2023-03-22 18:55:35 -04:00
mamoniot
1e32e0ad2c
begun changes 2023-03-22 18:29:14 -04:00
Monica Moniot
d471138eb5
Merge pull request #1918 from zerotier/tetanus-arc_pool
added arc_pool to tetanus
2023-03-21 08:46:12 -04:00
Monica Moniot
1b789779d8
Merge pull request #1913 from zerotier/tetanus-sha512
More Noise Compliant ZSSP
2023-03-21 08:42:35 -04:00
Monica Moniot
e5013eacab
Merge pull request #1919 from zerotier/tetanus-aes-gmac-siv
Tetanus fixed aes gmac siv
2023-03-21 08:26:06 -04:00
mamoniot
c2125db444
added pub option 2023-03-21 08:25:15 -04:00
mamoniot
984782d779
made the correctness tests less aggressive 2023-03-20 17:32:43 -04:00
mamoniot
68fc397d34
Merge branch 'tetanus-aes-gmac-siv' into tetanus-arc_pool 2023-03-20 17:30:36 -04:00
mamoniot
15a80d9a12
ran cargo fmt 2023-03-20 17:24:31 -04:00
mamoniot
b5d8290df7
fixed aes_gmac_siv 2023-03-20 17:23:29 -04:00
mamoniot
7ec194a6d1
ran cargo fmt 2023-03-20 15:29:02 -04:00
mamoniot
f6540e129a
added arc_pool to tetanus 2023-03-20 15:26:15 -04:00
mamoniot
e3268fa524
fixed comment 2023-03-14 18:19:21 -04:00
mamoniot
87eb124551
ran cargo fmt 2023-03-14 18:16:21 -04:00
mamoniot
3b3ed9765d
fixed formatting 2023-03-14 18:15:24 -04:00
mamoniot
2c607f72d8
made rekeying noise compliant 2023-03-14 18:14:01 -04:00
mamoniot
7a7703a268
switched to sha512 everywhere 2023-03-14 17:45:48 -04:00
Adam Ierymenko
d0446a965e
Fixes to crypto on macOS, a lot of cleanup, and work on full state replication for V2 VL2 (#1911)
* Move some stuff around in prep for a VL2 rework and identity rework.

* Mix ephemeral keys into "h"

* More topology stuff for VL2.

* Simplify key queue, fix macOS issues with bindings, and no need to cache PSK forever.

* Some more merge fixes.

* A bunch of ZSSP cleanup and optimization. Runs a bit faster now.

* Remove some unused util code.

* scatter gather stuff

* The scatter/gather algorithm works.

* Make OpenSSL init get called automatically at process launch, and some more scatter gather work.

* added support for cloning on EcKey

* Scatter/gather, move SG into VL2 since that is where it will be used, add an array chunker to utils::memory

* Simplify some Rust generic madness.

* docs

* Some cleanup and reorg.

* Bring back AES-GMAC-SIV tests.

* Turns out a Mutex is not really any slower...

---------

Co-authored-by: mamoniot <mamoniot@protonmail.com>
2023-03-14 15:29:20 -04:00
Monica Moniot
faf4c9a5b1
implemented noise_KKpsk0 (#1909)
* implemented noise_KKpsk0

* used cargo fmt
2023-03-13 13:21:30 -04:00
Adam Ierymenko
f66a2a7ef9
Tetanus adam (#1906)
* Move some stuff around in prep for a VL2 rework and identity rework.

* Mix ephemeral keys into "h"

* More topology stuff for VL2.

* Simplify key queue, fix macOS issues with bindings, and no need to cache PSK forever.

* Some more merge fixes.

* A bunch of ZSSP cleanup and optimization. Runs a bit faster now.
2023-03-10 17:03:22 -05:00
Monica Moniot
f2e2944658
tetanus-fixes (#1903) 2023-03-10 08:35:10 -05:00
Sean OMeara
d3baf083f1
removing mips64le (#1900) 2023-03-10 10:03:07 +01:00
Sean OMeara
4692193ec4
cargo fmt
* using mips64le
* cargo fmt
2023-03-10 09:40:26 +01:00
Sean OMeara
2cbc15c5ef
removing slower platforms from drone 2023-03-10 07:29:50 +01:00
Sean OMeara
192ee682ff
removing slower platforms from drone 2023-03-10 07:27:42 +01:00
monica
eb0425a28f
fixed multithreading bug 2023-03-10 00:22:53 -05:00
monica
285aab8080
improved pool mutex logic 2023-03-09 23:44:30 -05:00
monica
b3053f70e7
improved aes get 2023-03-09 23:24:43 -05:00
Adam Ierymenko
d170d91b8e Fix a locking issue in ZSSP and use hmac_sha512_secret everywhere, also clean up something in macOS AES. 2023-03-09 19:00:03 -05:00
Monica Moniot
164c7bf561
Tetanus custom bindings with macos and threadsafety bugfix (#1898)
* first commit

* cleared errors

* added init

* adding macos

* finished import

* fixed macos aes

* fixed lib

* improved openssl integration

* fixed multithreading bug

* broke something

* fixed bug

* got compilation working

* fixed threadsafety issue
2023-03-09 18:38:58 -05:00
monica
f906c9e0e1
added more specific NIST key usage labels 2023-03-08 16:57:29 -05:00
Adam Ierymenko
ccb5ff8e6d Add PSK to h as well. 2023-03-08 16:00:23 -05:00
Adam Ierymenko
5fbaf28c12 Mix ephemeral keys into "h" 2023-03-08 15:51:56 -05:00
Adam Ierymenko
cd6d8d36b0 Simplify some packet building code. 2023-03-08 15:03:27 -05:00
Adam Ierymenko
94b3e208e7 Ensure that the 'h' mechanism from Noise authenticates part one of the final packet in part two's MAC. 2023-03-08 14:57:32 -05:00
Adam Ierymenko
1c5de7473d Implement noise "h" 2023-03-08 14:22:47 -05:00
Adam Ierymenko
757cc88abc Make ZSSP use just GCM to simplify, and change final ACK to auth and encrypt public blob separately from meta-data. 2023-03-07 13:03:48 -05:00
Adam Ierymenko
e66477c168 docs 2023-03-06 10:53:41 -05:00