Better test for customFunction (#820)

This commit is contained in:
Xavier Guimard 2016-02-17 18:40:36 +00:00
parent 1799b59c45
commit 7653c2d3d3
2 changed files with 25 additions and 26 deletions

View File

@ -1087,19 +1087,20 @@ qr/^(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-zA-Z0-
: ( 0, '__badUrl__' );
}
$s =~ s/\b(accept|deny)\b/1/g;
foreach my $f (
split(
/\s+/,
(
defined $conf->{'customFunctions'}
? "$conf->{'customFunctions'} "
: ''
)
. 'checkLogonHours date checkDate basic unicode2iso iso2unicode groupMatch',
0
)
)
{
my (@cf) = (
'encode_base64', 'checkLogonHours',
'date', 'checkDate',
'basic', 'unicode2iso',
'iso2unicode', 'groupMatch'
);
push @cf, defined $conf->{'customFunctions'}
? map( {
my $f = $_;
$f =~ s/\w+:://g;
$f, $_;
} split( /\s+/, $conf->{'customFunctions'}, 0 ) )
: ();
foreach my $f (@cf) {
$s = "sub $f {1} $s";
}
eval $s;

View File

@ -888,21 +888,19 @@ sub attributes {
my ( $val, $conf ) = @_;
my $s = $val;
if ( $s =~ s/^logout(?:_(?:sso|app|app_sso))?\s*// ) {
return $s =~ m{^(?:https?://.*)?$} ? (1) : ( 0, '__badUrl__' );
return $s =~ m{^(?:https?://.*)?$}
? (1)
: ( 0, '__badUrl__' );
}
$s =~ s/\b(accept|deny)\b/1/g;
foreach my $f (
split(
/\s+/,
(
defined $conf->{customFunctions}
? "$conf->{customFunctions} "
: ''
)
. 'checkLogonHours date checkDate basic unicode2iso iso2unicode groupMatch',
)
)
{
my @cf =
qw(encode_base64 checkLogonHours date checkDate basic unicode2iso iso2unicode groupMatch);
push @cf,
defined $conf->{customFunctions}
? map { my $f = $_; $f =~ s/\w+:://g; ( $f, $_ ) }
split( /\s+/, $conf->{customFunctions} )
: ();
foreach my $f (@cf) {
$s = "sub $f {1} $s";
}
eval $s;