diff --git a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/RESTServer.pm b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/RESTServer.pm
index 761115a97..9ed252c65 100644
--- a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/RESTServer.pm
+++ b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/RESTServer.pm
@@ -628,8 +628,7 @@ sub metadatas {
. $c );
}
else {
- $self->logger->info(
- "REST request to get full configuration $c");
+ $self->logger->info("REST request to get full configuration $c");
}
return $self->sendJSONresponse(
$req,
diff --git a/lemonldap-ng-common/lib/Lemonldap/NG/Common/IPv6.pm b/lemonldap-ng-common/lib/Lemonldap/NG/Common/IPv6.pm
index 5200973a0..c83de8ad4 100644
--- a/lemonldap-ng-common/lib/Lemonldap/NG/Common/IPv6.pm
+++ b/lemonldap-ng-common/lib/Lemonldap/NG/Common/IPv6.pm
@@ -5,7 +5,7 @@ use base 'Exporter';
@EXPORT = qw(&isIPv6 &net6 &expand6);
sub isIPv6 {
- my($ip) = @_;
+ my ($ip) = @_;
return $ip =~ /^[a-z0-9:]+$/i;
}
diff --git a/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Run.pm b/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Run.pm
index 588bd362b..67f3e4c8e 100644
--- a/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Run.pm
+++ b/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Run.pm
@@ -292,7 +292,8 @@ sub forbidden {
}
if ( $session->{_upgrade} ) {
- return $class->goToPortal( $class->unparsed_uri, undef, '/upgradesession' );
+ return $class->goToPortal( $class->unparsed_uri, undef,
+ '/upgradesession' );
}
# Log forbidding
diff --git a/lemonldap-ng-handler/t/65-Lemonldap-NG-Handler-PSGI-ServiceToken.t b/lemonldap-ng-handler/t/65-Lemonldap-NG-Handler-PSGI-ServiceToken.t
index 58f3b050e..1c9d0cca5 100644
--- a/lemonldap-ng-handler/t/65-Lemonldap-NG-Handler-PSGI-ServiceToken.t
+++ b/lemonldap-ng-handler/t/65-Lemonldap-NG-Handler-PSGI-ServiceToken.t
@@ -15,7 +15,7 @@ my $token = $crypt->encrypt( join ':', time, $sessionId, 'test1.example.com' );
ok(
$res = $client->_get(
'/', undef, 'test1.example.com', undef,
- VHOSTTYPE => 'ServiceToken',
+ VHOSTTYPE => 'ServiceToken',
'HTTP_X_LLNG_TOKEN' => $token,
),
'Query with token'
diff --git a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build.pm b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build.pm
index 259678bfb..83f679795 100644
--- a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build.pm
+++ b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build.pm
@@ -495,6 +495,7 @@ sub scanTree {
push @sessionTypes, $1
if ( $leaf =~ /^(.*)(?{$leaf} or die("Missing attribute $leaf");
+
#print STDERR "| $attr->{documentation} | $leaf |\n";
$jleaf = { id => "$prefix$leaf", title => $leaf };
unless ( $attr->{type} ) {
diff --git a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Zero.pm b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Zero.pm
index 74cfe5b12..968d9f3ce 100644
--- a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Zero.pm
+++ b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Zero.pm
@@ -155,7 +155,7 @@ sub zeroConf {
'^/logout' => 'logout_sso'
},
"manager.$domain" => {
- 'default' => '$uid eq "dwho" or $uid eq "rtyler"',
+ 'default' => '$uid eq "dwho" or $uid eq "rtyler"',
'(?#Configuration)^/(manager\.html|conf/)' => '$uid eq "dwho"',
'(?#Sessions)/sessions' => '$uid eq "dwho" or $uid eq "rtyler"',
'(?#Notifications)/notifications' =>
diff --git a/lemonldap-ng-manager/t/40-sessions.t b/lemonldap-ng-manager/t/40-sessions.t
index ab757b48c..f1f729f89 100644
--- a/lemonldap-ng-manager/t/40-sessions.t
+++ b/lemonldap-ng-manager/t/40-sessions.t
@@ -136,7 +136,8 @@ ok( $res->{count} == 1, 'One A subnet' );
ok( $res->{values}->[0]->{count} == 4, 'All sessions found' );
$res = &client->jsonResponse( '/sessions/global', 'groupBy=net4(ipAddr,2)' );
ok( $res->{count} == 3, 'Three B subnet' );
-ok( $res->{values}->[1]->{count} == 2, 'All sessions found' ) or print STDERR Dumper($res);
+ok( $res->{values}->[1]->{count} == 2, 'All sessions found' )
+ or print STDERR Dumper($res);
count(4);
$res = &client->jsonResponse( '/sessions/global', 'orderBy=net4(ipAddr)' );
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/AD.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/AD.pm
index cf067ee49..9d3853629 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/AD.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/AD.pm
@@ -16,6 +16,7 @@ extends 'Lemonldap::NG::Portal::Auth::LDAP';
has adPwdMaxAge => (
is => 'rw',
+ lazy => 1,
builder => sub {
my $conf = $_[0]->{conf};
my $res = $conf->{ADPwdMaxAge} || 0;
@@ -25,6 +26,7 @@ has adPwdMaxAge => (
has adPwdExpireWarning => (
is => 'rw',
+ lazy => 1,
builder => sub {
my $conf = $_[0]->{conf};
my $res = $conf->{ADPwdExpireWarning} || 0;
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/CAS.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/CAS.pm
index 1c49dbbcf..fea905fa0 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/CAS.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/CAS.pm
@@ -19,6 +19,7 @@ extends 'Lemonldap::NG::Portal::Auth::Base', 'Lemonldap::NG::Portal::Lib::CAS';
# Act as a proxy if proxied services configured
has proxy => (
is => 'rw',
+ lazy => 1,
builder => sub {
return
ref( $_[0]->conf->{CAS_proxiedServices} ) eq 'HASH'
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Combination.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Combination.pm
index b6271a220..41b8ddeb8 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Combination.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Combination.pm
@@ -17,6 +17,7 @@ has stackSub => ( is => 'rw' );
has wrapUserLogger => (
is => 'rw',
+ lazy => 1,
default => sub {
Lemonldap::NG::Portal::Lib::Combination::UserLogger->new(
$_[0]->{userLogger} );
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/OpenID.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/OpenID.pm
index 630c1fe4d..542eb6dd7 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/OpenID.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/OpenID.pm
@@ -23,6 +23,7 @@ extends 'Lemonldap::NG::Portal::Auth::Base';
has secret => (
is => 'rw',
+ lazy => 1,
default => sub {
return $_[0]->conf->{openIdSecret}
|| $_[0]->conf->{cipher}->encrypt(0);
@@ -31,6 +32,7 @@ has secret => (
has listIsWhite => (
is => 'rw',
+ lazy => 1,
default => sub {
( $_[0]->conf->{openIdIDPList} =~ /^(\d);/ )[0] + 0;
}
@@ -38,6 +40,7 @@ has listIsWhite => (
has idpList => (
is => 'rw',
+ lazy => 1,
default => sub {
Lemonldap::NG::Common::Regexp::reDomainsToHost(
( $_[0]->conf->{openIdIDPList} =~ /^\d;(.*)$/ )[0] );
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/OpenIDConnect.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/OpenIDConnect.pm
index 2f8b0b300..a6a52177a 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/OpenIDConnect.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/OpenIDConnect.pm
@@ -302,8 +302,8 @@ sub authLogout {
my $logout_url = $self->conf->{portal} . '?logout=1';
$req->urldc(
$self->buildLogoutRequest(
- $endsession_endpoint,
- $req->{sessionInfo}->{_oidc_id_token}, $logout_url
+ $endsession_endpoint, $req->{sessionInfo}->{_oidc_id_token},
+ $logout_url
)
);
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/PAM.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/PAM.pm
index afeada696..63c8c5bf6 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/PAM.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/PAM.pm
@@ -17,6 +17,7 @@ our $VERSION = '2.0.0';
has service => (
is => 'rw',
+ lazy => 1,
default => sub {
return $_[0]->{conf}->{pamService} || 'login';
}
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Radius.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Radius.pm
index c57ba3670..e3bb32ddc 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Radius.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Radius.pm
@@ -19,6 +19,7 @@ has radius => ( is => 'rw' );
has authnLevel => (
is => 'rw',
+ lazy => 1,
default => sub {
$_[0]->conf->{radiusAuthnLevel};
}
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Twitter.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Twitter.pm
index 6abbbf3ea..770a9f55c 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Twitter.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/Twitter.pm
@@ -11,6 +11,7 @@ our $VERSION = '2.0.0';
has twitterRequestTokenURL => (
is => 'ro',
+ lazy => 1,
default => sub {
$_[0]->conf->{twitterRequestTokenURL}
|| 'https://api.twitter.com/oauth/request_token';
@@ -19,6 +20,7 @@ has twitterRequestTokenURL => (
has twitterAuthorizeURL => (
is => 'ro',
+ lazy => 1,
default => sub {
$_[0]->conf->{twitterAuthorizeURL}
|| 'https://api.twitter.com/oauth/authorize';
@@ -27,6 +29,7 @@ has twitterAuthorizeURL => (
has twitterAccessTokenURL => (
is => 'ro',
+ lazy => 1,
default => sub {
$_[0]->conf->{twitterAccessTokenURL}
|| 'https://api.twitter.com/oauth/access_token';
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/WebID.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/WebID.pm
index 5fa59c45d..e646b181f 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/WebID.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/WebID.pm
@@ -20,6 +20,7 @@ extends 'Lemonldap::NG::Portal::Auth::Base';
has SSLField => (
is => 'rw',
+ lazy => 1,
default => sub {
return ( $_[0]->{conf}->{SSLVar} || 'SSL_CLIENT_S_DN_Email' );
}
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/_WebForm.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/_WebForm.pm
index 6d343f789..a1ed639fc 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/_WebForm.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/_WebForm.pm
@@ -24,6 +24,7 @@ extends 'Lemonldap::NG::Portal::Auth::Base';
has authnLevel => (
is => 'rw',
+ lazy => 1,
builder => sub {
my $conf = $_[0]->{conf};
return ( $conf->{portal} =~ /^https/ ? 2 : 1 );
@@ -109,7 +110,9 @@ sub extractFormInfo {
$self->logger->debug("Captcha code verified");
}
elsif ( $self->ott ) {
- unless ( $req->datas->{tokenVerified} or $self->ott->getToken($token) ) {
+ unless ( $req->datas->{tokenVerified}
+ or $self->ott->getToken($token) )
+ {
$self->ott->setToken($req);
$self->userLogger->warn('Token expired');
return PE_TOKENEXPIRED;
@@ -150,7 +153,8 @@ sub getDisplayType {
}
sub setSecurity {
- my($self,$req) = @_;
+ my ( $self, $req ) = @_;
+
# If captcha is enable, prepare it
if ( $self->captcha ) {
$self->captcha->setCaptcha($req);
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenID.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenID.pm
index f33a11eb9..ed55d0e14 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenID.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenID.pm
@@ -23,6 +23,7 @@ extends 'Lemonldap::NG::Portal::Main::Issuer';
has secret => (
is => 'rw',
+ lazy => 1,
default => sub {
return $_[0]->conf->{openIdIssuerSecret}
|| $_[0]->conf->{cipher}->encrypt(0);
@@ -31,6 +32,7 @@ has secret => (
has listIsWhite => (
is => 'rw',
+ lazy => 1,
default => sub {
( $_[0]->conf->{openIdSPList} =~ /^(\d);/ )[0] + 0;
}
@@ -38,6 +40,7 @@ has listIsWhite => (
has spList => (
is => 'rw',
+ lazy => 1,
default => sub {
Lemonldap::NG::Common::Regexp::reDomainsToHost(
( $_[0]->conf->{openIdSPList} =~ /^\d;(.*)$/ )[0] );
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm
index 3582d6649..e295912c0 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Issuer/OpenIDConnect.pm
@@ -28,6 +28,7 @@ sub beforeAuth { 'exportRequestParameters' }
has configStorage => (
is => 'ro',
+ lazy => 1,
default => sub {
$_[0]->{p}->HANDLER->localConfig->{configStorage};
}
@@ -114,7 +115,9 @@ sub run {
$oidc_request->{$param} = $req->param($param);
$self->logger->debug( "OIDC request parameter $param: "
. $oidc_request->{$param} );
- $self->p->setHiddenFormValue( $req, $param, $oidc_request->{$param}, '', 0 );
+ $self->p->setHiddenFormValue( $req, $param,
+ $oidc_request->{$param},
+ '', 0 );
}
}
@@ -840,7 +843,9 @@ qq'
The application $display_name would li
$req->urldc($response_url);
return PE_REDIRECT;
}
- return $req->param('confirm') == 1 ? ($err ? $err : PE_LOGOUT_OK ) : PE_OK;
+ return $req->param('confirm') == 1
+ ? ( $err ? $err : PE_LOGOUT_OK )
+ : PE_OK;
}
$req->info(
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/Captcha.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/Captcha.pm
index 81184db29..8fcf8c0e7 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/Captcha.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/Captcha.pm
@@ -9,21 +9,46 @@ our $VERSION = '2.0.0';
extends 'Lemonldap::NG::Common::Module';
-has width =>
- ( is => 'rw', default => sub { $_[0]->{conf}->{captchaWidth} || 220 } );
-has height =>
- ( is => 'rw', default => sub { $_[0]->{conf}->{captchaHeight} || 40 } );
-has lines =>
- ( is => 'rw', default => sub { $_[0]->{conf}->{captchaLines} || 5 } );
-has scramble =>
- ( is => 'rw', default => sub { $_[0]->{conf}->{captchaScramble} || 1 } );
-has fgColor =>
- ( is => 'rw', default => sub { $_[0]->{conf}->{captchaFg} || '#403030' } );
-has bgColor =>
- ( is => 'rw', default => sub { $_[0]->{conf}->{captchaBg} || '#FF644B' } );
-has rndmax =>
- ( is => 'rw', default => sub { $_[0]->{conf}->{captcha_size} || 6 } );
-has timeout => ( is => 'rw', default => sub { $_[0]->{conf}->{formTimeout} } );
+has width => (
+ is => 'rw',
+ lazy => 1,
+ default => sub { $_[0]->{conf}->{captchaWidth} || 220 }
+);
+has height => (
+ is => 'rw',
+ lazy => 1,
+ default => sub { $_[0]->{conf}->{captchaHeight} || 40 }
+);
+has lines => (
+ is => 'rw',
+ lazy => 1,
+ default => sub { $_[0]->{conf}->{captchaLines} || 5 }
+);
+has scramble => (
+ is => 'rw',
+ lazy => 1,
+ default => sub { $_[0]->{conf}->{captchaScramble} || 1 }
+);
+has fgColor => (
+ is => 'rw',
+ lazy => 1,
+ default => sub { $_[0]->{conf}->{captchaFg} || '#403030' }
+);
+has bgColor => (
+ is => 'rw',
+ lazy => 1,
+ default => sub { $_[0]->{conf}->{captchaBg} || '#FF644B' }
+);
+has rndmax => (
+ is => 'rw',
+ lazy => 1,
+ default => sub { $_[0]->{conf}->{captcha_size} || 6 }
+);
+has timeout => (
+ is => 'rw',
+ lazy => 1,
+ default => sub { $_[0]->{conf}->{formTimeout} }
+);
has ott => (
is => 'rw',
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OneTimeToken.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OneTimeToken.pm
index 607587f21..156a1abe7 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OneTimeToken.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OneTimeToken.pm
@@ -10,6 +10,7 @@ extends 'Lemonldap::NG::Common::Module';
has timeout => (
is => 'rw',
+ lazy => 1,
default => sub {
$_[0]->{conf}->{timeout};
}
@@ -17,6 +18,7 @@ has timeout => (
has cache => (
is => 'rw',
+ lazy => 1,
default => sub {
my $c = $_[0]->{conf};
if ( !$c->{tokenUseGlobalStorage} ) {
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OtherSessions.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OtherSessions.pm
index f57aaabda..00b46991a 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OtherSessions.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/OtherSessions.pm
@@ -10,6 +10,7 @@ has module =>
has moduleOpts => (
is => 'rw',
+ lazy => 1,
default => sub {
my %opts = %{ $_[0]->{conf}->{globalStorageOptions} || {} };
$opts{backend} = $_[0]->{conf}->{globalStorage};
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/REST.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/REST.pm
index d7f381173..48d8cbd4c 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/REST.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/REST.pm
@@ -9,6 +9,7 @@ our $VERSION = '2.0.0';
has ua => (
is => 'rw',
+ lazy => 1,
default => sub {
return Lemonldap::NG::Common::UserAgent->new( $_[0]->{conf} );
}
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SMTP.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SMTP.pm
index 363e94dfd..ea3f6d03a 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SMTP.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SMTP.pm
@@ -29,10 +29,12 @@ has random => (
);
has charset => (
is => 'rw',
+ lazy => 1,
default => sub { return $_[0]->{conf}->{mailCharset} || 'utf-8' }
);
has transport => (
is => 'rw',
+ lazy => 1,
default => sub {
return $transport if $transport;
my $conf = $_[0]->{conf};
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm
index 6e068b105..634a7a07c 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm
@@ -140,7 +140,7 @@ sub display {
}
elsif ( $req->error == PE_RENEWSESSION ) {
- $skinfile = 'upgradesession';
+ $skinfile = 'upgradesession';
%templateParams = (
MSG => 'askToRenew',
CONFIRMKEY => $self->stamp,
@@ -150,7 +150,10 @@ sub display {
}
# 2.3 Case : user authenticated but an error was returned (bas url,...)
- elsif ( not $req->datas->{noerror} and $req->userData and %{ $req->userData } ) {
+ elsif ( not $req->datas->{noerror}
+ and $req->userData
+ and %{ $req->userData } )
+ {
$skinfile = 'error';
%templateParams = (
AUTH_ERROR => $req->error,
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Issuer.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Issuer.pm
index ded30d784..3982b20f5 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Issuer.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Issuer.pm
@@ -28,6 +28,7 @@ has path => ( is => 'rw' );
has _ott => (
is => 'rw',
+ lazy => 1,
default => sub {
my $ott = $_[0]->{p}->loadModule('::Lib::OneTimeToken');
$ott->timeout( $_[0]->{conf}->{formTimeout} );
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Menu.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Menu.pm
index 27515c37a..25778c343 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Menu.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Menu.pm
@@ -15,6 +15,7 @@ extends 'Lemonldap::NG::Common::Module';
has menuModules => (
is => 'rw',
+ lazy => 1,
builder => sub {
my $conf = $_[0]->{conf}->{menuModule};
my @res;
@@ -31,6 +32,7 @@ has menuModules => (
has imgPath => (
is => 'rw',
+ lazy => 1,
builder => sub {
return $_[0]->{conf}->{impgPath}
|| $_[0]->{conf}->{staticPrefix} . '/logos';
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Process.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Process.pm
index 87ded802c..d806e33c0 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Process.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Process.pm
@@ -74,10 +74,12 @@ sub controlUrl {
}
}
$req->{datas}->{_url} ||= '';
- my ($url, $issuerUrl);
- if ( ($url = $req->param('url')) or ($issuerUrl = $req->param('issuerUrldc')) ) {
+ my ( $url, $issuerUrl );
+ if ( ( $url = $req->param('url') )
+ or ( $issuerUrl = $req->param('issuerUrldc') ) )
+ {
- if($issuerUrl) {
+ if ($issuerUrl) {
$req->urlNotBase64(1);
$url = $issuerUrl;
}
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/SecondFactor.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/SecondFactor.pm
index 7e2c2f9fa..ce133ba30 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/SecondFactor.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/SecondFactor.pm
@@ -58,7 +58,7 @@ sub _run {
$req->id(0);
$self->p->rebuildCookies($req);
my $res = $self->run( $req, $token );
- delete $req->{authResult} if($res);
+ delete $req->{authResult} if ($res);
return $res;
}
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/External2F.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/External2F.pm
index 68c6ce64f..59ed157bb 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/External2F.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/External2F.pm
@@ -73,7 +73,7 @@ sub verify {
. $session->{ $self->conf->{whatToTrace} } );
return PE_BADCREDENTIALS;
}
- PE_OK
+ PE_OK;
}
# system() is used with an array to avoid shell injection
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/MailReset.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/MailReset.pm
index c3f4b0ae6..d44c1cc81 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/MailReset.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/MailReset.pm
@@ -38,6 +38,7 @@ extends 'Lemonldap::NG::Portal::Main::Plugin',
# Form timout token generator (used even if requireToken is not set)
has ott => (
is => 'rw',
+ lazy => 1,
default => sub {
my $ott =
$_[0]->{p}->loadModule('Lemonldap::NG::Portal::Lib::OneTimeToken');
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/RESTServer.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/RESTServer.pm
index 2ebddc0a0..342f50ead 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/RESTServer.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/RESTServer.pm
@@ -51,6 +51,7 @@ extends 'Lemonldap::NG::Portal::Main::Plugin';
has configStorage => (
is => 'ro',
+ lazy => 1,
default => sub {
$_[0]->{p}->HANDLER->localConfig->{configStorage};
}
@@ -58,6 +59,7 @@ has configStorage => (
has exportedAttr => (
is => 'rw',
+ lazy => 1,
default => sub {
my $conf = $_[0]->{conf};
if ( $conf->{exportedAttr} and $conf->{exportedAttr} !~ /^\s*\+/ ) {
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/Register.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/Register.pm
index 46267186e..25c34a5cb 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/Register.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/Register.pm
@@ -35,6 +35,7 @@ has registerModule => ( is => 'rw' );
# Register url to set in the mail
has registerUrl => (
is => 'rw',
+ lazy => 1,
default => sub {
my $p = $_[0]->conf->{portal};
$p =~ s#/*$##;
@@ -45,6 +46,7 @@ has registerUrl => (
# Mail timeout token generator
has mailott => (
is => 'rw',
+ lazy => 1,
default => sub {
my $ott =
$_[0]->{p}->loadModule('Lemonldap::NG::Portal::Lib::OneTimeToken');
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/SOAPServer.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/SOAPServer.pm
index 33f235869..45be219af 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/SOAPServer.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/SOAPServer.pm
@@ -24,6 +24,7 @@ has server => ( is => 'rw' );
has configStorage => (
is => 'ro',
+ lazy => 1,
default => sub {
$_[0]->{p}->HANDLER->localConfig->{configStorage};
}
@@ -31,6 +32,7 @@ has configStorage => (
has exportedAttr => (
is => 'rw',
+ lazy => 1,
default => sub {
my $conf = $_[0]->{conf};
if ( $conf->{exportedAttr} and $conf->{exportedAttr} !~ /^\s*\+/ ) {
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/StayConnected.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/StayConnected.pm
index 7f40d12c8..a5fbb64a0 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/StayConnected.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/StayConnected.pm
@@ -26,6 +26,7 @@ use constant beforeLogout => 'logout';
has ott => (
is => 'rw',
+ lazy => 1,
default => sub {
my $ott =
$_[0]->{p}->loadModule('Lemonldap::NG::Portal::Lib::OneTimeToken');
@@ -37,6 +38,7 @@ has ott => (
# Default timeout: 1 month
has timeout => (
is => 'rw',
+ lazy => 1,
default => sub {
$_[0]->{conf}->{stayConnectedTimeout} || 2678400;
}
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/Upgrade.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/Upgrade.pm
index f3e9e777b..eb7d1a9d0 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/Upgrade.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Plugins/Upgrade.pm
@@ -16,6 +16,7 @@ extends 'Lemonldap::NG::Portal::Main::Plugin';
has ott => (
is => 'rw',
+ lazy => 1,
default => sub {
my $ott =
$_[0]->{p}->loadModule('Lemonldap::NG::Portal::Lib::OneTimeToken');
@@ -66,9 +67,9 @@ sub confirm {
return $self->p->do( $req, [ sub { PE_TOKENEXPIRED } ] );
}
}
- $req->steps(['controlUrl']);
+ $req->steps( ['controlUrl'] );
my $res = $self->p->process($req);
- return $self->p->do( $req, [ sub { $res } ] ) if($res);
+ return $self->p->do( $req, [ sub { $res } ] ) if ($res);
if ( $upg or $req->param('confirm') == 1 ) {
$req->datas->{noerror} = 1;
$self->p->setHiddenFormValue(
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/DBI.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/DBI.pm
index 369379a56..d746aa576 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/DBI.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/DBI.pm
@@ -12,6 +12,7 @@ our $VERSION = '2.0.0';
has table => (
is => 'rw',
+ lazy => 1,
builder => sub {
my $conf = $_[0]->{conf};
return $conf->{dbiUserTable} || $conf->{dbiAuthTable};
@@ -20,6 +21,7 @@ has table => (
has pivot => (
is => 'rw',
+ lazy => 1,
builder => sub {
my $conf = $_[0]->{conf};
return $conf->{userPivot} || $conf->{dbiAuthLoginCol};
@@ -28,6 +30,7 @@ has pivot => (
has exportedVars => (
is => 'rw',
+ lazy => 1,
builder => sub {
my $conf = $_[0]->{conf};
return { %{ $conf->{exportedVars} }, %{ $conf->{dbiExportedVars} } };
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/Facebook.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/Facebook.pm
index 201622317..8b3d549c5 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/Facebook.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/Facebook.pm
@@ -10,6 +10,7 @@ our $VERSION = '2.0.0';
has vars => (
is => 'rw',
+ lazy => 1,
builder => sub {
return {
%{ $_[0]->conf->{exportedVars} },
diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/LDAP.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/LDAP.pm
index 4132ad5ab..c18fc843e 100644
--- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/LDAP.pm
+++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/UserDB/LDAP.pm
@@ -11,6 +11,7 @@ our $VERSION = '2.0.0';
has ldapGroupAttributeNameSearch => (
is => 'rw',
+ lazy => 1,
builder => sub {
return $_[0]->{conf}->{ldapGroupAttributeNameSearch}
? [
@@ -30,6 +31,7 @@ has ldapGroupAttributeNameSearch => (
has attrs => (
is => 'rw',
+ lazy => 1,
builder => sub {
return [
values %{ $_[0]->{conf}->{exportedVars} },
diff --git a/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST-IdP-initiated.t b/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST-IdP-initiated.t
index 9920118fd..0b44a192a 100644
--- a/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST-IdP-initiated.t
+++ b/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST-IdP-initiated.t
@@ -317,7 +317,8 @@ ywIDAQAB
",
samlSPMetaDataXML => {
"sp.com" => {
- samlSPMetaDataXML => samlSPMetaDataXML('sp','HTTP-POST')
+ samlSPMetaDataXML =>
+ samlSPMetaDataXML( 'sp', 'HTTP-POST' )
},
},
}
@@ -364,7 +365,8 @@ sub sp {
},
samlIDPMetaDataXML => {
idp => {
- samlIDPMetaDataXML => samlIDPMetaDataXML('idp','HTTP-POST')
+ samlIDPMetaDataXML =>
+ samlIDPMetaDataXML( 'idp', 'HTTP-POST' )
}
},
samlOrganizationDisplayName => "SP",
diff --git a/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST.t b/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST.t
index ac56669a3..43b72c7a6 100644
--- a/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST.t
+++ b/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST.t
@@ -334,7 +334,8 @@ ywIDAQAB
",
samlSPMetaDataXML => {
"sp.com" => {
- samlSPMetaDataXML => samlSPMetaDataXML('sp','HTTP-POST')
+ samlSPMetaDataXML =>
+ samlSPMetaDataXML( 'sp', 'HTTP-POST' )
},
},
}
@@ -380,7 +381,8 @@ sub sp {
},
samlIDPMetaDataXML => {
idp => {
- samlIDPMetaDataXML => samlIDPMetaDataXML('idp','HTTP-POST')
+ samlIDPMetaDataXML =>
+ samlIDPMetaDataXML( 'idp', 'HTTP-POST' )
}
},
samlOrganizationDisplayName => "SP",
diff --git a/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-Redirect-IdP-initiated.t b/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-Redirect-IdP-initiated.t
index 1bdcf1822..98b8ba7eb 100644
--- a/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-Redirect-IdP-initiated.t
+++ b/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-Redirect-IdP-initiated.t
@@ -297,7 +297,8 @@ ywIDAQAB
",
samlSPMetaDataXML => {
"sp.com" => {
- samlSPMetaDataXML => samlSPMetaDataXML('sp','HTTP-Redirect')
+ samlSPMetaDataXML =>
+ samlSPMetaDataXML( 'sp', 'HTTP-Redirect' )
},
},
}
@@ -344,7 +345,8 @@ sub sp {
},
samlIDPMetaDataXML => {
idp => {
- samlIDPMetaDataXML => samlIDPMetaDataXML('idp','HTTP-Redirect')
+ samlIDPMetaDataXML =>
+ samlIDPMetaDataXML( 'idp', 'HTTP-Redirect' )
}
},
samlOrganizationDisplayName => "SP",
diff --git a/lemonldap-ng-portal/t/30-SAML-SP-rule.t b/lemonldap-ng-portal/t/30-SAML-SP-rule.t
index 1d010eee2..5e0941d8e 100644
--- a/lemonldap-ng-portal/t/30-SAML-SP-rule.t
+++ b/lemonldap-ng-portal/t/30-SAML-SP-rule.t
@@ -108,7 +108,7 @@ SKIP: {
);
expectOK($res);
my $idpId = expectCookie($res);
- ok($res->[2]->[0] =~ /trmsg="84"/, 'Reject reason is 84');
+ ok( $res->[2]->[0] =~ /trmsg="84"/, 'Reject reason is 84' );
}
count($maintests);
@@ -150,7 +150,7 @@ sub issuer {
samlSPMetaDataOptionsSignSLOMessage => 1,
samlSPMetaDataOptionsCheckSSOMessageSignature => 1,
samlSPMetaDataOptionsCheckSLOMessageSignature => 1,
- samlSPMetaDataOptionsRule => '$uid eq "dwho"',
+ samlSPMetaDataOptionsRule => '$uid eq "dwho"',
}
},
samlSPMetaDataExportedAttributes => {
diff --git a/lemonldap-ng-portal/t/32-Auth-and-issuer-OIDC-authorization_code.t b/lemonldap-ng-portal/t/32-Auth-and-issuer-OIDC-authorization_code.t
index 2087808eb..4fe22d65f 100644
--- a/lemonldap-ng-portal/t/32-Auth-and-issuer-OIDC-authorization_code.t
+++ b/lemonldap-ng-portal/t/32-Auth-and-issuer-OIDC-authorization_code.t
@@ -72,6 +72,7 @@ ok(
count(1);
($query) = expectRedirection( $res, qr#^http://auth.rp.com/?\?(.*)$# );
+
# Push OP response to RP
switch ('rp');
diff --git a/lemonldap-ng-portal/t/32-OIDC-RP-rule.t b/lemonldap-ng-portal/t/32-OIDC-RP-rule.t
index bc03591d6..0774a5b1b 100644
--- a/lemonldap-ng-portal/t/32-OIDC-RP-rule.t
+++ b/lemonldap-ng-portal/t/32-OIDC-RP-rule.t
@@ -56,7 +56,7 @@ ok(
);
count(1);
my $idpId = expectCookie($res);
-ok($res->[2]->[0] =~ /trmsg="84"/, 'Reject reason is 84');
+ok( $res->[2]->[0] =~ /trmsg="84"/, 'Reject reason is 84' );
count(1);
#print STDERR Dumper($res);
@@ -171,7 +171,7 @@ sub op {
oidcRPMetaDataOptionsClientSecret => "rpsecret",
oidcRPMetaDataOptionsUserIDAttr => "",
oidcRPMetaDataOptionsAccessTokenExpiration => 3600,
- oidcRPMetaDataOptionsRule => '$uid eq "dwho"',
+ oidcRPMetaDataOptionsRule => '$uid eq "dwho"',
}
},
oidcOPMetaDataOptions => {},
diff --git a/lemonldap-ng-portal/t/40-Notifications-XML-File.t b/lemonldap-ng-portal/t/40-Notifications-XML-File.t
index 8078bf4f4..a962b4d9e 100644
--- a/lemonldap-ng-portal/t/40-Notifications-XML-File.t
+++ b/lemonldap-ng-portal/t/40-Notifications-XML-File.t
@@ -5,7 +5,7 @@ use IO::String;
require 't/test-lib.pm';
my $res;
-my $file = 't/20160530_dwho_dGVzdHJlZg==.xml';
+my $file = 't/20160530_dwho_dGVzdHJlZg==.xml';
my $mainTests = 6;
SKIP: {
diff --git a/lemonldap-ng-portal/t/42-Register-Demo-with-token.t b/lemonldap-ng-portal/t/42-Register-Demo-with-token.t
index f8c71e0ee..d03fd2a3f 100644
--- a/lemonldap-ng-portal/t/42-Register-Demo-with-token.t
+++ b/lemonldap-ng-portal/t/42-Register-Demo-with-token.t
@@ -50,7 +50,9 @@ ok(
count(1);
expectOK($res);
-ok( mail() =~ m#a href="http://auth.example.com/register\?(.*?)"#, 'Found register token') or print STDERR Dumper($main::mail);
+ok( mail() =~ m#a href="http://auth.example.com/register\?(.*?)"#,
+ 'Found register token' )
+ or print STDERR Dumper($main::mail);
$query = $1;
ok( $query =~ /register_token=/, 'Found register_token' );
count(2);
@@ -62,9 +64,13 @@ ok(
expectOK($res);
count(1);
-ok( mail() =~ m#Your login is.+?(\w+).*?Your password is.+?(.*?)#s, 'Found user and password');
+ok(
+ mail() =~
+ m#Your login is.+?(\w+).*?Your password is.+?(.*?)#s,
+ 'Found user and password'
+);
$user = $1;
-$pwd = $2;
+$pwd = $2;
ok( $user eq 'fbar', 'Get good login' );
count(2);