Browse Source
Validate YUBICO_SERVER string (#3003 )
If the `YUBICO_SERVER` is defined to an empty string, the whole yubikey
implementation doesn't work anymore.
This PR adds a check for this variable that it at least starts with `https://`.
Resolves #3003
pull/3059/head
BlackDex
2 years ago
No known key found for this signature in database
GPG Key ID: 58C80A2AA6C765E1
1 changed files with
11 additions and
2 deletions
src/config.rs
@ -698,8 +698,17 @@ fn validate_config(cfg: &ConfigItems) -> Result<(), Error> {
err ! ( "All Duo options need to be set for global Duo support" )
}
if cfg . _enable_yubico & & cfg . yubico_client_id . is_some ( ) ! = cfg . yubico_secret_key . is_some ( ) {
err ! ( "Both `YUBICO_CLIENT_ID` and `YUBICO_SECRET_KEY` need to be set for Yubikey OTP support" )
if cfg . _enable_yubico {
if cfg . yubico_client_id . is_some ( ) ! = cfg . yubico_secret_key . is_some ( ) {
err ! ( "Both `YUBICO_CLIENT_ID` and `YUBICO_SECRET_KEY` must be set for Yubikey OTP support" )
}
if let Some ( yubico_server ) = & cfg . yubico_server {
let yubico_server = yubico_server . to_lowercase ( ) ;
if ! yubico_server . starts_with ( "https://" ) {
err ! ( "`YUBICO_SERVER` must be a valid URL and start with 'https://'. Either unset this variable or provide a valid URL." )
}
}
}
if cfg . _enable_smtp {