You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							162 lines
						
					
					
						
							4.7 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							162 lines
						
					
					
						
							4.7 KiB
						
					
					
				| [package] | |
| name = "vaultwarden" | |
| version = "1.0.0" | |
| authors = ["Daniel García <dani-garcia@users.noreply.github.com>"] | |
| edition = "2021" | |
| rust-version = "1.60.0" | |
| resolver = "2" | |
| 
 | |
| 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 = [] | |
| 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"] | |
| 
 | |
| # Enable unstable features, requires nightly | |
| # Currently only used to enable rusts official ip support | |
| unstable = [] | |
| 
 | |
| [target."cfg(not(windows))".dependencies] | |
| # Logging | |
| syslog = "6.0.1" # Needs to be v4 until fern is updated | |
| 
 | |
| [dependencies] | |
| # Logging | |
| log = "0.4.17" | |
| fern = { version = "0.6.1", features = ["syslog-6"] } | |
| tracing = { version = "0.1.36", features = ["log"] } # Needed to have lettre and webauthn-rs trace logging to work | |
| 
 | |
| backtrace = "0.3.66" # Logging panics to logfile instead stderr only | |
| 
 | |
| # A `dotenv` implementation for Rust | |
| dotenvy = { version = "0.15.5", default-features = false } | |
| 
 | |
| # Lazy initialization | |
| once_cell = "1.15.0" | |
| 
 | |
| # Numerical libraries | |
| num-traits = "0.2.15" | |
| num-derive = "0.3.3" | |
| 
 | |
| # Web framework | |
| rocket = { version = "0.5.0-rc.2", features = ["tls", "json"], default-features = false } | |
| 
 | |
| # WebSockets libraries | |
| tokio-tungstenite = "0.17.2" | |
| rmpv = "1.0.0" # MessagePack library | |
| dashmap = "5.4.0" | |
| 
 | |
| # Async futures | |
| futures = "0.3.24" | |
| tokio = { version = "1.21.1", features = ["rt-multi-thread", "fs", "io-util", "parking_lot", "time"] } | |
| 
 | |
| # A generic serialization/deserialization framework | |
| serde = { version = "1.0.145", features = ["derive"] } | |
| serde_json = "1.0.85" | |
| 
 | |
| # 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 = { version = "0.8.5", features = ["small_rng"] } | |
| ring = "0.16.20" | |
| 
 | |
| # UUID generation | |
| uuid = { version = "1.1.2", features = ["v4"] } | |
| 
 | |
| # Date and time libraries | |
| chrono = { version = "0.4.22", features = ["clock", "serde"], default-features = false } | |
| chrono-tz = "0.6.3" | |
| time = "0.3.14" | |
| 
 | |
| # Job scheduler | |
| job_scheduler_ng = "2.0.1" | |
| 
 | |
| # Data encoding library Hex/Base32/Base64 | |
| data-encoding = "2.3.2" | |
| 
 | |
| # JWT library | |
| jsonwebtoken = "8.1.1" | |
| 
 | |
| # TOTP library | |
| totp-lite = "2.0.0" | |
| 
 | |
| # Yubico Library | |
| yubico = { version = "0.11.0", features = ["online-tokio"], default-features = false } | |
| 
 | |
| # WebAuthn libraries | |
| webauthn-rs = "0.3.2" | |
| 
 | |
| # Handling of URL's for WebAuthn | |
| url = "2.3.1" | |
| 
 | |
| # Email librariese-Base, Update crates and small change. | |
| lettre = { version = "0.10.1", features = ["smtp-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 | |
| 
 | |
| # Template library | |
| handlebars = { version = "4.3.4", features = ["dir_source"] } | |
| 
 | |
| # HTTP client | |
| reqwest = { version = "0.11.12", features = ["stream", "json", "gzip", "brotli", "socks", "cookies", "trust-dns"] } | |
| 
 | |
| # For favicon extraction from main website | |
| html5gum = "0.5.2" | |
| regex = { version = "1.6.0", features = ["std", "perf", "unicode-perl"], default-features = false } | |
| data-url = "0.2.0" | |
| bytes = "1.2.1" | |
| cached = "0.39.0" | |
| 
 | |
| # Used for custom short lived cookie jar during favicon extraction | |
| cookie = "0.16.0" | |
| cookie_store = "0.17.0" | |
| 
 | |
| # Used by U2F, JWT and Postgres | |
| openssl = "0.10.41" | |
| 
 | |
| # CLI argument parsing | |
| pico-args = "0.5.0" | |
| 
 | |
| # Macro ident concatenation | |
| paste = "1.0.9" | |
| governor = "0.5.0" | |
| 
 | |
| # OIDC SSo | |
| openidconnect = "2.3.2" | |
| 
 | |
| 
 | |
| # Capture CTRL+C | |
| ctrlc = { version = "3.2.3", features = ["termination"] } | |
| 
 | |
| # Allow overriding the default memory allocator | |
| # Mainly used for the musl builds, since the default musl malloc is very slow | |
| mimalloc = { version = "0.1.29", features = ["secure"], default-features = false, optional = true } | |
| 
 | |
| [patch.crates-io] | |
| # Using a patched version of multer-rs (Used by Rocket) to fix attachment/send file uploads | |
| # Issue: https://github.com/dani-garcia/vaultwarden/issues/2644 | |
| # Patch: https://github.com/BlackDex/multer-rs/commit/477d16b7fa0f361b5c2a5ba18a5b28bec6d26a8a | |
| multer = { git = "https://github.com/BlackDex/multer-rs", rev = "477d16b7fa0f361b5c2a5ba18a5b28bec6d26a8a" } | |
| 
 | |
| # Strip debuginfo from the release builds | |
| # Also enable thin LTO for some optimizations | |
| [profile.release] | |
| strip = "debuginfo" | |
| lto = "thin"
 | |
| 
 |