feat: add Wireguard interface model

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-03-29 11:56:35 +00:00
parent d5e1b1b437
commit 1aa2852885
12 changed files with 528 additions and 78 deletions

70
Cargo.lock generated
View File

@@ -566,6 +566,7 @@ dependencies = [
"digest 0.10.7",
"fiat-crypto",
"rustc_version",
"serde",
"subtle",
"zeroize",
]
@@ -1396,6 +1397,15 @@ version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
[[package]]
name = "ipnetwork"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e"
dependencies = [
"serde",
]
[[package]]
name = "is_terminal_polyfill"
version = "1.70.1"
@@ -1571,6 +1581,15 @@ dependencies = [
"windows-sys 0.52.0",
]
[[package]]
name = "mktemp"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69fed8fbcd01affec44ac226784c6476a6006d98d13e33bc0ca7977aaf046bd8"
dependencies = [
"uuid",
]
[[package]]
name = "num-bigint-dig"
version = "0.8.4"
@@ -2342,6 +2361,15 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
name = "signal-hook-registry"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1"
dependencies = [
"libc",
]
[[package]]
name = "signature"
version = "2.2.0"
@@ -2430,6 +2458,7 @@ dependencies = [
"hashbrown 0.15.2",
"hashlink",
"indexmap 2.8.0",
"ipnetwork",
"log",
"memchr",
"once_cell",
@@ -2548,6 +2577,7 @@ dependencies = [
"hkdf",
"hmac 0.12.1",
"home",
"ipnetwork",
"itoa",
"log",
"md-5",
@@ -2791,6 +2821,7 @@ dependencies = [
"libc",
"mio",
"pin-project-lite",
"signal-hook-registry",
"socket2",
"tokio-macros",
"windows-sys 0.52.0",
@@ -2987,6 +3018,15 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "uuid"
version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
dependencies = [
"getrandom 0.2.15",
]
[[package]]
name = "vcpkg"
version = "0.2.15"
@@ -3000,15 +3040,19 @@ dependencies = [
"async-session",
"axum",
"axum-extra",
"base64 0.22.1",
"clap",
"log",
"log4rs",
"mktemp",
"openidconnect",
"serde",
"serde_json",
"serde_yaml",
"sqlx",
"tokio",
"x25519-dalek",
"zeroize",
]
[[package]]
@@ -3456,6 +3500,18 @@ version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
[[package]]
name = "x25519-dalek"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
dependencies = [
"curve25519-dalek",
"rand_core 0.6.4",
"serde",
"zeroize",
]
[[package]]
name = "yoke"
version = "0.7.5"
@@ -3526,6 +3582,20 @@ name = "zeroize"
version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
dependencies = [
"zeroize_derive",
]
[[package]]
name = "zeroize_derive"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.100",
]
[[package]]
name = "zerovec"