Commit Graph

51 Commits

Author SHA1 Message Date
Mathias Hall-Andersen
16f21989b4 Elimited Daemonize dependency 2020-05-17 22:07:59 +02:00
Mathias Hall-Andersen
ff9b7e3ed2 Bumped dependencies 2020-05-13 23:22:49 +02:00
Mathias Hall-Andersen
ded348d586 Added checks for zero shared-secret
To mirror the behavior from the kernel module,
as per private correspondence with Jason.
2020-03-29 23:07:00 +02:00
Mathias Hall-Andersen
12a7b371d4 Restructuring and dependency version bump. 2020-03-29 18:21:48 +02:00
Mathias Hall-Andersen
f2ee976d06 Upgraded treebitmap dependency 2020-03-16 12:41:59 +01:00
Mathias Hall-Andersen
8de2305cc7 Fixed unit tests 2020-02-21 00:31:00 +01:00
Mathias Hall-Andersen
5e6edb280e Bumped crate versions. 2020-02-12 21:38:25 +01:00
Mathias Hall-Andersen
dcd567c08f Squashed commit of the following:
commit 1e26a0bef44e65023a97a16ecf3b123e688d19f7
Author: Mathias Hall-Andersen <mathias@hall-andersen.dk>
Date:   Sat Feb 1 14:36:50 2020 +0100

    Initial version of sticky sockets for Linux

commit 605cc656ad235d09ba6cd12d03dee2c5e0a9a80a
Author: Mathias Hall-Andersen <mathias@hall-andersen.dk>
Date:   Thu Jan 30 14:57:00 2020 +0100

    Clear src when sendmsg fails with EINVAL

commit dffd2b228af70f681e2a161642bbdaa348419bf3
Author: Mathias Hall-Andersen <mathias@hall-andersen.dk>
Date:   Sun Jan 26 14:01:28 2020 +0100

    Fix typoes

commit 2015663706fbe15ed1ac443a31de86b3e6c643c7
Author: Mathias Hall-Andersen <mathias@hall-andersen.dk>
Date:   Sun Jan 26 13:51:59 2020 +0100

    Restructure of public key -> peer state

    Restructured the mapping of public keys to peer state in the project.
    The handshake device is now generic over an opaque type,
    which enables it to be the sole place where public keys are mapped to
    the peer states.

    This gets rid of the "peer" map in the WireGuard devices
    and avoids having to include the public key in the handshake peer state.

commit bbcfaad4bcc5cf16bacdef0cefe7d29ba1519a23
Author: Mathias Hall-Andersen <mathias@hall-andersen.dk>
Date:   Fri Jan 10 21:10:27 2020 +0100

    Fixed bind6 also binding on IPv4

commit acbca236b70598c20c24de474690bcad883241d4
Author: Mathias Hall-Andersen <mathias@hall-andersen.dk>
Date:   Thu Jan 9 11:24:13 2020 +0100

    Work on sticky sockets
2020-02-01 14:39:19 +01:00
Mathias Hall-Andersen
d4f5d5b723 Fixed typo in under load code 2019-12-27 18:01:11 +01:00
Mathias Hall-Andersen
fd3ba63e80 Revert to crossbeam 2019-12-16 15:26:15 +01:00
Mathias Hall-Andersen
e0db9861bc Added profiler feature 2019-12-14 13:37:51 +01:00
Mathias Hall-Andersen
6566796387 Remove crossbeam dependency 2019-12-10 18:17:48 +01:00
Mathias Hall-Andersen
00c1ea17d5 Remove futures from dependencies 2019-12-06 21:58:01 +01:00
Mathias Hall-Andersen
dee23969f5 Daemonization 2019-11-21 17:12:00 +01:00
Mathias Hall-Andersen
92dbb4c46a Clean dependencies and imports 2019-11-21 11:43:16 +01:00
Mathias Hall-Andersen
c413417196 Remove unused dependencies 2019-10-30 16:29:31 +01:00
Mathias Hall-Andersen
4ff328b7da First full test of pure WireGuard 2019-10-28 14:48:24 +01:00
Mathias Hall-Andersen
a08fd4002b Work on Linux platform code 2019-10-13 22:26:12 +02:00
Mathias Hall-Andersen
794933d6dd Work on peer timers 2019-09-22 21:35:06 +02:00
Mathias Hall-Andersen
32c030367c WIP: Handshake queue and workers 2019-09-15 21:10:23 +02:00
Mathias Hall-Andersen
02d9bdcc96 Full inbound/outbound router test 2019-09-10 21:42:21 +02:00
Mathias Hall-Andersen
e371d39052 Begin work on full router interaction unittest 2019-09-08 12:59:35 +02:00
Mathias Hall-Andersen
af9c76452f More extensive outbound test 2019-09-04 21:42:10 +02:00
Mathias Hall-Andersen
6d11da441b Simply passing of JobBuffer ownership 2019-09-04 19:08:13 +02:00
Mathias Hall-Andersen
f55014ef8f Wake workers when submitting work 2019-09-02 23:32:07 +02:00
Mathias Hall-Andersen
929eadb651 Outbound cryptkey routing 2019-09-01 17:16:01 +02:00
Mathias Hall-Andersen
51179f5433 Better management of key material 2019-08-31 15:03:14 +02:00
Mathias Hall-Andersen
0520b28ac2 Move to RustCrypto AEAD crate for handshake 2019-08-30 19:46:00 +02:00
Mathias Hall-Andersen
cdbcd55eda Added sealing/opening to the router worker 2019-08-27 21:17:55 +02:00
Mathias Hall-Andersen
5f3c4d2e27 Update the blake2 crate to fix bug upstream
Included basic sanity check for the HKDF macroes, to avoid regression in future.
2019-08-26 15:00:14 +02:00
Mathias Hall-Andersen
2272e5250f Move to hjul crate
Moved timer code into seperate crate (`hjul').
2019-08-24 23:41:05 +02:00
Mathias Hall-Andersen
c5aba7183d Initial version of timer framework 2019-08-22 14:59:15 +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
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
a12e6e139c Add rate limiter check to handshake messages. 2019-08-06 13:02:13 +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
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
2c81abbe79 Restructured for wireguard-rs 2019-07-28 17:09:27 +02:00
Mathias Hall-Andersen
5efb318171 Move parser code to zerocopy 2019-07-26 15:46:24 +02:00
Mathias Hall-Andersen
27f8fd8e34 Fixed GenericArray version 2019-07-25 21:43:25 +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
5a5d09bb41 Create initiation message 2019-07-16 23:37:25 +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