Mathias Hall-Andersen
723a1b8e85
Port replay filter and sketch router state
2019-08-12 21:04:19 +02:00
Mathias Hall-Andersen
0e16901261
Work on sketching router interface
2019-08-10 17:09:02 +02:00
Mathias Hall-Andersen
a50079552a
Kill GC thread on Ratelimiter drop
2019-08-10 16:01:56 +02:00
Mathias Hall-Andersen
b33381331f
Concurrent rate limiter
...
The new rate limiter allows multiple simultaneous .allow calls.
Also delegated GC to tokio.
2019-08-07 22:51:58 +02:00
Mathias Hall-Andersen
f7f1088123
Added initiation flood protection
2019-08-07 11:29:39 +02:00
Mathias Hall-Andersen
a12e6e139c
Add rate limiter check to handshake messages.
2019-08-06 13:02:13 +02:00
Mathias Hall-Andersen
8f488882be
Prepare for resuse of message buffers for response
2019-08-05 22:08:18 +02:00
Mathias Hall-Andersen
c62aca70a3
Multiple mac2 can be checked concurrently
2019-08-05 21:51:16 +02:00
Mathias Hall-Andersen
abc8cacf44
Checking of mac2 fields on initiation & response
...
In addition, moved the rng out.
This will allow allocating one instance per worker,
rather than every call.
2019-08-05 21:37:31 +02:00
Mathias Hall-Andersen
baebac5bec
Validate mac2 field
2019-08-03 14:45:45 +02:00
Mathias Hall-Andersen
fe0c1532d9
Added property-based test for full DoS interaction
2019-08-03 14:36:14 +02:00
Mathias Hall-Andersen
2bdcda067c
Remove rust-crypto, move to libsodium bindings
2019-08-02 17:18:37 +02:00
Mathias Hall-Andersen
d6e40f9ea6
Unit test for mac1 validation
2019-08-01 13:56:42 +02:00
Mathias Hall-Andersen
0f92468f69
Successfully validate mac1 field
2019-08-01 13:25:50 +02:00
Mathias Hall-Andersen
ab98d9dced
Make unit tests pass
2019-08-01 11:12:30 +02:00
Mathias Hall-Andersen
1cfd5aea1a
Move to nested handshake message structure
...
Having the nested structure:
Handshake Message:
Noise part (zerocopy message)
MAC footer part (zerocopy message)
Greatly simplifies processing the MAC fields,
since the MAC footer covers the noise part, which can
be accessed as bytes using AsBytes.
2019-07-30 15:28:11 +02:00
Mathias Hall-Andersen
f46f36ad29
Begin work on MAC field processing
2019-07-29 12:45:10 +02:00
Mathias Hall-Andersen
2c81abbe79
Restructured for wireguard-rs
2019-07-28 17:09:27 +02:00
Mathias Hall-Andersen
59190dff33
Added ability to remove peer from device
2019-07-26 22:36:24 +02:00
Mathias Hall-Andersen
97e5e1eacc
Only impl. fmt for messages in test
2019-07-26 18:45:20 +02:00
Mathias Hall-Andersen
5efb318171
Move parser code to zerocopy
2019-07-26 15:46:24 +02:00
Mathias Hall-Andersen
43b56dfb58
Formatting
2019-07-25 22:04:35 +02:00
Mathias Hall-Andersen
27f8fd8e34
Fixed GenericArray version
2019-07-25 21:43:25 +02:00
Mathias Hall-Andersen
409ba51750
Added opaque identity to output
2019-07-25 18:23:30 +02:00
Mathias Hall-Andersen
d2c4ad17fe
Avoid race-condition when allocating a new identity
2019-07-25 13:06:11 +02:00
Mathias Hall-Andersen
db8328bb3b
Fix TAI64 epoch
2019-07-24 18:50:05 +02:00
Mathias Hall-Andersen
95080c870f
Tested full handshake
2019-07-24 18:47:33 +02:00
Mathias Hall-Andersen
c77697b8ed
Finish handshake exchange
2019-07-22 23:40:04 +02:00
Mathias Hall-Andersen
e0e95d9679
Begin creation of response
2019-07-18 19:52:23 +02:00
Mathias Hall-Andersen
14e9647afd
Begin processing of initation
2019-07-18 13:20:03 +02:00
Mathias Hall-Andersen
4817ca7906
Better seperation and introduction of timestamp
2019-07-17 16:28:21 +02:00
Mathias Hall-Andersen
55418344ae
Use precomputed static-static
2019-07-16 23:41:52 +02:00
Mathias Hall-Andersen
5a5d09bb41
Create initiation message
2019-07-16 23:37:25 +02:00
Mathias Hall-Andersen
abf502f73c
Test precomputed values
...
Sanity check
2019-07-14 19:04:59 +02:00
Mathias Hall-Andersen
7805fd9f59
Begin work on creating initiation
2019-07-13 23:15:01 +02:00
Mathias Hall-Andersen
dfed3b448f
Add peers and psks to device
2019-07-12 14:49:53 +02:00
Mathias Hall-Andersen
0c05104e8b
Add unit tests
2019-07-11 21:53:44 +02:00
Mathias Hall-Andersen
9154c997fa
Encoding / decoding of messages
2019-07-10 18:22:48 +02:00