[package] name = "vaultwarden" version = "1.0.0" authors = ["Daniel GarcĂ­a "] edition = "2021" rust-version = "1.57" resolver = "2" repository = "https://github.com/dani-garcia/vaultwarden" readme = "README.md" license = "GPL-3.0-only" publish = false build = "build.rs" [features] # Empty to keep compatibility, prefer to set USE_SYSLOG=true enable_syslog = [] mysql = ["diesel/mysql", "diesel_migrations/mysql"] postgresql = ["diesel/postgres", "diesel_migrations/postgres"] sqlite = ["diesel/sqlite", "diesel_migrations/sqlite", "libsqlite3-sys"] # Enable to use a vendored and statically linked openssl vendored_openssl = ["openssl/vendored"] # Enable unstable features, requires nightly # Currently only used to enable rusts official ip support unstable = [] [target."cfg(not(windows))".dependencies] syslog = "4.0.1" [dependencies] # Web framework for nightly with a focus on ease-of-use, expressibility, and speed. rocket = { version = "=0.5.0-dev", features = ["tls"], default-features = false } rocket_contrib = "=0.5.0-dev" # HTTP client reqwest = { version = "0.11.8", features = ["blocking", "json", "gzip", "brotli", "socks", "cookies", "trust-dns"] } # Used for custom short lived cookie jar cookie = "0.15.1" cookie_store = "0.15.1" bytes = "1.1.0" url = "2.2.2" # multipart/form-data support multipart = { version = "0.18.0", features = ["server"], default-features = false } # WebSockets library ws = { version = "0.11.1", package = "parity-ws" } # MessagePack library rmpv = "1.0.0" # Concurrent hashmap implementation chashmap = "2.2.2" # A generic serialization/deserialization framework serde = { version = "1.0.132", features = ["derive"] } serde_json = "1.0.73" # Logging log = "0.4.14" fern = { version = "0.6.0", features = ["syslog-4"] } # A safe, extensible ORM and Query builder diesel = { version = "1.4.8", features = [ "chrono", "r2d2"] } diesel_migrations = "1.4.0" # Bundled SQLite libsqlite3-sys = { version = "0.22.2", features = ["bundled"], optional = true } # Crypto-related libraries rand = "0.8.4" ring = "0.16.20" # UUID generation uuid = { version = "0.8.2", features = ["v4"] } # Date and time libraries chrono = { version = "0.4.19", features = ["serde"] } chrono-tz = "0.6.1" time = "0.2.27" # Job scheduler job_scheduler = "1.2.1" # TOTP library totp-lite = "1.0.3" # Data encoding library data-encoding = "2.3.2" # JWT library jsonwebtoken = "7.2.0" # U2F library u2f = "0.2.0" webauthn-rs = "0.3.1" # Yubico Library yubico = { version = "0.10.0", features = ["online-tokio"], default-features = false } # A `dotenv` implementation for Rust dotenv = { version = "0.15.0", default-features = false } # Lazy initialization once_cell = "1.9.0" # Numerical libraries num-traits = "0.2.14" num-derive = "0.3.3" # Email libraries tracing = { version = "0.1.29", features = ["log"] } # Needed to have lettre trace logging used when SMTP_DEBUG is enabled. lettre = { version = "0.10.0-rc.4", features = ["smtp-transport", "builder", "serde", "native-tls", "hostname", "tracing"], default-features = false } # Template library handlebars = { version = "4.1.6", features = ["dir_source"] } # For favicon extraction from main website html5ever = "0.25.1" markup5ever_rcdom = "0.1.0" regex = { version = "1.5.4", features = ["std", "perf", "unicode-perl"], default-features = false } data-url = "0.1.1" # Used by U2F, JWT and Postgres openssl = "0.10.38" # URL encoding library percent-encoding = "2.1.0" # Punycode conversion idna = "0.2.3" # CLI argument parsing pico-args = "0.4.2" # Logging panics to logfile instead stderr only backtrace = "0.3.63" # Macro ident concatenation paste = "1.0.6" [patch.crates-io] # Use newest ring rocket = { git = 'https://github.com/SergioBenitez/Rocket', rev = '263e39b5b429de1913ce7e3036575a7b4d88b6d7' } rocket_contrib = { git = 'https://github.com/SergioBenitez/Rocket', rev = '263e39b5b429de1913ce7e3036575a7b4d88b6d7' } # The maintainer of the `job_scheduler` crate doesn't seem to have responded # to any issues or PRs for almost a year (as of April 2021). This hopefully # temporary fork updates Cargo.toml to use more up-to-date dependencies. # In particular, `cron` has since implemented parsing of some common syntax # that wasn't previously supported (https://github.com/zslayton/cron/pull/64). job_scheduler = { git = 'https://github.com/jjlin/job_scheduler', rev = 'ee023418dbba2bfe1e30a5fd7d937f9e33739806' }