Commit Graph

149 Commits

Author SHA1 Message Date
Mathias Hall-Andersen 9528d19cc9 Derieve clone for timer (handle) 2019-08-22 15:46:34 +02:00
Mathias Hall-Andersen 543efad980 Added benchmarks for timer code 2019-08-22 15:29:02 +02:00
Mathias Hall-Andersen c5aba7183d Initial version of timer framework 2019-08-22 14:59:15 +02:00
Mathias Hall-Andersen 9cef264581 Ensure peer threads are stopped on drop 2019-08-20 21:19:53 +02:00
Mathias Hall-Andersen f4da998812 Removed platform mod 2019-08-20 14:34:41 +02:00
Mathias Hall-Andersen 7e727d120b Restructure and job stealing work queue 2019-08-20 14:33:11 +02:00
Mathias Hall-Andersen 31ef3e2871 Implemented keypair_confirm 2019-08-18 15:44:20 +02:00
Mathias Hall-Andersen 78ab1a93e6 Remove peer from cryptkey router on drop 2019-08-17 16:31:08 +02:00
Mathias Hall-Andersen 5aeea9b619 Begin drafting cross-platform interface 2019-08-16 22:00:48 +02:00
Mathias Hall-Andersen 726163b7f1 Layout work on router 2019-08-16 12:33:10 +02:00
Mathias Hall-Andersen 657a1ccb44 Implement add_keypair semantics 2019-08-13 19:42:05 +02:00
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