Ctrl K
ComunidadGuías…

Cargo.toml

Rama stable/2.x · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[workspace.package]
edition = "2024"
license-file = "LICENSE.md"
homepage = "https://defguard.net/"
repository = "https://github.com/DefGuard/defguard"
rust-version = "1.96"

[workspace]
members = ["crates/*", "tools/*"]
default-members = ["crates/*"]
resolver = "2"

[workspace.lints.clippy]
uninlined_format_args = "deny"
manual_let_else = "warn"
redundant_closure = "warn"

[workspace.dependencies]
# internal crates
defguard_setup = { path = "./crates/defguard_setup", version = "0.0.0" }
defguard_common = { path = "./crates/defguard_common", version = "2.2.0", default-features = false }
defguard_static_ip = { path = "./crates/defguard_static_ip", version = "0.0.0" }
defguard_core = { path = "./crates/defguard_core", version = "0.0.0", default-features = false }
defguard_event_logger = { path = "./crates/defguard_event_logger", version = "0.0.0" }
defguard_gateway_manager = { path = "./crates/defguard_gateway_manager", version = "0.0.0" }
defguard_proto = { path = "./crates/defguard_proto", version = "0.0.0" }
defguard_proxy_manager = { path = "./crates/defguard_proxy_manager", version = "0.0.0" }
defguard_session_manager = { path = "./crates/defguard_session_manager", version = "0.0.0" }
defguard_version = { path = "./crates/defguard_version", version = "0.0.0" }
defguard_vpn_stats_purge = { path = "./crates/defguard_vpn_stats_purge", version = "0.0.0" }
defguard_web_ui = { path = "./crates/defguard_web_ui", version = "0.0.0" }
defguard_certs = { path = "./crates/defguard_certs", version = "0.0.0" }
defguard_grpc_tls = { path = "./crates/defguard_grpc_tls", version = "0.0.0" }
model_derive = { path = "./crates/model_derive", version = "0.0.0" }

# external dependencies
ammonia = "4.2"
anyhow = "1.0"
argon2 = "0.6"
async-stream = "0.3"
axum = "0.8"
axum-client-ip = { version = "1.3", default-features = false, features = [
    "forwarded-header",
] }
axum-server = { version = "0.8", features = ["tls-rustls"] }
axum-extra = { version = "0.12", features = [
    "cookie-private",
    "cookie-key-expansion",
    "typed-header",
    "query",
] }
base32 = "0.5"
base64 = "0.23"
bytes = { version = "1.12", features = ["serde"] }
chrono = { version = "0.4", default-features = false, features = [
    "clock",
    "serde",
] }
claims = "0.8"
clap = { version = "4.6", features = ["derive", "env"] }
ctap-hid-fido2 = "3.5"
ed25519-dalek = { version = "3.0", features = ["rand_core", "serde"] }
getrandom = { version = "0.4", features = ["sys_rng"] }
futures = "0.3"
http = "1.5"
hyper-rustls = { version = "0.27", features = ["http2"] }
hyper-util = "0.1"
humantime = "2.1"
# match version used by sqlx
ipnetwork = { version = "0.21", features = ["serde"] }
jsonwebkey = { version = "0.4", features = ["pkcs-convert"] }
jsonwebtoken = { version = "11.1", features = ["rust_crypto"] }
ldap3 = { git = "https://github.com/DefGuard/ldap3", rev = "65ae9ad320770c63f366233ebe121534e16b59a7", features = ["tls"] }
lettre = { version = "0.11", default-features = false, features = [
    "builder",
    "smtp-transport",
    "tokio1-rustls-tls",
] }
md4 = "0.11"
openidconnect = { version = "4.0", default-features = false, features = [
    "reqwest",
] }
os_info = "3.15"
parse_link_header = "0.4"
pgp = { version = "0.21", default-features = false }
prost = "0.14"
prost-types = "0.14"
pulldown-cmark = "0.13"
# match version used by sqlx
rand = "0.8"
rcgen = { version = "0.14", features = ["x509-parser", "pem"] }
regex = "1.10"
reqwest = { version = "0.12", features = ["json"] }
rsa = "0.9"
rust-ini = "0.21"
rustls = { version = "0.23.46", features = ["ring"] }
rustls-pki-types = "1.15"
semver = { version = "1.0", features = ["serde"] }
secrecy = { version = "0.10", features = ["serde"] }
serde = { version = "1.0", features = ["derive"] }
serde-saphyr = "2.0"
# match version from webauthn-rs-core
serde_cbor = { version = "0.13", package = "serde_cbor_2" }
serde_json = "1.0"
serde_urlencoded = "0.7"
sha-1 = "0.10"
sha2 = "0.11"
sha256 = "1.5"
sqlx = { version = "0.9", features = [
    "chrono",
    "ipnetwork",
    "postgres",
    "runtime-tokio",
    "tls-native-tls",
    "uuid",
] }
ssh-key = "0.6"
struct-patch = { version = "0.14", default-features = false, features = ["nesting"] }
strum = { version = "0.28", features = ["derive"] }
strum_macros = "0.28"
tera = "1.20"
thiserror = "2.0"
# match axum-extra -> cookies
time = { version = "0.3", default-features = false }
tokio = { version = "1", features = [
    "macros",
    "parking_lot",
    "rt-multi-thread",
    "signal",
    "sync",
    "time",
] }
tokio-stream = "0.1"
tokio-util = "0.7"
tonic = { version = "0.14", features = [
    "gzip",
    "tls-native-roots",
    "tls-ring",
] }
tonic-health = "0.14"
tonic-prost = "0.14"
tonic-prost-build = "0.14"
totp-lite = { version = "2.0" }
tower = "0.5"
tower_governor = "0.8"
tower-http = { version = "0.7", features = ["fs", "trace", "timeout"] }
tracing = "0.1"
tracing-appender = "0.2"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
trait-variant = "0.1"
ua-parser = "0.2"
# openapi (see the `openapi` feature of defguard_common / defguard_core / defguard)
utoipa = { version = "6", features = ["axum_extras", "chrono", "uuid"] }
utoipa-swagger-ui = { version = "10", features = ["axum", "vendored"] }
uuid = { version = "1.24", features = ["v4"] }
webauthn-authenticator-rs = "0.5"
webauthn-rs = { version = "0.5", features = [
    "danger-allow-state-serialisation",
] }
webauthn-rs-proto = "0.5"
x25519-dalek = { version = "3.0", features = ["getrandom", "static_secrets"] }
x509-parser = "0.18"

# optimize proc-macros and build scripts
[profile.dev.build-override]
opt-level = 3

[profile.release]
codegen-units = 1
panic = "abort"
lto = "thin"
strip = "symbols"