vaultwarden/Cargo.toml

156 lines
4.3 KiB
TOML
Raw Normal View History

2018-02-10 03:00:55 +03:00
[package]
2021-04-28 00:18:32 +03:00
name = "vaultwarden"
2018-08-21 23:21:54 +03:00
version = "1.0.0"
2018-02-10 03:00:55 +03:00
authors = ["Daniel García <dani-garcia@users.noreply.github.com>"]
edition = "2021"
rust-version = "1.56"
resolver = "2"
2018-02-10 03:00:55 +03:00
2021-04-28 00:18:32 +03:00
repository = "https://github.com/dani-garcia/vaultwarden"
readme = "README.md"
license = "GPL-3.0-only"
publish = false
build = "build.rs"
[features]
# default = ["sqlite"]
# Empty to keep compatibility, prefer to set USE_SYSLOG=true
enable_syslog = []
2019-05-27 23:58:52 +03:00
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"
2018-02-10 03:00:55 +03:00
[dependencies]
# Web framework
rocket = { version = "0.5.0-rc.1", features = ["tls", "json"], default-features = false }
# Async futures
futures = "0.3.19"
tokio = { version = "1.16.1", features = ["rt-multi-thread", "fs", "io-util", "parking_lot"] }
# HTTP client
reqwest = { version = "0.11.9", features = ["stream", "json", "gzip", "brotli", "socks", "cookies", "trust-dns"] }
bytes = "1.1.0"
# Used for custom short lived cookie jar
2021-07-15 20:18:16 +03:00
cookie = "0.15.1"
cookie_store = "0.15.1"
url = "2.2.2"
2018-02-10 03:00:55 +03:00
# WebSockets library
ws = { version = "0.11.1", package = "parity-ws" }
# MessagePack library
rmpv = "1.0.0"
# Concurrent hashmap implementation
2019-02-27 19:21:04 +03:00
chashmap = "2.2.2"
2018-02-10 03:00:55 +03:00
# A generic serialization/deserialization framework
2022-01-31 00:24:42 +03:00
serde = { version = "1.0.136", features = ["derive"] }
serde_json = "1.0.78"
2018-02-10 03:00:55 +03:00
# Logging
log = "0.4.14"
2020-03-10 00:00:26 +03:00
fern = { version = "0.6.0", features = ["syslog-4"] }
2018-02-10 03:00:55 +03:00
# A safe, extensible ORM and Query builder
diesel = { version = "1.4.8", features = [ "chrono", "r2d2"] }
diesel_migrations = "1.4.0"
2019-05-27 00:02:41 +03:00
# Bundled SQLite
libsqlite3-sys = { version = "0.22.2", features = ["bundled"], optional = true }
# Crypto-related libraries
2021-06-25 20:49:22 +03:00
rand = "0.8.4"
2021-02-06 18:49:28 +03:00
ring = "0.16.20"
2018-02-10 03:00:55 +03:00
# UUID generation
uuid = { version = "0.8.2", features = ["v4"] }
2018-02-10 03:00:55 +03:00
# Date and time libraries
chrono = { version = "0.4.19", features = ["serde"] }
chrono-tz = "0.6.1"
time = "0.2.27"
2018-02-10 03:00:55 +03:00
# Job scheduler
job_scheduler = "1.2.1"
2018-02-10 03:00:55 +03:00
# TOTP library
totp-lite = "1.0.3"
2018-02-10 03:00:55 +03:00
# Data encoding library
data-encoding = "2.3.2"
2018-02-10 03:00:55 +03:00
# JWT library
jsonwebtoken = "7.2.0"
2018-02-10 03:00:55 +03:00
# U2F library
u2f = "0.2.0"
2022-01-31 00:24:42 +03:00
webauthn-rs = "0.3.2"
2018-11-16 04:34:17 +03:00
# Yubico Library
2021-02-24 22:25:22 +03:00
yubico = { version = "0.10.0", features = ["online-tokio"], default-features = false }
2018-11-16 04:34:17 +03:00
2018-02-10 03:00:55 +03:00
# A `dotenv` implementation for Rust
dotenv = { version = "0.15.0", default-features = false }
2018-02-10 03:00:55 +03:00
# Lazy initialization
once_cell = "1.9.0"
2018-02-10 03:00:55 +03:00
# Numerical libraries
2020-11-08 01:01:04 +03:00
num-traits = "0.2.14"
num-derive = "0.3.3"
# Email libraries
2021-10-18 23:14:29 +03:00
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 }
2019-01-13 03:39:29 +03:00
# Template library
2022-01-31 00:24:42 +03:00
handlebars = { version = "4.2.1", features = ["dir_source"] }
2019-01-13 03:39:29 +03:00
2019-01-27 17:39:19 +03:00
# 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"
2019-01-27 17:39:19 +03:00
# Used by U2F, JWT and Postgres
openssl = "0.10.38"
# URL encoding library
2019-08-18 20:31:54 +03:00
percent-encoding = "2.1.0"
2020-01-31 00:11:53 +03:00
# Punycode conversion
2021-05-02 18:48:06 +03:00
idna = "0.2.3"
# CLI argument parsing
pico-args = "0.4.2"
# Logging panics to logfile instead stderr only
2022-01-31 00:24:42 +03:00
backtrace = "0.3.64"
# Macro ident concatenation
paste = "1.0.6"
2022-01-31 00:24:42 +03:00
governor = "0.4.1"
ctrlc = { version = "3.2.1", features = ["termination"] }
2018-02-10 03:00:55 +03:00
[patch.crates-io]
rocket = { git = 'https://github.com/SergioBenitez/Rocket', rev = '8cae077ba1d54b92cdef3e171a730b819d5eeb8e' }
# 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' }