Try to close LEMONLDAP-117
This commit is contained in:
parent
b57ae4f34a
commit
d00f68a54b
@ -373,7 +373,7 @@ sub safe {
|
|||||||
}";
|
}";
|
||||||
$class->lmLog( $@, 'error' ) if ($@);
|
$class->lmLog( $@, 'error' ) if ($@);
|
||||||
}
|
}
|
||||||
$safe->share_from( 'main', ['%ENV'] );
|
$safe->share_from( 'main', ['%ENV', 'APR::Table::set'] );
|
||||||
$safe->share_from( 'Lemonldap::NG::Common::Safelib',
|
$safe->share_from( 'Lemonldap::NG::Common::Safelib',
|
||||||
$Lemonldap::NG::Common::Safelib::functions );
|
$Lemonldap::NG::Common::Safelib::functions );
|
||||||
$safe->share( '&encode_base64', '$datas', '&lmSetHeaderIn',
|
$safe->share( '&encode_base64', '$datas', '&lmSetHeaderIn',
|
||||||
@ -609,7 +609,9 @@ sub conditionSub {
|
|||||||
$cond =~ s/\$datas->{vhost}/\$apacheRequest->hostname/g;
|
$cond =~ s/\$datas->{vhost}/\$apacheRequest->hostname/g;
|
||||||
|
|
||||||
# Eval sub
|
# Eval sub
|
||||||
my $sub = $class->safe->reval("sub {return ( $cond )}");
|
my $sub =
|
||||||
|
$class->safe->wrap_code_ref(
|
||||||
|
$class->safe->reval("sub {return ( $cond )}") );
|
||||||
|
|
||||||
# Return sub and protected flag
|
# Return sub and protected flag
|
||||||
return ( $sub, 1 );
|
return ( $sub, 1 );
|
||||||
@ -693,7 +695,8 @@ sub forgeHeadersInit {
|
|||||||
"lmSetHeaderIn(\$apacheRequest,'$_' => join('',split(/[\\r\\n]+/,"
|
"lmSetHeaderIn(\$apacheRequest,'$_' => join('',split(/[\\r\\n]+/,"
|
||||||
. $tmp{$_} . ")));";
|
. $tmp{$_} . ")));";
|
||||||
}
|
}
|
||||||
$forgeHeaders = $class->safe->reval("sub {$sub};");
|
$forgeHeaders =
|
||||||
|
$class->safe->wrap_code_ref( $class->safe->reval("sub {$sub};") );
|
||||||
$class->lmLog( "$class: Unable to forge headers: $@: sub {$sub}", 'error' )
|
$class->lmLog( "$class: Unable to forge headers: $@: sub {$sub}", 'error' )
|
||||||
if ($@);
|
if ($@);
|
||||||
1;
|
1;
|
||||||
@ -734,7 +737,8 @@ sub postUrlInit {
|
|||||||
$h{$_} = "'$h{$_}'" if ( $h{$_} =~ /^\w+$/ );
|
$h{$_} = "'$h{$_}'" if ( $h{$_} =~ /^\w+$/ );
|
||||||
$tmp .= "'$_'=>$h{$_},";
|
$tmp .= "'$_'=>$h{$_},";
|
||||||
}
|
}
|
||||||
my $sub = $class->safe->reval(
|
my $sub = $class->safe->wrap_code_ref(
|
||||||
|
$class->safe->reval(
|
||||||
"sub{
|
"sub{
|
||||||
my \$f = shift;
|
my \$f = shift;
|
||||||
my \$l;
|
my \$l;
|
||||||
@ -752,6 +756,7 @@ sub postUrlInit {
|
|||||||
}
|
}
|
||||||
return OK;
|
return OK;
|
||||||
}"
|
}"
|
||||||
|
)
|
||||||
);
|
);
|
||||||
$class->lmLog( "Compiling POST request for $url", 'debug' );
|
$class->lmLog( "Compiling POST request for $url", 'debug' );
|
||||||
$transform->{$url} = sub {
|
$transform->{$url} = sub {
|
||||||
|
@ -78,7 +78,8 @@ sub forgeHeadersInit {
|
|||||||
|
|
||||||
#$sub = "\$forgeHeaders->{'$vhost'} = sub {$sub};";
|
#$sub = "\$forgeHeaders->{'$vhost'} = sub {$sub};";
|
||||||
#eval "$sub";
|
#eval "$sub";
|
||||||
$forgeHeaders->{$vhost} = $class->safe->reval("sub {$sub}");
|
$forgeHeaders->{$vhost} =
|
||||||
|
$class->safe->wrap_code_ref( $class->safe->reval("sub {$sub}") );
|
||||||
$class->lmLog( "$class: Unable to forge headers: $@: sub {$sub}",
|
$class->lmLog( "$class: Unable to forge headers: $@: sub {$sub}",
|
||||||
'error' )
|
'error' )
|
||||||
if ($@);
|
if ($@);
|
||||||
|
@ -151,7 +151,8 @@ sub displayModule {
|
|||||||
# Else parse display condition
|
# Else parse display condition
|
||||||
my $cond = $self->{modules}->{$modulename};
|
my $cond = $self->{modules}->{$modulename};
|
||||||
$cond =~ s/\$(\w+)/$self->{portalObject}->{sessionInfo}->{$1}/g;
|
$cond =~ s/\$(\w+)/$self->{portalObject}->{sessionInfo}->{$1}/g;
|
||||||
return $self->_safe->reval("sub {return ( $cond )}");
|
return $self->safe->wrap_code_ref(
|
||||||
|
$self->_safe->reval("sub {return ( $cond )}") );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -565,7 +566,9 @@ sub _conditionSub {
|
|||||||
$cond =~ s/\$date/&POSIX::strftime("%Y%m%d%H%M%S",localtime())/e;
|
$cond =~ s/\$date/&POSIX::strftime("%Y%m%d%H%M%S",localtime())/e;
|
||||||
$cond =~ s/\$(\w+)/\$self->{portalObject}->{sessionInfo}->{$1}/g;
|
$cond =~ s/\$(\w+)/\$self->{portalObject}->{sessionInfo}->{$1}/g;
|
||||||
my $sub;
|
my $sub;
|
||||||
$sub = $self->_safe->reval("sub {my \$self = shift; return ( $cond )}");
|
$sub =
|
||||||
|
$self->safe->wrap_code_ref(
|
||||||
|
$self->_safe->reval("sub {my \$self = shift; return ( $cond )}") );
|
||||||
return $sub;
|
return $sub;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -368,7 +368,9 @@ sub _conditionSub {
|
|||||||
$cond =~ s/\$date/&POSIX::strftime("%Y%m%d%H%M%S",localtime())/e;
|
$cond =~ s/\$date/&POSIX::strftime("%Y%m%d%H%M%S",localtime())/e;
|
||||||
$cond =~ s/\$(\w+)/$h->{$1}/g;
|
$cond =~ s/\$(\w+)/$h->{$1}/g;
|
||||||
my $sub;
|
my $sub;
|
||||||
$sub = $self->safe->reval("sub {my \$self = shift; return ( $cond )}");
|
$sub =
|
||||||
|
$self->safe->wrap_code_ref(
|
||||||
|
$self->safe->reval("sub {my \$self = shift; return ( $cond )}") );
|
||||||
return $sub;
|
return $sub;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user