Commit Graph

15 Commits

Author SHA1 Message Date
Luca Fulchir b682068dca
Test and fix shutdowns
we have a Quick but partial shutdown, which lets the async "threads"
work in the background and shutdown after a bit more time

and the graceful/full shutdown, which waits for everything.

Unfortunately `Drop` can't manage async and blocks everything,
no way to yeld either, so if we only have a thread
we would deadlock if we tried to stop things gracefully

Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-06-11 22:45:40 +02:00
Luca Fulchir c6a3bf0820
More work on connect(), use our own Random
We use :💍:rand::SystemRandom, but we need to wrap it
for a couple of traits needed by ::x25519_dalek

Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-05-30 10:52:54 +02:00
Luca Fulchir c0d6cf1824
Per-thread work loop
This will let us have a lot less locking.
We can do better in the future with ebpf and pinning connection to
a specific CPU with multiple listen() points on the same address,
but good enough for now

Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-05-23 18:20:08 +02:00
Luca Fulchir f53ef95c73
Track new connection
Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-02-25 22:25:52 +01:00
Luca Fulchir 4157c207a3
DirSync response serialization
Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-02-25 15:36:14 +01:00
Luca Fulchir 59394959bd
MPMC queue to distribute work on threads
Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-02-24 22:00:56 +01:00
Luca Fulchir 1d5316c738
chacha20poly1305 decryption
Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-02-17 23:09:49 +01:00
Luca Fulchir a39767d32b
More work on ciphers and hkdf
Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-02-17 14:59:02 +01:00
Luca Fulchir 238a0a5516
More work on handshake. obviously unfinished
Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-02-16 19:11:45 +01:00
Luca Fulchir e3af78eaba
Initial half-done Handshake stubs
Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-02-15 15:50:54 +01:00
Luca Fulchir 70038b8558
License, ConnectionID, flake update
Clarified license with Apache2-with-LLVM exception

Initial connection id, updated flakes

Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-02-15 11:14:13 +01:00
Luca Fulchir 3797ca869d
DNSSEC resolver, record encoding/decoding
Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-02-08 19:03:31 +01:00
Luca Fulchir 3e4ef61edb
DNSSEC resolver initialization
Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-02-04 16:21:16 +01:00
Luca Fulchir 104cbb6126
Stub for libFenrir
Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-02-03 19:18:34 +01:00
Luca Fulchir e46fbdb669
Initial empty project
Signed-off-by: Luca Fulchir <luca.fulchir@runesauth.com>
2023-02-02 18:33:56 +01:00