Remove trailing whitespaces

This commit is contained in:
Xavier Guimard 2019-04-03 14:15:16 +02:00
parent 141ba96c92
commit ece9b21219
34 changed files with 66 additions and 67 deletions

View File

@ -28,7 +28,7 @@ Before release
Replace https://lemonldap-ng.org/documentation/X.X/parameterlist by Replace https://lemonldap-ng.org/documentation/X.X/parameterlist by
/tmp/prmlist.txt content /tmp/prmlist.txt content
$ make documentation $ make documentation
- Update changelog: - Update changelog:
@ -56,7 +56,7 @@ For major release
- Go on gitlab and create a new tag: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/tags/new - Go on gitlab and create a new tag: https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/tags/new
- Change "latest" symlink in dokuwiki - Change "latest" symlink in dokuwiki
- Edit scripts/doc.pl in trunk to point on the new documentation path - Edit scripts/doc.pl in trunk to point on the new documentation path

View File

@ -765,7 +765,7 @@ lemonldap-ng (1.4.0) stable; urgency=low
* [LEMONLDAP-712] - strange behaviour with session cache * [LEMONLDAP-712] - strange behaviour with session cache
* [LEMONLDAP-386] - use LL::NG::Handler instead of custom perl module in apache config * [LEMONLDAP-386] - use LL::NG::Handler instead of custom perl module in apache config
* [LEMONLDAP-430] - httpSession and updateSession + deleteSessionFromLocalStorage optimization * [LEMONLDAP-430] - httpSession and updateSession + deleteSessionFromLocalStorage optimization
* [LEMONLDAP-591] - Portal should refresh their configuration cache on expiration * [LEMONLDAP-591] - Portal should refresh their configuration cache on expiration
* [LEMONLDAP-600] - Rewrite object libs with Moo or Mouse * [LEMONLDAP-600] - Rewrite object libs with Moo or Mouse
* [LEMONLDAP-636] - Manage exported variables per UserDB module * [LEMONLDAP-636] - Manage exported variables per UserDB module
* [LEMONLDAP-648] - Build French documentation in Makefile * [LEMONLDAP-648] - Build French documentation in Makefile
@ -868,7 +868,7 @@ lemonldap-ng (1.3.0) stable; urgency=low
Common Common
* [LEMONLDAP-412] - Passwrd policy expiration warning time not friendly * [LEMONLDAP-412] - Passwrd policy expiration warning time not friendly
displayed displayed
* [LEMONLDAP-493] - Make LL::NG's rpm spec file more portable * [LEMONLDAP-493] - Make LL::NG's rpm spec file more portable
* [LEMONLDAP-500] - do not burden config in memory with useless things * [LEMONLDAP-500] - do not burden config in memory with useless things
* [LEMONLDAP-524] - minimize weight of relaystate in SAML session backend * [LEMONLDAP-524] - minimize weight of relaystate in SAML session backend
* [LEMONLDAP-559] - Refine useXForwardedForIP option by setting trusted * [LEMONLDAP-559] - Refine useXForwardedForIP option by setting trusted
@ -900,7 +900,7 @@ lemonldap-ng (1.3.0) stable; urgency=low
session session
* [LEMONLDAP-613] - Log applied rule in debug mode * [LEMONLDAP-613] - Log applied rule in debug mode
* [LEMONLDAP-615] - Add AuthGoogle module * [LEMONLDAP-615] - Add AuthGoogle module
* [LEMONLDAP-617] - [SAML] Allow to skip the IDP selection * [LEMONLDAP-617] - [SAML] Allow to skip the IDP selection
* [LEMONLDAP-621] - Config storage in JSON file * [LEMONLDAP-621] - Config storage in JSON file
* [LEMONLDAP-623] - WebID authentication and user DB modules * [LEMONLDAP-623] - WebID authentication and user DB modules
* [LEMONLDAP-632] - Rename liblemonldap-ng-conf-perl to * [LEMONLDAP-632] - Rename liblemonldap-ng-conf-perl to
@ -1065,7 +1065,7 @@ lemonldap-ng (1.2.0) stable; urgency=low
* [LEMONLDAP-371] - custom function declaration doesn't work through * [LEMONLDAP-371] - custom function declaration doesn't work through
management UI management UI
* [LEMONLDAP-373] - Field values lost in manager * [LEMONLDAP-373] - Field values lost in manager
* [LEMONLDAP-375] - empty query string in redirect url * [LEMONLDAP-375] - empty query string in redirect url
* [LEMONLDAP-376] - wrong authentication mode stored in session with * [LEMONLDAP-376] - wrong authentication mode stored in session with
authMulti when SSLRequire set to 0 authMulti when SSLRequire set to 0
* [LEMONLDAP-380] - Mail reset session not destroyed when password is * [LEMONLDAP-380] - Mail reset session not destroyed when password is
@ -1105,7 +1105,7 @@ lemonldap-ng (1.2.0) stable; urgency=low
* [LEMONLDAP-446] - Server error when a password mail reset session is * [LEMONLDAP-446] - Server error when a password mail reset session is
unavailable and the token is passed to mail.pl unavailable and the token is passed to mail.pl
* [LEMONLDAP-447] - Bad identifier in grantSession logs * [LEMONLDAP-447] - Bad identifier in grantSession logs
* [LEMONLDAP-448] - defined(%hash) is deprecated * [LEMONLDAP-448] - defined(%hash) is deprecated
* [LEMONLDAP-450] - SAML Authn not working with binding HTTP Redirect * [LEMONLDAP-450] - SAML Authn not working with binding HTTP Redirect
* [LEMONLDAP-454] - Replace $ip with client IP in forging HTTP headers * [LEMONLDAP-454] - Replace $ip with client IP in forging HTTP headers
doesn't work doesn't work
@ -1280,14 +1280,14 @@ lemonldap-ng (1.1.0) stable; urgency=low
* [LEMONLDAP-348] - Possibility to access menu tab with an URL * [LEMONLDAP-348] - Possibility to access menu tab with an URL
lemonldap-ng (1.0.6) stable; urgency=low lemonldap-ng (1.0.6) stable; urgency=low
* [LEMONLDAP-297] - LDAP attributes are not explicitely requested * [LEMONLDAP-297] - LDAP attributes are not explicitely requested
* [LEMONLDAP-298] - Multi option with # not accepted in Manager * [LEMONLDAP-298] - Multi option with # not accepted in Manager
* [LEMONLDAP-304] - Cannot use spaces between values of Multi * [LEMONLDAP-304] - Cannot use spaces between values of Multi
authentication authentication
parameter parameter
* [LEMONLDAP-305] - Parameters are not overriden in the first Multi module * [LEMONLDAP-305] - Parameters are not overriden in the first Multi module
* [LEMONLDAP-307] - Base64 encoded IDs can contain more than one "/", but * [LEMONLDAP-307] - Base64 encoded IDs can contain more than one "/", but
only the first is escaped only the first is escaped
lemonldap-ng (1.0.5) stable; urgency=low lemonldap-ng (1.0.5) stable; urgency=low
@ -1983,7 +1983,7 @@ lemonldap-ng (0.7b11) unstable; urgency=low
* New features: * New features:
- Cross Domain Authentication - Cross Domain Authentication
- SOAP configuration access - SOAP configuration access
- READMEs and documentation update - READMEs and documentation update
-- Xavier Guimard <x.guimard@free.fr> Tue, 27 Feb 2007 15:01:09 +0100 -- Xavier Guimard <x.guimard@free.fr> Tue, 27 Feb 2007 15:01:09 +0100

View File

@ -8,7 +8,7 @@ respawn
pre-start script pre-start script
[ -x /usr/sbin/llng-fastcgi-server ] || { stop; exit 0; } [ -x /usr/sbin/llng-fastcgi-server ] || { stop; exit 0; }
end script end script
exec mkdir /var/run/llng-fastcgi-server; chown www-data:www-data /var/run/llng-fastcgi-server && /usr/sbin/llng-fastcgi-server -u www-data -g www-data -s /var/run/llng-fastcgi-server/llng-fastcgi.sock -p /var/run/llng-fastcgi-server/llng-fastcgi-server.pid exec mkdir /var/run/llng-fastcgi-server; chown www-data:www-data /var/run/llng-fastcgi-server && /usr/sbin/llng-fastcgi-server -u www-data -g www-data -s /var/run/llng-fastcgi-server/llng-fastcgi.sock -p /var/run/llng-fastcgi-server/llng-fastcgi-server.pid

2
debian/tests/runner vendored
View File

@ -30,7 +30,7 @@ for LLLIB in $LIST; do
if [ -f "$SKIPLIST" ]; then if [ -f "$SKIPLIST" ]; then
grep -v '^ *#' "$SKIPLIST" |grep -v '^ *$' > "$SKIPTMP" grep -v '^ *#' "$SKIPLIST" |grep -v '^ *$' > "$SKIPTMP"
fi fi
for T in $(run-parts --list --regex '(^[a-z0-9.]+$)' ${TESTDIR} | \ for T in $(run-parts --list --regex '(^[a-z0-9.]+$)' ${TESTDIR} | \
grep -v -F -f "$SKIPTMP") ; do grep -v -F -f "$SKIPTMP") ; do
if echo "$T" | grep -q '\.t$' if echo "$T" | grep -q '\.t$'

View File

@ -60,7 +60,7 @@ describe('00 Lemonldap::NG', function() {
it('should authenticate with history', function() { it('should authenticate with history', function() {
expect(browser.driver.findElement(by.css('[trspan="back2Portal"]')).getText()).toEqual('Retourner au portail'); expect(browser.driver.findElement(by.css('[trspan="back2Portal"]')).getText()).toEqual('Retourner au portail');
browser.driver.findElement(by.css('[trspan="back2Portal"]')).click(); browser.driver.findElement(by.css('[trspan="back2Portal"]')).click();
// Failed login attempt // Failed login attempt
browser.driver.findElement(by.xpath("//input[@name='user']")).sendKeys('dwho'); browser.driver.findElement(by.xpath("//input[@name='user']")).sendKeys('dwho');
browser.driver.findElement(by.xpath("//input[@name='password']")).sendKeys('ohwd'); browser.driver.findElement(by.xpath("//input[@name='password']")).sendKeys('ohwd');
@ -68,7 +68,7 @@ describe('00 Lemonldap::NG', function() {
browser.driver.findElement(by.xpath("//button[@type='submit']")).click(); browser.driver.findElement(by.xpath("//button[@type='submit']")).click();
expect(browser.driver.findElement(by.css('[trmsg="5"]')).getText()).toEqual('Mot de passe ou identifiant incorrect'); expect(browser.driver.findElement(by.css('[trmsg="5"]')).getText()).toEqual('Mot de passe ou identifiant incorrect');
browser.driver.findElement(by.css('[trspan="goToPortal"]')).click(); browser.driver.findElement(by.css('[trspan="goToPortal"]')).click();
// Login attempt // Login attempt
browser.driver.findElement(by.xpath("//input[@name='user']")).sendKeys('dwho'); browser.driver.findElement(by.xpath("//input[@name='user']")).sendKeys('dwho');
browser.driver.findElement(by.xpath("//input[@name='password']")).sendKeys('dwho'); browser.driver.findElement(by.xpath("//input[@name='password']")).sendKeys('dwho');
@ -111,4 +111,4 @@ describe('00 Lemonldap::NG', function() {
browser.driver.findElement(by.xpath("//button[@type='submit']")).click(); browser.driver.findElement(by.xpath("//button[@type='submit']")).click();
}); });
}); });
}); });

View File

@ -64,7 +64,7 @@ describe('10 Lemonldap::NG', function() {
expect(links[2].getText()).toEqual('Gestionnaire 2ndFA'); expect(links[2].getText()).toEqual('Gestionnaire 2ndFA');
expect(links[3].getText()).toEqual('Aller au portail'); expect(links[3].getText()).toEqual('Aller au portail');
expect(browser.driver.findElement(by.css('[trspan="yourNewTotpKey"]')).getText()).toEqual('Votre nouvelle clef TOTP. Testez-la et entrez le code'); expect(browser.driver.findElement(by.css('[trspan="yourNewTotpKey"]')).getText()).toEqual('Votre nouvelle clef TOTP. Testez-la et entrez le code');
// Submit an empty form // Submit an empty form
browser.driver.findElement(by.id('verify')).click(); browser.driver.findElement(by.id('verify')).click();
expect(browser.driver.findElement(by.css('[trspan="yourNewTotpKey"]')).getText()).toEqual('Remplissez le formulaire'); expect(browser.driver.findElement(by.css('[trspan="yourNewTotpKey"]')).getText()).toEqual('Remplissez le formulaire');

View File

@ -8,7 +8,7 @@ respawn
pre-start script pre-start script
[ -x /usr/sbin/llng-fastcgi-server ] || { stop; exit 0; } [ -x /usr/sbin/llng-fastcgi-server ] || { stop; exit 0; }
end script end script
exec mkdir __FASTCGISOCKDIR__; chown __USER__:__GROUP__ __FASTCGISOCKDIR__ && /usr/sbin/llng-fastcgi-server -u __USER__ -g __GROUP__ -s __FASTCGISOCKDIR__/llng-fastcgi.sock -p __FASTCGISOCKDIR__/llng-fastcgi-server.pid exec mkdir __FASTCGISOCKDIR__; chown __USER__:__GROUP__ __FASTCGISOCKDIR__ && /usr/sbin/llng-fastcgi-server -u __USER__ -g __GROUP__ -s __FASTCGISOCKDIR__/llng-fastcgi.sock -p __FASTCGISOCKDIR__/llng-fastcgi-server.pid

View File

@ -347,7 +347,7 @@ __DATA__
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat> <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
</AttributeAuthorityDescriptor> </AttributeAuthorityDescriptor>
</TMPL_UNLESS> </TMPL_UNLESS>
<Organization> <Organization>
<OrganizationName xml:lang="en"><TMPL_VAR NAME="samlOrganizationName"></OrganizationName> <OrganizationName xml:lang="en"><TMPL_VAR NAME="samlOrganizationName"></OrganizationName>
<OrganizationDisplayName xml:lang="en"><TMPL_VAR NAME="samlOrganizationDisplayName"></OrganizationDisplayName> <OrganizationDisplayName xml:lang="en"><TMPL_VAR NAME="samlOrganizationDisplayName"></OrganizationDisplayName>

View File

@ -481,7 +481,7 @@ Syslog facility. If empty, STDERR will be used for logging
L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>, L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>,
L<Plack>, L<PSGI>, L<Lemonldap::NG::Common::PSGI::Router>, L<Plack>, L<PSGI>, L<Lemonldap::NG::Common::PSGI::Router>,
L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>, L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>,
=head1 AUTHORS =head1 AUTHORS

View File

@ -187,7 +187,7 @@ Example:
# Set headers # Set headers
$req->respHeaders( "Location" => "http://x.y.z/", Etag => "XYZ", ); $req->respHeaders( "Location" => "http://x.y.z/", Etag => "XYZ", );
# Add header # Add header
$req->respHeaders->{"X-Key"} = "Value"; $req->respHeaders->{"X-Key"} = "Value";
=head2 set_param( $key, $value ) =head2 set_param( $key, $value )
@ -220,7 +220,7 @@ contains "application/json" or "text/json").
L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Common::PSGI>, L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Common::PSGI>,
L<Lemonldap::NG::Hander::PSGI>, L<Plack::Request>, L<Lemonldap::NG::Hander::PSGI>, L<Plack::Request>,
L<Lemonldap::NG::Portal::Main::Constants>, L<Lemonldap::NG::Portal::Main::Constants>,
=head1 AUTHORS =head1 AUTHORS

View File

@ -322,7 +322,7 @@ bookId parameter will be stored in $req->params('bookId');
$self->addRoute( books => { ':bookId' => { pages => { ':pageId' => 'page' } } }, ['GET'] ); $self->addRoute( books => { ':bookId' => { pages => { ':pageId' => 'page' } } }, ['GET'] );
=item to manage simultaneously the 2 previous examples =item to manage simultaneously the 2 previous examples
$self->addRoute( books => { ':bookId' => { pages => { ':pageId' => 'page' } } }, ['GET'] ) $self->addRoute( books => { ':bookId' => { pages => { ':pageId' => 'page' } } }, ['GET'] )
->addRoute( books => { ':bookId' => { '*' => 'book' } }, ['GET'] ); ->addRoute( books => { ':bookId' => { '*' => 'book' } }, ['GET'] );
@ -349,7 +349,7 @@ logLevel, staticPrefix, templateDir, links, syslog).
L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>, L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>,
L<Plack>, L<PSGI>, L<Lemonldap::NG::Common::PSGI>, L<Plack>, L<PSGI>, L<Lemonldap::NG::Common::PSGI>,
L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>, L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>,
=head1 AUTHORS =head1 AUTHORS

View File

@ -112,7 +112,7 @@ Returns a list of groups to which user belongs.
L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>, L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>,
L<Plack>, L<PSGI>, L<Lemonldap::NG::Common::PSGI::Router>, L<Plack>, L<PSGI>, L<Lemonldap::NG::Common::PSGI::Router>,
L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>, L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>,
=head1 AUTHORS =head1 AUTHORS

View File

@ -119,7 +119,7 @@ Returns a list of groups to which user belongs.
L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>, L<http://lemonldap-ng.org/>, L<Lemonldap::NG::Portal>, L<Lemonldap::NG::Handler>,
L<Plack>, L<PSGI>, L<Lemonldap::NG::Common::PSGI::Router>, L<Plack>, L<PSGI>, L<Lemonldap::NG::Common::PSGI::Router>,
L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>, L<Lemonldap::NG::Common::PSGI::Request>, L<HTML::Template>,
=head1 AUTHORS =head1 AUTHORS

View File

@ -26,7 +26,7 @@
+-> if protected: +-> if protected:
Handler::PSGI::Base::_authAndTrace() Handler::PSGI::Base::_authAndTrace()
_Common::PSGI::run()_ returns a subroutine _Common::PSGI::run()_ returns a subroutine
## HTTP responses ## HTTP responses

View File

@ -339,7 +339,7 @@ our %EXPORT_TAGS = (
APPLYSECTION APPLYSECTION
NO NO
\$hashParameters \$hashParameters
\@sessionTypes \@sessionTypes
) )
] ]
); );
@ -735,7 +735,7 @@ some words for other developpers
if test is not defined for this type or if test must if test is not defined for this type or if test must
be more restrictive, set here a regular expression or a subroutine. Arguments be more restrictive, set here a regular expression or a subroutine. Arguments
passed to subroutine are (keyValue, newConf, currentKey). It returns 2 passed to subroutine are (keyValue, newConf, currentKey). It returns 2
arguments: a boolean result and a message (if non empty message will be arguments: a boolean result and a message (if non empty message will be
displayed as warning or error depending of result); displayed as warning or error depending of result);
=item msgFail (optional): =item msgFail (optional):

View File

@ -5241,7 +5241,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
if (tooltip) { if (tooltip) {
tooltip.remove(); tooltip.remove();
tooltip = null; tooltip = null;
if (adjustmentTimeout) { if (adjustmentTimeout) {
$timeout.cancel(adjustmentTimeout); $timeout.cancel(adjustmentTimeout);
@ -5249,7 +5249,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
} }
openedTooltips.remove(ttScope); openedTooltips.remove(ttScope);
if (tooltipLinkedScope) { if (tooltipLinkedScope) {
tooltipLinkedScope.$destroy(); tooltipLinkedScope.$destroy();
tooltipLinkedScope = null; tooltipLinkedScope = null;
@ -7773,4 +7773,4 @@ angular.module('ui.bootstrap.position').run(function() {!angular.$$csp().noInlin
angular.module('ui.bootstrap.datepickerPopup').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibDatepickerpopupCss && angular.element(document).find('head').prepend('<style type="text/css">.uib-datepicker-popup.dropdown-menu{display:block;float:none;margin:0;}.uib-button-bar{padding:10px 9px 2px;}</style>'); angular.$$uibDatepickerpopupCss = true; }); angular.module('ui.bootstrap.datepickerPopup').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibDatepickerpopupCss && angular.element(document).find('head').prepend('<style type="text/css">.uib-datepicker-popup.dropdown-menu{display:block;float:none;margin:0;}.uib-button-bar{padding:10px 9px 2px;}</style>'); angular.$$uibDatepickerpopupCss = true; });
angular.module('ui.bootstrap.tooltip').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibTooltipCss && angular.element(document).find('head').prepend('<style type="text/css">[uib-tooltip-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-bottom > .tooltip-arrow,[uib-popover-popup].popover.top-left > .arrow,[uib-popover-popup].popover.top-right > .arrow,[uib-popover-popup].popover.bottom-left > .arrow,[uib-popover-popup].popover.bottom-right > .arrow,[uib-popover-popup].popover.left-top > .arrow,[uib-popover-popup].popover.left-bottom > .arrow,[uib-popover-popup].popover.right-top > .arrow,[uib-popover-popup].popover.right-bottom > .arrow,[uib-popover-html-popup].popover.top-left > .arrow,[uib-popover-html-popup].popover.top-right > .arrow,[uib-popover-html-popup].popover.bottom-left > .arrow,[uib-popover-html-popup].popover.bottom-right > .arrow,[uib-popover-html-popup].popover.left-top > .arrow,[uib-popover-html-popup].popover.left-bottom > .arrow,[uib-popover-html-popup].popover.right-top > .arrow,[uib-popover-html-popup].popover.right-bottom > .arrow,[uib-popover-template-popup].popover.top-left > .arrow,[uib-popover-template-popup].popover.top-right > .arrow,[uib-popover-template-popup].popover.bottom-left > .arrow,[uib-popover-template-popup].popover.bottom-right > .arrow,[uib-popover-template-popup].popover.left-top > .arrow,[uib-popover-template-popup].popover.left-bottom > .arrow,[uib-popover-template-popup].popover.right-top > .arrow,[uib-popover-template-popup].popover.right-bottom > .arrow{top:auto;bottom:auto;left:auto;right:auto;margin:0;}[uib-popover-popup].popover,[uib-popover-html-popup].popover,[uib-popover-template-popup].popover{display:block !important;}</style>'); angular.$$uibTooltipCss = true; }); angular.module('ui.bootstrap.tooltip').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibTooltipCss && angular.element(document).find('head').prepend('<style type="text/css">[uib-tooltip-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-bottom > .tooltip-arrow,[uib-popover-popup].popover.top-left > .arrow,[uib-popover-popup].popover.top-right > .arrow,[uib-popover-popup].popover.bottom-left > .arrow,[uib-popover-popup].popover.bottom-right > .arrow,[uib-popover-popup].popover.left-top > .arrow,[uib-popover-popup].popover.left-bottom > .arrow,[uib-popover-popup].popover.right-top > .arrow,[uib-popover-popup].popover.right-bottom > .arrow,[uib-popover-html-popup].popover.top-left > .arrow,[uib-popover-html-popup].popover.top-right > .arrow,[uib-popover-html-popup].popover.bottom-left > .arrow,[uib-popover-html-popup].popover.bottom-right > .arrow,[uib-popover-html-popup].popover.left-top > .arrow,[uib-popover-html-popup].popover.left-bottom > .arrow,[uib-popover-html-popup].popover.right-top > .arrow,[uib-popover-html-popup].popover.right-bottom > .arrow,[uib-popover-template-popup].popover.top-left > .arrow,[uib-popover-template-popup].popover.top-right > .arrow,[uib-popover-template-popup].popover.bottom-left > .arrow,[uib-popover-template-popup].popover.bottom-right > .arrow,[uib-popover-template-popup].popover.left-top > .arrow,[uib-popover-template-popup].popover.left-bottom > .arrow,[uib-popover-template-popup].popover.right-top > .arrow,[uib-popover-template-popup].popover.right-bottom > .arrow{top:auto;bottom:auto;left:auto;right:auto;margin:0;}[uib-popover-popup].popover,[uib-popover-html-popup].popover,[uib-popover-template-popup].popover{display:block !important;}</style>'); angular.$$uibTooltipCss = true; });
angular.module('ui.bootstrap.timepicker').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibTimepickerCss && angular.element(document).find('head').prepend('<style type="text/css">.uib-time input{width:50px;}</style>'); angular.$$uibTimepickerCss = true; }); angular.module('ui.bootstrap.timepicker').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibTimepickerCss && angular.element(document).find('head').prepend('<style type="text/css">.uib-time input{width:50px;}</style>'); angular.$$uibTimepickerCss = true; });
angular.module('ui.bootstrap.typeahead').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibTypeaheadCss && angular.element(document).find('head').prepend('<style type="text/css">[uib-typeahead-popup].dropdown-menu{display:block;}</style>'); angular.$$uibTypeaheadCss = true; }); angular.module('ui.bootstrap.typeahead').run(function() {!angular.$$csp().noInlineStyle && !angular.$$uibTypeaheadCss && angular.element(document).find('head').prepend('<style type="text/css">[uib-typeahead-popup].dropdown-menu{display:block;}</style>'); angular.$$uibTypeaheadCss = true; });

View File

@ -383,12 +383,12 @@
if (element.prop('tagName').toLowerCase() === 'table') { if (element.prop('tagName').toLowerCase() === 'table') {
scope.$emptyElm = angular.element($window.document.createElement('tr')); scope.$emptyElm = angular.element($window.document.createElement('tr'));
$trElm = element.find('tr'); $trElm = element.find('tr');
//If we can find a tr, then we can use its td children as the empty element colspan. //If we can find a tr, then we can use its td children as the empty element colspan.
if ($trElm.length > 0) { if ($trElm.length > 0) {
emptyElmColspan = angular.element($trElm).children().length; emptyElmColspan = angular.element($trElm).children().length;
} else { } else {
//If not, by setting a huge colspan we make sure it takes full width. //If not, by setting a huge colspan we make sure it takes full width.
//TODO(jcarter): Check for negative side effects. //TODO(jcarter): Check for negative side effects.
emptyElmColspan = 1000000; emptyElmColspan = 1000000;
@ -1512,7 +1512,7 @@
/** /**
* Get the event object for touches. * Get the event object for touches.
* *
* @param {MouseEvent|TouchEvent} e MouseEvent or TouchEvent that kicked off dragX method. * @param {MouseEvent|TouchEvent} e MouseEvent or TouchEvent that kicked off dragX method.
* @return {MouseEvent|TouchEvent} Object returned as original event object. * @return {MouseEvent|TouchEvent} Object returned as original event object.
*/ */
@ -1530,7 +1530,7 @@
/** /**
* Generate object used to store data about node being moved. * Generate object used to store data about node being moved.
* *
* {angular.$scope} node Scope of the node that is being moved. * {angular.$scope} node Scope of the node that is being moved.
*/ */
dragInfo: function (node) { dragInfo: function (node) {
@ -1760,19 +1760,19 @@
pos.nowX = pageX; pos.nowX = pageX;
pos.nowY = pageY; pos.nowY = pageY;
//Distance mouse moved between events. //Distance mouse moved between events.
pos.distX = pos.nowX - pos.lastX; pos.distX = pos.nowX - pos.lastX;
pos.distY = pos.nowY - pos.lastY; pos.distY = pos.nowY - pos.lastY;
//Direction mouse was moving. //Direction mouse was moving.
pos.lastDirX = pos.dirX; pos.lastDirX = pos.dirX;
pos.lastDirY = pos.dirY; pos.lastDirY = pos.dirY;
//Direction mouse is now moving (on both axis). //Direction mouse is now moving (on both axis).
pos.dirX = pos.distX === 0 ? 0 : pos.distX > 0 ? 1 : -1; pos.dirX = pos.distX === 0 ? 0 : pos.distX > 0 ? 1 : -1;
pos.dirY = pos.distY === 0 ? 0 : pos.distY > 0 ? 1 : -1; pos.dirY = pos.distY === 0 ? 0 : pos.distY > 0 ? 1 : -1;
//Axis mouse is now moving on. //Axis mouse is now moving on.
newAx = Math.abs(pos.distX) > Math.abs(pos.distY) ? 1 : 0; newAx = Math.abs(pos.distX) > Math.abs(pos.distY) ? 1 : 0;
//Do nothing on first move. //Do nothing on first move.
@ -1782,7 +1782,7 @@
return; return;
} }
//Calc distance moved on this axis (and direction). //Calc distance moved on this axis (and direction).
if (pos.dirAx !== newAx) { if (pos.dirAx !== newAx) {
pos.distAxX = 0; pos.distAxX = 0;
pos.distAxY = 0; pos.distAxY = 0;
@ -1853,4 +1853,4 @@
return res; return res;
} }
})(); })();

View File

@ -6,7 +6,7 @@
<span ng-if="!currentCfg.next" trspan="currentConfiguration"></span> <span ng-if="!currentCfg.next" trspan="currentConfiguration"></span>
<span ng-if="currentCfg.next" trspan="loadedConfiguration"></span> <span ng-if="currentCfg.next" trspan="loadedConfiguration"></span>
<i ng-if="currentCfg.prev">(<a trspan="diffWithPrevious" target="_blank" href="{{scriptname}}/diff.html#!/{{currentCfg.cfgNum}}" role="link"></a>)</i> <i ng-if="currentCfg.prev">(<a trspan="diffWithPrevious" target="_blank" href="{{scriptname}}/diff.html#!/{{currentCfg.cfgNum}}" role="link"></a>)</i>
</h3> </h3>
</TMPL_IF> </TMPL_IF>
</div> </div>

View File

@ -5,7 +5,7 @@
<span ng-if="!currentCfg.next" trspan="currentConfiguration"></span> <span ng-if="!currentCfg.next" trspan="currentConfiguration"></span>
<span ng-if="currentCfg.next" trspan="loadedConfiguration"></span> <span ng-if="currentCfg.next" trspan="loadedConfiguration"></span>
<i ng-if="currentCfg.prev && allowDiff">(<a trspan="diffWithPrevious" target="_blank" href="{{scriptname}}/viewDiff.html#!/{{currentCfg.cfgNum}}" role="link"></a>)</i> <i ng-if="currentCfg.prev && allowDiff">(<a trspan="diffWithPrevious" target="_blank" href="{{scriptname}}/viewDiff.html#!/{{currentCfg.cfgNum}}" role="link"></a>)</i>
</h3> </h3>
</div> </div>
<table class="table table-striped"> <table class="table table-striped">

View File

@ -37,10 +37,10 @@
</form> </form>
</div> </div>
</div> </div>
</div> </div>
<!-- Tree --> <!-- Tree -->
<div class="text-center"><p class="badge">{{total}} <span trspan="session_s"></span></p></div> <div class="text-center"><p class="badge">{{total}} <span trspan="session_s"></span></p></div>
<div class="region region-sidebar-first"> <div class="region region-sidebar-first">
<section id="block-superfish-1" class="block block-superfish clearfix"> <section id="block-superfish-1" class="block block-superfish clearfix">
@ -58,7 +58,7 @@
</aside> </aside>
<!-- Right(main) div --> <!-- Right(main) div -->
<div id="right" class="col-lg-8 col-md-8 col-sm-7 col-xs-12 scrollable" ng-class="{'hidden-xs':showT&&!showM}"> <div id="right" class="col-lg-8 col-md-8 col-sm-7 col-xs-12 scrollable" ng-class="{'hidden-xs':showT&&!showM}">
<div class="panel panel-default" ng-hide="currentSession===null"> <div class="panel panel-default" ng-hide="currentSession===null">
<div class="panel-heading"> <div class="panel-heading">
<h1 class="panel-title text-center">{{translate("sessionTitle")}} {{currentSession.id}}</h1> <h1 class="panel-title text-center">{{translate("sessionTitle")}} {{currentSession.id}}</h1>

View File

@ -22,7 +22,7 @@
<div class="navbar-collapse" ng-class="{'collapse':!showM}" id="formmenu"> <div class="navbar-collapse" ng-class="{'collapse':!showM}" id="formmenu">
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
<li><a class="link" ng-click="home()"><i class="glyphicon glyphicon-home"></i></a></li> <li><a class="link" ng-click="home()"><i class="glyphicon glyphicon-home"></i></a></li>
<TMPL_IF NAME="ALLOWBROWSER"> <TMPL_IF NAME="ALLOWBROWSER">
<li uib-dropdown> <li uib-dropdown>
<a id="navmenu" name="menu" uib-dropdown-toggle data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="glyphicon glyphicon-cog"></i> {{translate('browse')}} <span class="caret"></span></a> <a id="navmenu" name="menu" uib-dropdown-toggle data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="glyphicon glyphicon-cog"></i> {{translate('browse')}} <span class="caret"></span></a>
@ -45,7 +45,7 @@
</li> </li>
<li> <li>
<i class="glyphicon glyphicon-lock"></i> <i class="glyphicon glyphicon-lock"></i>
<u>{{translate('readOnlyMode')}}</u> <u>{{translate('readOnlyMode')}}</u>
</li> </li>
</ul> </ul>
</div> </div>
@ -58,7 +58,7 @@
<div class="panel-body"> <div class="panel-body">
<iframe id="helpframe" width="100%" height="100%" ng-src="{{translate('/doc/')+'pages/documentation/current/'+helpUrl}}" frameborder="0"></iframe> <iframe id="helpframe" width="100%" height="100%" ng-src="{{translate('/doc/')+'pages/documentation/current/'+helpUrl}}" frameborder="0"></iframe>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -3423,8 +3423,8 @@ Send logout request to a provider
Send logout response issue from a logout request to all other Send logout response issue from a logout request to all other
providers. If information have to be displayed to users, such as providers. If information have to be displayed to users, such as
iframe to send HTTP-Redirect or HTTP-POST logout request, then iframe to send HTTP-Redirect or HTTP-POST logout request, then
$self->{_info} will be updated. $self->{_info} will be updated.
=head2 checkSignatureStatus =head2 checkSignatureStatus

View File

@ -158,7 +158,7 @@ L<Lemonldap::NG::Portal> second factor plugins.
# If self registration is enabled and "activation" is set to "enabled", # If self registration is enabled and "activation" is set to "enabled",
# replace the rule to detect if user has registered a device key. # replace the rule to detect if user has registered a device key.
# The rule must be like this : # The rule must be like this :
# By example : # By example :
$self->conf->{u2fActivation} = '$_2fDevices =~ /"type":\s*"U2F"/s' $self->conf->{u2fActivation} = '$_2fDevices =~ /"type":\s*"U2F"/s'
# Optionally, the rule can be : '$_2fDevices and $_2fDevices =~ /"type":\s*"U2F"/s' # Optionally, the rule can be : '$_2fDevices and $_2fDevices =~ /"type":\s*"U2F"/s'
# to avoid warning due to undef variable # to avoid warning due to undef variable

View File

@ -63,7 +63,7 @@
</div> </div>
</div> </div>
</TMPL_IF> </TMPL_IF>
</form> </form>
</div> </div>

View File

@ -61,11 +61,11 @@
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">common/js/idpchoice.min.js"></script> <script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">common/js/idpchoice.min.js"></script>
//else --> //else -->
<script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">common/js/idpchoice.js"></script> <script type="text/javascript" src="<TMPL_VAR NAME="STATIC_PREFIX">common/js/idpchoice.js"></script>
<!-- //endif --> <!-- //endif -->
</div> </div>
</div> </div>
<TMPL_IF NAME="PORTAL_URL"> <TMPL_IF NAME="PORTAL_URL">
<div id="logout"> <div id="logout">
<div class="buttons"> <div class="buttons">
@ -76,7 +76,7 @@
</div> </div>
</div> </div>
</TMPL_IF> </TMPL_IF>
</form> </form>
</div> </div>

View File

@ -47,7 +47,7 @@
<span class="fa fa-envelope-open"></span> <span class="fa fa-envelope-open"></span>
<span trspan="sendPwd">Send me a link</span> <span trspan="sendPwd">Send me a link</span>
</button> </button>
</div> </div>
</form> </form>
</div> </div>

View File

@ -123,7 +123,7 @@
<TMPL_ELSE> <TMPL_ELSE>
<div class="col-12"> <div class="col-12">
</TMPL_IF> </TMPL_IF>
<!-- Name and link (mandatory) --> <!-- Name and link (mandatory) -->
<h5 class="appname <TMPL_VAR NAME="appid"> card-title"> <h5 class="appname <TMPL_VAR NAME="appid"> card-title">
<TMPL_VAR NAME="appname"> <TMPL_VAR NAME="appname">

View File

@ -1,7 +1,7 @@
<TMPL_INCLUDE NAME="header.tpl"> <TMPL_INCLUDE NAME="header.tpl">
<div id="notifcontent" class="container"> <div id="notifcontent" class="container">
<form action="/notifback" method="post" class="notif" role="form"> <form action="/notifback" method="post" class="notif" role="form">
<TMPL_VAR NAME="HIDDEN_INPUTS"> <TMPL_VAR NAME="HIDDEN_INPUTS">
<TMPL_IF NAME="CHOICE_VALUE"> <TMPL_IF NAME="CHOICE_VALUE">

View File

@ -41,7 +41,7 @@
</div> </div>
</div> </div>
</main> </main>
<div class="buttons"> <div class="buttons">
<a href="<TMPL_VAR NAME="PORTAL_URL">2fregisters" class="btn btn-info" role="button"> <a href="<TMPL_VAR NAME="PORTAL_URL">2fregisters" class="btn btn-info" role="button">
<span class="fa fa-shield"></span> <span class="fa fa-shield"></span>

View File

@ -41,7 +41,7 @@
<span class="fa fa-shield"></span> <span class="fa fa-shield"></span>
<span trspan="sfaManager">sfaManager</span> <span trspan="sfaManager">sfaManager</span>
</a> </a>
<a id="goback" href="<TMPL_VAR NAME="PORTAL_URL">?cancel=1<TMPL_IF NAME="AUTH_URL">&url=<TMPL_VAR NAME="AUTH_URL"></TMPL_IF>" class="btn btn-primary" role="button"> <a id="goback" href="<TMPL_VAR NAME="PORTAL_URL">?cancel=1<TMPL_IF NAME="AUTH_URL">&url=<TMPL_VAR NAME="AUTH_URL"></TMPL_IF>" class="btn btn-primary" role="button">
<span class="fa fa-home"></span> <span class="fa fa-home"></span>
<span trspan="goToPortal">Go to portal</span> <span trspan="goToPortal">Go to portal</span>

View File

@ -38,7 +38,7 @@
<span class="fa fa-shield"></span> <span class="fa fa-shield"></span>
<span trspan="sfaManager">sfaManager</span> <span trspan="sfaManager">sfaManager</span>
</a> </a>
<a id="goback" href="<TMPL_VAR NAME="PORTAL_URL">?cancel=1<TMPL_IF NAME="AUTH_URL">&url=<TMPL_VAR NAME="AUTH_URL"></TMPL_IF>" class="btn btn-primary" role="button"> <a id="goback" href="<TMPL_VAR NAME="PORTAL_URL">?cancel=1<TMPL_IF NAME="AUTH_URL">&url=<TMPL_VAR NAME="AUTH_URL"></TMPL_IF>" class="btn btn-primary" role="button">
<span class="fa fa-home"></span> <span class="fa fa-home"></span>
<span trspan="goToPortal">Go to portal</span> <span trspan="goToPortal">Go to portal</span>

View File

@ -170,7 +170,7 @@ to test content _(to launch a `expectForm()` for example)_.
Same as `_get` except that a body is required. $body must be a file handle. Same as `_get` except that a body is required. $body must be a file handle.
Example with IO::String: Example with IO::String:
ok( ok(
$res = $client->_post( $res = $client->_post(
'/', '/',
IO::String->new('user=dwho&password=dwho'), IO::String->new('user=dwho&password=dwho'),

View File

@ -660,7 +660,7 @@ sub _get {
Same as C<_get> except that a body is required. $body must be a file handle. Same as C<_get> except that a body is required. $body must be a file handle.
Example with IO::String: Example with IO::String:
ok( ok(
$res = $client->_post( $res = $client->_post(
'/', '/',
IO::String->new('user=dwho&password=dwho'), IO::String->new('user=dwho&password=dwho'),

View File

@ -78,8 +78,7 @@ for ( my $i = 0 ; $i < NB ; $i++ ) {
print "Result print "Result
+-----+-----------+----------+---------+-----------------------------------------+ +-----+-----------+----------+---------+-----------------------------------------+
| Req | Auth form | Post req | Menu | 5 access to test1.example.com | Req | Auth form | Post req | Menu | 5 access to test1.example.com |
|
+-----+-----------+----------+---------+-----------------------------------------+ +-----+-----------+----------+---------+-----------------------------------------+
"; ";