mirror of
https://github.com/dani-garcia/vaultwarden
synced 2024-11-22 11:53:08 +00:00
Move backend checks to build.rs to fail fast, and updated dependencies
This commit is contained in:
parent
cef38bf40b
commit
05a1137828
9 changed files with 359 additions and 266 deletions
584
Cargo.lock
generated
584
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
14
Cargo.toml
14
Cargo.toml
|
@ -40,9 +40,9 @@ rmpv = "0.4.0"
|
|||
chashmap = "2.2.2"
|
||||
|
||||
# A generic serialization/deserialization framework
|
||||
serde = "1.0.92"
|
||||
serde_derive = "1.0.92"
|
||||
serde_json = "1.0.39"
|
||||
serde = "1.0.94"
|
||||
serde_derive = "1.0.94"
|
||||
serde_json = "1.0.40"
|
||||
|
||||
# Logging
|
||||
log = "0.4.6"
|
||||
|
@ -62,7 +62,7 @@ ring = "0.14.6"
|
|||
uuid = { version = "0.7.4", features = ["v4"] }
|
||||
|
||||
# Date and time library for Rust
|
||||
chrono = "0.4.6"
|
||||
chrono = "0.4.7"
|
||||
|
||||
# TOTP library
|
||||
oath = "0.10.2"
|
||||
|
@ -77,7 +77,7 @@ jsonwebtoken = "6.0.1"
|
|||
u2f = "0.1.6"
|
||||
|
||||
# Yubico Library
|
||||
yubico = { version = "0.5.1", features = ["online"], default-features = false }
|
||||
yubico = { version = "0.6.1", features = ["online", "online-tokio"], default-features = false }
|
||||
|
||||
# A `dotenv` implementation for Rust
|
||||
dotenv = { version = "0.14.1", default-features = false }
|
||||
|
@ -99,11 +99,11 @@ native-tls = "0.2.3"
|
|||
quoted_printable = "0.4.1"
|
||||
|
||||
# Template library
|
||||
handlebars = "1.1.0"
|
||||
handlebars = "2.0.0"
|
||||
|
||||
# For favicon extraction from main website
|
||||
soup = "0.4.1"
|
||||
regex = "1.1.7"
|
||||
regex = "1.1.9"
|
||||
|
||||
# URL encoding library
|
||||
percent-encoding = "1.0.1"
|
||||
|
|
6
build.rs
6
build.rs
|
@ -1,6 +1,12 @@
|
|||
use std::process::Command;
|
||||
|
||||
fn main() {
|
||||
#[cfg(all(feature = "sqlite", feature = "mysql"))]
|
||||
compile_error!("Can't enable both backends");
|
||||
|
||||
#[cfg(not(any(feature = "sqlite", feature = "mysql")))]
|
||||
compile_error!("You need to enable one DB backend. To build with previous defaults do: cargo build --features sqlite");
|
||||
|
||||
read_git_info().ok();
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ RUN ls
|
|||
|
||||
########################## BUILD IMAGE ##########################
|
||||
# Musl build image for statically compiled binary
|
||||
FROM clux/muslrust:nightly-2018-12-01 as build
|
||||
FROM clux/muslrust:nightly-2019-07-08 as build
|
||||
|
||||
# set mysql backend
|
||||
ARG DB=mysql
|
||||
|
|
|
@ -22,7 +22,7 @@ RUN ls
|
|||
|
||||
########################## BUILD IMAGE ##########################
|
||||
# Musl build image for statically compiled binary
|
||||
FROM clux/muslrust:nightly-2018-12-01 as build
|
||||
FROM clux/muslrust:nightly-2019-07-08 as build
|
||||
|
||||
# set sqlite as default for DB ARG for backward comaptibility
|
||||
ARG DB=sqlite
|
||||
|
|
|
@ -1 +1 @@
|
|||
nightly-2019-06-14
|
||||
nightly-2019-07-09
|
||||
|
|
|
@ -563,7 +563,7 @@ pub struct YubikeyMetadata {
|
|||
}
|
||||
|
||||
use yubico::config::Config;
|
||||
use yubico::Yubico;
|
||||
use yubico::verify;
|
||||
|
||||
fn parse_yubikeys(data: &EnableYubikeyData) -> Vec<String> {
|
||||
let data_keys = [&data.Key1, &data.Key2, &data.Key3, &data.Key4, &data.Key5];
|
||||
|
@ -591,12 +591,11 @@ fn get_yubico_credentials() -> Result<(String, String), Error> {
|
|||
fn verify_yubikey_otp(otp: String) -> EmptyResult {
|
||||
let (yubico_id, yubico_secret) = get_yubico_credentials()?;
|
||||
|
||||
let yubico = Yubico::new();
|
||||
let config = Config::default().set_client_id(yubico_id).set_key(yubico_secret);
|
||||
|
||||
match CONFIG.yubico_server() {
|
||||
Some(server) => yubico.verify(otp, config.set_api_hosts(vec![server])),
|
||||
None => yubico.verify(otp, config),
|
||||
Some(server) => verify(otp, config.set_api_hosts(vec![server])),
|
||||
None => verify(otp, config),
|
||||
}
|
||||
.map_res("Failed to verify OTP")
|
||||
.and(Ok(()))
|
||||
|
|
|
@ -48,7 +48,7 @@ pub fn get_connection() -> Result<Connection, ConnectionError> {
|
|||
/// Creates a back-up of the database using sqlite3
|
||||
pub fn backup_database() -> Result<(), Error> {
|
||||
let now: DateTime<Utc> = Utc::now();
|
||||
let file_date = String::from(now.format("%Y%m%d").to_string());
|
||||
let file_date = now.format("%Y%m%d").to_string();
|
||||
let backup_command: String = format!("{}{}{}", ".backup 'db_", file_date, ".sqlite3'");
|
||||
|
||||
Command::new("sqlite3")
|
||||
|
|
|
@ -45,12 +45,6 @@ fn main() {
|
|||
init_logging().ok();
|
||||
}
|
||||
|
||||
#[cfg(all(feature = "sqlite", feature = "mysql"))]
|
||||
compile_error!("Can't enable both backends");
|
||||
|
||||
#[cfg(not(any(feature = "sqlite", feature = "mysql")))]
|
||||
compile_error!("You need to enable one DB backend. To build with previous defaults do: cargo build --features sqlite");
|
||||
|
||||
check_db();
|
||||
check_rsa_keys();
|
||||
check_web_vault();
|
||||
|
|
Loading…
Reference in a new issue