From: Dietmar Maurer Date: Wed, 30 Jun 2021 06:10:03 +0000 (+0200) Subject: check_user_enabled: also check if user is expired X-Git-Url: https://git.proxmox.com/?p=pve-access-control.git;a=commitdiff_plain;h=8a724f7b3a709a5cc8a723840e0104bfad6daf83;ds=sidebyside check_user_enabled: also check if user is expired --- diff --git a/src/PVE/AccessControl.pm b/src/PVE/AccessControl.pm index 2569a35..8628678 100644 --- a/src/PVE/AccessControl.pm +++ b/src/PVE/AccessControl.pm @@ -428,12 +428,10 @@ sub verify_token { check_user_enabled($usercfg, $username); check_token_exist($usercfg, $username, $token); - my $ctime = time(); - my $user = $usercfg->{users}->{$username}; - die "account expired\n" if $user->{expire} && ($user->{expire} < $ctime); - my $token_info = $user->{tokens}->{$token}; + + my $ctime = time(); die "token expired\n" if $token_info->{expire} && ($token_info->{expire} < $ctime); die "invalid token value!\n" if !PVE::Cluster::verify_token($tokenid, $value); @@ -579,6 +577,11 @@ sub check_user_enabled { die "user '$username' is disabled\n" if !$noerr; + my $ctime = time(); + my $expire = $usercfg->{users}->{$username}->{expire}; + + die "account expired\n" if $expire && ($expire < $ctime); + return undef; } @@ -629,11 +632,6 @@ sub authenticate_user { check_user_enabled($usercfg, $username); - my $ctime = time(); - my $expire = $usercfg->{users}->{$username}->{expire}; - - die "account expired\n" if $expire && ($expire < $ctime); - my $domain_cfg = cfs_read_file('domains.cfg'); my $cfg = $domain_cfg->{ids}->{$realm};