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
eae915b2e8
Fixed outbound unittest
2019-09-07 19:19:51 +02:00
Mathias Hall-Andersen
7b61ee4c2d
Write inbound packets to TUN device
2019-09-07 18:38:19 +02:00
Mathias Hall-Andersen
8551e03ee3
Added outbound benchmark
...
Decent performance (~1.5Gb/s on old XPS laptop from 2014),
biggest bottleneck seems to be the heap allocator,
swapping with jemalloc yields 2x performance.
2019-09-05 19:58:12 +02:00
Mathias Hall-Andersen
b45d49201d
Output test number and parameters to debug
2019-09-04 21:44:11 +02:00
Mathias Hall-Andersen
af9c76452f
More extensive outbound test
2019-09-04 21:42:10 +02:00
Mathias Hall-Andersen
310be99fa6
Expanded outbound test
2019-09-04 19:22:47 +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
62d71a7a67
Reconsider inorder queueing
2019-09-02 20:22:47 +02:00
Mathias Hall-Andersen
929eadb651
Outbound cryptkey routing
2019-09-01 17:16:01 +02:00
Mathias Hall-Andersen
d16521f4c7
Added Bind trait to router
2019-08-31 21:00:10 +02:00
Mathias Hall-Andersen
46d76b80c6
Reduce number of type parameters in router
...
Merge multiple related type parameters into trait,
allowing for easier refactoring and better maintainability.
2019-08-31 20:25:16 +02:00
Mathias Hall-Andersen
c823af1a9c
Explicitly clear t0 in KDF macro
2019-08-31 15:52:41 +02:00
Mathias Hall-Andersen
7e5852ec26
Fix race condition on response processing
2019-08-31 15:46:18 +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
6785aa4cb5
Join with worker threads on device drop
2019-08-28 16:27:26 +02:00
Mathias Hall-Andersen
8e1a2cabd3
Renamed confirmed -> initator on keypair
...
Done to reflect that the property is immutable,
unlike the "confirmed" field on the decryption state.
2019-08-28 12:14:32 +02:00
Mathias Hall-Andersen
10e6436e6b
Start worker threads for device
2019-08-28 11:52:08 +02:00
Mathias Hall-Andersen
a1b50aca26
Add confirm_key stub
2019-08-27 22:30:24 +02:00
Mathias Hall-Andersen
40533b9ffd
Use confirmation status from keypair in dec-state
2019-08-27 22:21:31 +02:00
Mathias Hall-Andersen
e5f515098a
Work on inbound/outbound consume code
2019-08-27 22:20:22 +02:00
Mathias Hall-Andersen
cdbcd55eda
Added sealing/opening to the router worker
2019-08-27 21:17:55 +02:00
Mathias Hall-Andersen
e28a9274d0
Removed unused sub-module
2019-08-27 11:37:20 +02:00
Mathias Hall-Andersen
3eb7f5e423
Removed unused sub-module
2019-08-27 11:36:33 +02:00
Mathias Hall-Andersen
a80e64014c
Unbox callback closures
...
Accepted the more verbose type signatures and added a callback to
request new key-material.
2019-08-27 11:28:20 +02:00
Mathias Hall-Andersen
e16151419d
Work on callback structure for cryptkey router
2019-08-26 15:01:47 +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
e88ed5d02d
Allow DoS mitigation to take any endpoint impl.
2019-08-23 11:43:29 +02:00
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