[package] name = "citadel_wire" version = "0.9.0" authors = ["Thomas Braun "] description = "NAT traversal and wire support for the Citadel Protocol" edition = "2021" workspace = ".." homepage = "https://avarok.net/" repository = "https://github.com/Avarok-Cybersecurity/Citadel-Protocol" readme = "../README.md" categories = ["cryptography", "network-programming", "asynchronous"] license = "MIT OR Apache-2.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = ["std"] std = [ "netbeam/std", "citadel_io/std", "openssl/default", "quinn/default", "serde/std" ] localhost-testing = ["tracing"] localhost-testing-loopback-only = [] wasm = [ "citadel_io/wasm", "netbeam/wasm" ] vendored = ["openssl/vendored"] [dependencies] tokio = { workspace = true, features = ["net"] } futures = { workspace = true } async-trait-with-sync = { workspace = true } bytes = { workspace = true } citadel_io = { workspace = true } anyhow = { workspace = true } serde = { workspace = true, features = ["derive"] } log = { workspace = true } bincode2 = { workspace = true } async_ip = { workspace = true } itertools = { workspace = true, features = ["use_alloc"] } either = { workspace = true } netbeam = { workspace = true } uuid = { workspace = true, features = ["v4", "serde"] } tracing = { workspace = true, optional = true } lazy_static = { workspace = true } [target.'cfg(not(target_family = "wasm"))'.dependencies] socket2 = { workspace = true, features = ["all"] } rustls-native-certs = { workspace = true } igd = { workspace = true, features = ["aio"] } quinn = { workspace = true, features = ["rustls"] } openssl = { workspace = true } stun = { workspace = true } rcgen = { workspace = true, features = ["pem"] } rustls = { workspace = true, features = ["quic", "dangerous_configuration"] } rustls-pemfile = { workspace = true } tokio-rustls = { workspace = true } [dev-dependencies] citadel_logging = { path = "../citadel_logging" } rand = "0.8.5" tokio-util = "0.7.4" rstest = { workspace = true } [lib] doctest = false