Browse Source
Include IP in invalid admin token error
pull/343/head
Daniel García
6 years ago
No known key found for this signature in database
GPG Key ID: FC8A7D14C3CD543A
2 changed files with
13 additions and
2 deletions
-
src/api/admin.rs
-
src/error.rs
|
@ -91,8 +91,15 @@ impl<'a, 'r> FromRequest<'a, 'r> for AdminToken { |
|
|
// Option 2a: Send it to admin email, like upstream
|
|
|
// Option 2a: Send it to admin email, like upstream
|
|
|
// Option 2b: Print in console or save to data dir, so admin can check
|
|
|
// Option 2b: Print in console or save to data dir, so admin can check
|
|
|
|
|
|
|
|
|
|
|
|
use crate::auth::ClientIp; |
|
|
|
|
|
|
|
|
|
|
|
let ip = match request.guard::<ClientIp>() { |
|
|
|
|
|
Outcome::Success(ip) => ip, |
|
|
|
|
|
_ => err_handler!("Error getting Client IP"), |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
if access_token != config_token { |
|
|
if access_token != config_token { |
|
|
err_handler!("Invalid admin token") |
|
|
err_handler!("Invalid admin token", format!("IP: {}.", ip.ip)) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Outcome::Success(AdminToken {}) |
|
|
Outcome::Success(AdminToken {}) |
|
|
|
@ -163,7 +163,11 @@ macro_rules! err_json { |
|
|
#[macro_export] |
|
|
#[macro_export] |
|
|
macro_rules! err_handler { |
|
|
macro_rules! err_handler { |
|
|
($expr:expr) => {{ |
|
|
($expr:expr) => {{ |
|
|
error!("Unauthorized Error: {:#?}", $expr); |
|
|
error!("Unauthorized Error: {}", $expr); |
|
|
return rocket::Outcome::Failure((rocket::http::Status::Unauthorized, $expr)); |
|
|
return rocket::Outcome::Failure((rocket::http::Status::Unauthorized, $expr)); |
|
|
}}; |
|
|
}}; |
|
|
|
|
|
($usr_msg:expr, $log_value:expr) => {{ |
|
|
|
|
|
error!("Unauthorized Error: {}. {}", $usr_msg, $log_value); |
|
|
|
|
|
return rocket::Outcome::Failure((rocket::http::Status::Unauthorized, $usr_msg)); |
|
|
|
|
|
}}; |
|
|
} |
|
|
} |
|
|