Files
firezone/rust/bin-shared/Cargo.toml
Thomas Eizinger b93c28240e chore(rust): fix features in bin-shared (#9094)
When this crate is compiled by itself, these features are required. This
doesn't show up in CI because there we compile the entire workspace and
some crate somewhere already activates these features then.
2025-05-13 03:12:59 +00:00

89 lines
3.0 KiB
TOML

[package]
name = "firezone-bin-shared"
version = "0.1.0"
edition = { workspace = true }
description = "Firezone-specific modules shared between binaries."
license = { workspace = true }
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
anyhow = { workspace = true }
atomicwrites = { workspace = true }
axum = { workspace = true, features = ["http1", "tokio"] }
clap = { workspace = true, features = ["derive", "env"] }
dns-types = { workspace = true }
firezone-logging = { workspace = true }
futures = { workspace = true, features = ["std", "async-await"] }
gat-lending-iterator = { workspace = true }
hex-literal = { workspace = true }
ip-packet = { workspace = true }
ip_network = { workspace = true, features = ["serde"] }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
smbios-lib = { workspace = true }
socket-factory = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["io-util", "net", "rt", "sync", "process", "signal"] }
tracing = { workspace = true }
tun = { workspace = true }
uuid = { workspace = true, features = ["v4"] }
[dev-dependencies]
bufferpool = { workspace = true }
bytes = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
[target.'cfg(target_os = "linux")'.dependencies]
dirs = { workspace = true }
atomicwrites = { workspace = true }
flume = { workspace = true }
libc = { workspace = true }
netlink-packet-core = { version = "0.7" }
netlink-packet-route = { version = "0.19" }
nix = { workspace = true, features = ["socket"] }
resolv-conf = { workspace = true }
rtnetlink = { workspace = true }
zbus = { workspace = true } # Can't use `zbus`'s `tokio` feature here, or it will break toast popups all the way over in `gui-client`.
[target.'cfg(windows)'.dependencies]
known-folders = { workspace = true }
ring = "0.17"
uuid = { workspace = true, features = ["v4"] }
windows-core = { workspace = true }
windows-implement = { workspace = true }
wintun = "0.5.1"
winreg = { workspace = true }
tokio-util = { workspace = true }
ipconfig = "0.3.2"
itertools = { workspace = true }
[target.'cfg(windows)'.dependencies.windows]
workspace = true
features = [
# For implementing COM interfaces
"Win32_Foundation",
# For listening for network change events
"Win32_Networking_NetworkListManager",
"Win32_NetworkManagement_IpHelper",
"Win32_NetworkManagement_Ndis",
"Win32_Networking_WinSock",
"Win32_Security",
"Win32_System_Com",
# Needed to listen for system DNS changes
"Win32_System_Registry",
"Win32_System_Threading",
"Win32_System_SystemInformation", # For uptime
"Win32_System_GroupPolicy", # For NRPT when GPO is used
]
[target.'cfg(windows)'.dev-dependencies]
ip-packet = { workspace = true }
tokio = { workspace = true, features = ["net", "time"] }
[target.'cfg(target_os = "linux")'.dev-dependencies]
mutants = "0.0.3" # Needed to mark functions as exempt from `cargo-mutants` testing
tempfile = { workspace = true }
[lints]
workspace = true