-my %authen_cache;
-
-sub authenticate {
- my ($user, $pass, $env) = @_;
- my $cache_key = sha256 "$user:$pass";
- my $time = $authen_cache{$cache_key} // 0;
- if ($time >= time - 300) {
- return 1;
- } else {
- delete $authen_cache{$cache_key};
- }
-
- return unless eval {
- pwcheck $user, $pass;
- 1
- };
- $authen_cache{$cache_key} = time;
-
- return if $env->{'gruntmaster.reqadmin'} && !hascaps $user, 'gmadm';
- 1
-}
-
-Log::Log4perl->init('log.conf');