1
0
mirror of https://github.com/dani-garcia/vaultwarden.git synced 2024-11-09 12:32:37 +01:00
Vaultwarden/Cargo.toml

184 lines
5.7 KiB
TOML
Raw Normal View History

2018-02-10 01:00:55 +01:00
[package]
2021-04-27 23:18:32 +02:00
name = "vaultwarden"
2018-08-21 22:21:54 +02:00
version = "1.0.0"
2018-02-10 01:00:55 +01:00
authors = ["Daniel García <dani-garcia@users.noreply.github.com>"]
edition = "2021"
2023-06-03 23:04:45 +02:00
rust-version = "1.68.2"
resolver = "2"
2018-02-10 01:00:55 +01:00
2021-04-27 23:18:32 +02:00
repository = "https://github.com/dani-garcia/vaultwarden"
readme = "README.md"
license = "AGPL-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 22:58:52 +02: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 MiMalloc memory allocator to replace the default malloc
# This can improve performance for Alpine builds
enable_mimalloc = ["mimalloc"]
# This is a development dependency, and should only be used during development!
# It enables the usage of the diesel_logger crate, which is able to output the generated queries.
# You also need to set an env variable `QUERY_LOGGER=1` to fully activate this so you do not have to re-compile
# if you want to turn off the logging for a specific run.
query_logger = ["diesel_logger"]
# Enable unstable features, requires nightly
# Currently only used to enable rusts official ip support
unstable = []
[target."cfg(not(windows))".dependencies]
# Logging
syslog = "6.1.0"
2018-02-10 01:00:55 +01:00
[dependencies]
# Logging
2023-06-03 23:04:45 +02:00
log = "0.4.18"
fern = { version = "0.6.2", features = ["syslog-6"] }
2022-10-09 17:40:45 +02:00
tracing = { version = "0.1.37", features = ["log"] } # Needed to have lettre and webauthn-rs trace logging to work
# A `dotenv` implementation for Rust
dotenvy = { version = "0.15.7", default-features = false }
# Lazy initialization
2023-06-03 23:04:45 +02:00
once_cell = "1.17.2"
2018-02-10 01:00:55 +01:00
# Numerical libraries
num-traits = "0.2.15"
num-derive = "0.3.3"
# Web framework
rocket = { version = "0.5.0-rc.3", features = ["tls", "json"], default-features = false }
# rocket_ws = { version ="0.1.0-rc.3" }
rocket_ws = { git = 'https://github.com/SergioBenitez/Rocket', rev = "a298f8446be64d58cbb7345b6baa026aa4b672b4" } # v0.5 branch
# WebSockets libraries
tokio-tungstenite = "0.19.0"
rmpv = "1.0.0" # MessagePack library
# Concurrent HashMap used for WebSocket messaging and favicons
dashmap = "5.4.0"
# Async futures
futures = "0.3.28"
2023-06-03 23:04:45 +02:00
tokio = { version = "1.28.2", features = ["rt-multi-thread", "fs", "io-util", "parking_lot", "time", "signal"] }
2018-02-10 01:00:55 +01:00
# A generic serialization/deserialization framework
2023-05-12 09:17:44 +02:00
serde = { version = "1.0.163", features = ["derive"] }
serde_json = "1.0.96"
2018-02-10 01:00:55 +01:00
# A safe, extensible ORM and Query builder
diesel = { version = "2.1.0", features = ["chrono", "r2d2"] }
diesel_migrations = "2.1.0"
diesel_logger = { version = "0.2.0", optional = true }
2019-05-26 23:02:41 +02:00
# Bundled/Static SQLite
libsqlite3-sys = { version = "0.26.0", features = ["bundled"], optional = true }
# Crypto-related libraries
rand = { version = "0.8.5", features = ["small_rng"] }
2021-02-06 16:49:28 +01:00
ring = "0.16.20"
2018-02-10 01:00:55 +01:00
# UUID generation
uuid = { version = "1.3.3", features = ["v4"] }
2018-02-10 01:00:55 +01:00
# Date and time libraries
2023-06-03 23:04:45 +02:00
chrono = { version = "0.4.26", features = ["clock", "serde"], default-features = false }
chrono-tz = "0.8.2"
time = "0.3.21"
2018-02-10 01:00:55 +01:00
# Job scheduler
job_scheduler_ng = "2.0.4"
# Data encoding library Hex/Base32/Base64
data-encoding = "2.4.0"
2018-02-10 01:00:55 +01:00
# JWT library
jsonwebtoken = "8.3.0"
2018-02-10 01:00:55 +01:00
# TOTP library
totp-lite = "2.0.0"
2018-11-16 02:34:17 +01:00
# Yubico Library
2022-05-11 22:03:07 +02:00
yubico = { version = "0.11.0", features = ["online-tokio"], default-features = false }
2018-11-16 02:34:17 +01:00
# WebAuthn libraries
webauthn-rs = "0.3.2"
2018-02-10 01:00:55 +01:00
# Handling of URL's for WebAuthn and favicons
url = "2.3.1"
# Email libraries
lettre = { version = "0.10.4", features = ["smtp-transport", "sendmail-transport", "builder", "serde", "tokio1-native-tls", "hostname", "tracing", "tokio1"], default-features = false }
percent-encoding = "2.2.0" # URL encoding library used for URL's in the emails
email_address = "0.2.4"
# HTML Template library
2023-05-12 09:17:44 +02:00
handlebars = { version = "4.3.7", features = ["dir_source"] }
2019-01-13 01:39:29 +01:00
# HTTP client (Used for favicons, version check, DUO and HIBP API)
reqwest = { version = "0.11.18", features = ["stream", "json", "gzip", "brotli", "socks", "cookies", "trust-dns"] }
# Favicon extraction libraries
html5gum = "0.5.2"
regex = { version = "1.8.3", features = ["std", "perf", "unicode-perl"], default-features = false }
data-url = "0.2.0"
bytes = "1.4.0"
# Cache function results (Used for version check and favicon fetching)
cached = "0.43.0"
# Used for custom short lived cookie jar during favicon extraction
cookie = "0.16.2"
cookie_store = "0.19.0"
2019-01-27 15:39:19 +01:00
# Used by U2F, JWT and PostgreSQL
2023-06-03 23:04:45 +02:00
openssl = "0.10.54"
# CLI argument parsing
2022-06-04 19:16:36 +02:00
pico-args = "0.5.0"
# Macro ident concatenation
paste = "1.0.12"
governor = "0.5.1"
# Check client versions for specific features.
semver = "1.0.17"
# Allow overriding the default memory allocator
# Mainly used for the musl builds, since the default musl malloc is very slow
mimalloc = { version = "0.1.37", features = ["secure"], default-features = false, optional = true }
which = "4.4.0"
# Argon2 library with support for the PHC format
argon2 = "0.5.0"
# Reading a password from the cli for generating the Argon2id ADMIN_TOKEN
rpassword = "7.2.0"
[patch.crates-io]
rocket = { git = 'https://github.com/SergioBenitez/Rocket', rev = 'a298f8446be64d58cbb7345b6baa026aa4b672b4' } # v0.5 branch
# rocket_ws = { git = 'https://github.com/SergioBenitez/Rocket', rev = 'a298f8446be64d58cbb7345b6baa026aa4b672b4' } # v0.5 branch
# Strip debuginfo from the release builds
# Also enable thin LTO for some optimizations
[profile.release]
strip = "debuginfo"
lto = "thin"
# Always build argon2 using opt-level 3
# This is a huge speed improvement during testing
[profile.dev.package.argon2]
opt-level = 3
# A little bit of a speedup
[profile.dev]
split-debuginfo = "unpacked"