vw_small

Hardened fork of Vaultwarden (https://github.com/dani-garcia/vaultwarden) with fewer features.
git clone https://git.philomathiclife.com/repos/vw_small
Log | Files | Refs | README

commit b75ba216d1020212662f870306ebbeaf16e260fa
parent 8651df8c2a19feca2a5dc997d5eda2389305c9d8
Author: Daniel GarcĂ­a <dani-garcia@users.noreply.github.com>
Date:   Thu, 13 Sep 2018 23:04:52 +0200

Return default prelogin values when the user doesn't exist

Diffstat:
Msrc/api/core/accounts.rs | 24+++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/src/api/core/accounts.rs b/src/api/core/accounts.rs @@ -320,20 +320,22 @@ struct PreloginData { fn prelogin(data: JsonUpcase<PreloginData>, conn: DbConn) -> JsonResult { let data: PreloginData = data.into_inner().data; - match User::find_by_mail(&data.Email, &conn) { - Some(user) => { - let kdf_type = 0; // PBKDF2: 0 + const KDF_TYPE_DEFAULT: i32 = 0; // PBKDF2: 0 + const KDF_ITER_DEFAULT: i32 = 5_000; + let (kdf_type, kdf_iter) = match User::find_by_mail(&data.Email, &conn) { + Some(user) => { let _server_iter = user.password_iterations; - let client_iter = 5000; // TODO: Make iterations user configurable - + let client_iter = KDF_ITER_DEFAULT; // TODO: Make iterations user configurable - Ok(Json(json!({ - "Kdf": kdf_type, - "KdfIterations": client_iter - }))) + (KDF_TYPE_DEFAULT, client_iter) }, - None => err!("Invalid user"), - } + None => (KDF_TYPE_DEFAULT, KDF_ITER_DEFAULT), // Return default values when no user + }; + + Ok(Json(json!({ + "Kdf": kdf_type, + "KdfIterations": kdf_iter + }))) }