pull/473/head
Daniel García 6 years ago
parent eadab2e9ca
commit 874f5c34bd
No known key found for this signature in database
GPG Key ID: FC8A7D14C3CD543A

@ -158,7 +158,7 @@ fn invite_user(data: Json<InviteData>, _token: AdminToken, conn: DbConn) -> Empt
}
#[get("/users")]
fn get_users(_token: AdminToken, conn: DbConn) ->JsonResult {
fn get_users(_token: AdminToken, conn: DbConn) -> JsonResult {
let users = User::get_all(&conn);
let users_json: Vec<Value> = users.iter().map(|u| u.to_json(&conn)).collect();

@ -877,7 +877,13 @@ struct OrganizationId {
}
#[post("/ciphers/purge?<organization..>", data = "<data>")]
fn delete_all(organization: Option<Form<OrganizationId>>, data: JsonUpcase<PasswordData>, headers: Headers, conn: DbConn, nt: Notify) -> EmptyResult {
fn delete_all(
organization: Option<Form<OrganizationId>>,
data: JsonUpcase<PasswordData>,
headers: Headers,
conn: DbConn,
nt: Notify,
) -> EmptyResult {
let data: PasswordData = data.into_inner().data;
let password_hash = data.MasterPasswordHash;
@ -903,7 +909,7 @@ fn delete_all(organization: Option<Form<OrganizationId>>, data: JsonUpcase<Passw
}
}
}
},
}
None => {
// No organization ID in query params, purging user vault
// Delete ciphers and their attachments
@ -919,7 +925,7 @@ fn delete_all(organization: Option<Form<OrganizationId>>, data: JsonUpcase<Passw
user.update_revision(&conn)?;
nt.send_user_update(UpdateType::Vault, &user);
Ok(())
},
}
}
}

@ -734,7 +734,6 @@ impl DuoData {
}),
None => None,
}
}
fn msg(s: &str) -> Self {
Self {
@ -762,7 +761,6 @@ impl DuoData {
}
}
enum DuoStatus {
Global(DuoData), // Using the global duo config
User(DuoData), // Using the user's config
@ -912,7 +910,6 @@ const APP_PREFIX: &str = "APP";
use chrono::Utc;
fn get_user_duo_data(uuid: &str, conn: &DbConn) -> DuoStatus {
let type_ = TwoFactorType::Duo as i32;
@ -940,7 +937,7 @@ fn get_user_duo_data(uuid: &str, conn: &DbConn) -> DuoStatus {
fn get_duo_keys_email(email: &str, conn: &DbConn) -> ApiResult<(String, String, String, String)> {
let data = User::find_by_mail(email, &conn)
.and_then(|u| get_user_duo_data(&u.uuid, &conn).data())
.or_else(|| DuoData::global())
.or_else(DuoData::global)
.map_res("Can't fetch Duo keys")?;
Ok((data.ik, data.sk, CONFIG.get_duo_akey(), data.host))

@ -2,7 +2,7 @@
// PBKDF2 derivation
//
use ring::{digest, pbkdf2, hmac};
use ring::{digest, hmac, pbkdf2};
static DIGEST_ALG: &digest::Algorithm = &digest::SHA256;
const OUTPUT_LEN: usize = digest::SHA256_OUTPUT_LEN;
@ -22,7 +22,7 @@ pub fn verify_password_hash(secret: &[u8], salt: &[u8], previous: &[u8], iterati
//
// HMAC
//
pub fn hmac_sign(key: &str, data:&str) -> String {
pub fn hmac_sign(key: &str, data: &str) -> String {
use data_encoding::HEXLOWER;
let key = hmac::SigningKey::new(&digest::SHA1, key.as_bytes());

@ -1,7 +1,7 @@
use lettre::smtp::authentication::Credentials;
use lettre::smtp::ConnectionReuseParameters;
use lettre::{ClientSecurity, ClientTlsParameters, SmtpClient, SmtpTransport, Transport};
use lettre_email::{EmailBuilder,PartBuilder,MimeMultipartType};
use lettre_email::{EmailBuilder, MimeMultipartType, PartBuilder};
use native_tls::{Protocol, TlsConnector};
use quoted_printable::encode_to_str;

@ -91,8 +91,9 @@ fn init_logging() -> Result<(), fern::InitError> {
logger = logger.chain(fern::log_file(log_file)?);
}
#[cfg(not(windows))] {
if cfg!(feature="enable_syslog") || CONFIG.use_syslog() {
#[cfg(not(windows))]
{
if cfg!(feature = "enable_syslog") || CONFIG.use_syslog() {
logger = chain_syslog(logger);
}
}

Loading…
Cancel
Save