Launch DevOps configuration check before fetching cookie (Fixes #2367)

Moo
Xavier Guimard 5 years ago
parent ca7107ec59
commit bdccb42196
  1. 14
      lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Lib/DevOps.pm

@ -15,9 +15,9 @@ sub ua {
return $_ua = Lemonldap::NG::Common::UserAgent->new( $_[0]->localConfig ); return $_ua = Lemonldap::NG::Common::UserAgent->new( $_[0]->localConfig );
} }
sub grant { sub checkMaintenanceMode {
my ( $class, $req, $session, $uri, $cond, $vhost ) = @_; my ( $class, $req ) = @_;
$vhost ||= $class->resolveAlias($req); my $vhost = $class->resolveAlias($req);
$class->tsv->{lastVhostUpdate} //= {}; $class->tsv->{lastVhostUpdate} //= {};
unless ( unless (
$class->tsv->{defaultCondition}->{$vhost} $class->tsv->{defaultCondition}->{$vhost}
@ -28,8 +28,7 @@ sub grant {
{ {
$class->loadVhostConfig( $req, $vhost ); $class->loadVhostConfig( $req, $vhost );
} }
return $class->Lemonldap::NG::Handler::Main::grant( $req, $session, $uri, return $class->Lemonldap::NG::Handler::Main::checkMaintenanceMode($req);
$cond, $vhost );
} }
sub loadVhostConfig { sub loadVhostConfig {
@ -37,7 +36,8 @@ sub loadVhostConfig {
my $json; my $json;
if ( $class->tsv->{useSafeJail} ) { if ( $class->tsv->{useSafeJail} ) {
my $rUrl = $req->{env}->{RULES_URL} my $rUrl = $req->{env}->{RULES_URL}
|| ( ( || (
(
$class->localConfig->{loopBackUrl} $class->localConfig->{loopBackUrl}
|| "http://127.0.0.1:" . $req->{env}->{SERVER_PORT} || "http://127.0.0.1:" . $req->{env}->{SERVER_PORT}
) )
@ -66,7 +66,7 @@ q"I refuse to compile rules.json when useSafeJail isn't activated! Yes I know, I
$json->{rules} ||= { default => 1 }; $json->{rules} ||= { default => 1 };
$json->{headers} //= { 'Auth-User' => '$uid' }; $json->{headers} //= { 'Auth-User' => '$uid' };
$class->locationRulesInit( undef, { $vhost => $json->{rules} } ); $class->locationRulesInit( undef, { $vhost => $json->{rules} } );
$class->headersInit( undef, { $vhost => $json->{headers} } ); $class->headersInit( undef, { $vhost => $json->{headers} } );
$class->tsv->{lastVhostUpdate}->{$vhost} = time; $class->tsv->{lastVhostUpdate}->{$vhost} = time;
return; return;
} }

Loading…
Cancel
Save