Fix IP not shown when failed login (Fixes #761)

This commit is contained in:
Daniel García 2019-12-07 14:38:32 +01:00
parent a03db6d224
commit 5cabf4d040
No known key found for this signature in database
GPG Key ID: FC8A7D14C3CD543A
2 changed files with 16 additions and 5 deletions

View File

@ -211,7 +211,7 @@ fn twofactor_auth(
let twofactor_code = match data.two_factor_token {
Some(ref code) => code,
None => err_json!(_json_err_twofactor(&twofactor_ids, user_uuid, conn)?),
None => err_json!(_json_err_twofactor(&twofactor_ids, user_uuid, conn)?, "2FA token not provided"),
};
let selected_twofactor = twofactors
@ -237,7 +237,7 @@ fn twofactor_auth(
Some(ref code) if !CONFIG.disable_2fa_remember() && ct_eq(code, twofactor_code) => {
remember = 1; // Make sure we also return the token here, otherwise it will only remember the first time
}
_ => err_json!(_json_err_twofactor(&twofactor_ids, user_uuid, conn)?),
_ => err_json!(_json_err_twofactor(&twofactor_ids, user_uuid, conn)?, "2FA Remember token not provided"),
}
}
_ => err!("Invalid two factor provider"),

View File

@ -86,7 +86,18 @@ impl std::fmt::Debug for Error {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self.source() {
Some(e) => write!(f, "{}.\n[CAUSE] {:#?}", self.message, e),
None => write!(f, "{}", self.message),
None => match self.error {
ErrorKind::EmptyError(_) => Ok(()),
ErrorKind::SimpleError(ref s) => {
if &self.message == s {
write!(f, "{}", self.message)
} else {
write!(f, "{}. {}", self.message, s)
}
},
ErrorKind::JsonError(_) => write!(f, "{}", self.message),
_ => unreachable!(),
},
}
}
}
@ -200,8 +211,8 @@ macro_rules! err {
#[macro_export]
macro_rules! err_json {
($expr:expr) => {{
return Err(crate::error::Error::from($expr));
($expr:expr, $log_value:expr) => {{
return Err(($log_value, $expr).into());
}};
}