parent
827f9a1154
commit
b239dc286f
|
@ -76,7 +76,7 @@ sub run ($$) {
|
|||
# Add client IP as X-Forwarded-For IP in SOAP request
|
||||
my $xheader = lmHeaderIn( $apacheRequest, 'X-Forwarded-For' );
|
||||
$xheader .= ", " if ($xheader);
|
||||
$xheader .= $apacheRequest->connection->remote_ip;
|
||||
$xheader .= $class->ip();
|
||||
my $soapHeaders =
|
||||
HTTP::Headers->new( "X-Forwarded-For" => $xheader );
|
||||
|
||||
|
@ -121,8 +121,8 @@ sub run ($$) {
|
|||
# The cookie isn't yet available
|
||||
$class->lmLog( "The cookie $cv isn't yet available: $@",
|
||||
'info' );
|
||||
$class->updateStatus( $apacheRequest->connection->remote_ip,
|
||||
$apacheRequest->uri, 'EXPIRED' );
|
||||
$class->updateStatus( $class->ip(), $apacheRequest->uri,
|
||||
'EXPIRED' );
|
||||
return $class->goToPortal($uri);
|
||||
}
|
||||
$datas->{$_} = $h{$_} foreach ( keys %h );
|
||||
|
|
|
@ -445,7 +445,8 @@ sub safe {
|
|||
# Share objets with Safe jail
|
||||
$safe->share_from( 'Lemonldap::NG::Common::Safelib',
|
||||
$Lemonldap::NG::Common::Safelib::functions );
|
||||
$safe->share( '&encode_base64', '$datas', '&portal', '$apacheRequest', @t );
|
||||
$safe->share( '&encode_base64', '&ip', '$datas', '&portal',
|
||||
'$apacheRequest', @t );
|
||||
|
||||
return $safe;
|
||||
}
|
||||
|
@ -852,12 +853,8 @@ sub encodeUrl {
|
|||
# @return Apache2::Const::REDIRECT
|
||||
sub goToPortal {
|
||||
my ( $class, $url, $arg ) = splice @_;
|
||||
$class->lmLog(
|
||||
"Redirect "
|
||||
. $apacheRequest->connection->remote_ip
|
||||
. " to portal (url was $url)",
|
||||
'debug'
|
||||
);
|
||||
$class->lmLog( "Redirect " . $class->ip() . " to portal (url was $url)",
|
||||
'debug' );
|
||||
my $urlc_init = $class->encodeUrl($url);
|
||||
lmSetHeaderOut( $apacheRequest,
|
||||
'Location' => $class->portal()
|
||||
|
@ -923,6 +920,12 @@ sub retrieveSession {
|
|||
return 1;
|
||||
}
|
||||
|
||||
sub ip {
|
||||
my $ip = 'unknownIP';
|
||||
eval { $ip = $apacheRequest->connection->remote_ip };
|
||||
return $ip;
|
||||
}
|
||||
|
||||
# MAIN SUBROUTINE called by Apache (using PerlHeaderParserHandler option)
|
||||
|
||||
## @rmethod int run(Apache2::RequestRec apacheRequest)
|
||||
|
@ -988,8 +991,7 @@ sub run ($$) {
|
|||
|
||||
if ( $protection == SKIP ) {
|
||||
$class->lmLog( "Access control skipped", "debug" );
|
||||
$class->updateStatus( $apacheRequest->connection->remote_ip,
|
||||
$apacheRequest->uri, 'SKIP' );
|
||||
$class->updateStatus( $class->ip(), $apacheRequest->uri, 'SKIP' );
|
||||
$class->hideCookie;
|
||||
$class->cleanHeaders;
|
||||
return OK;
|
||||
|
@ -1039,8 +1041,7 @@ sub run ($$) {
|
|||
|
||||
# Ignore unprotected URIs
|
||||
$class->lmLog( "No valid session but unprotected access", "debug" );
|
||||
$class->updateStatus( $apacheRequest->connection->remote_ip,
|
||||
$apacheRequest->uri, 'UNPROTECT' );
|
||||
$class->updateStatus( $class->ip(), $apacheRequest->uri, 'UNPROTECT' );
|
||||
$class->hideCookie;
|
||||
$class->cleanHeaders;
|
||||
return OK;
|
||||
|
@ -1053,8 +1054,8 @@ sub run ($$) {
|
|||
unless ($id);
|
||||
|
||||
# if the cookie was fetched, a log is sent by retrieveSession()
|
||||
$class->updateStatus( $apacheRequest->connection->remote_ip,
|
||||
$apacheRequest->uri, $id ? 'EXPIRED' : 'REDIRECT' );
|
||||
$class->updateStatus( $class->ip(), $apacheRequest->uri,
|
||||
$id ? 'EXPIRED' : 'REDIRECT' );
|
||||
return $class->goToPortal($uri_orig);
|
||||
}
|
||||
}
|
||||
|
@ -1716,8 +1717,7 @@ sub unlog ($$) {
|
|||
my $class;
|
||||
( $class, $apacheRequest ) = splice @_;
|
||||
$class->localUnlog;
|
||||
$class->updateStatus( $apacheRequest->connection->remote_ip,
|
||||
$apacheRequest->uri, 'LOGOUT' );
|
||||
$class->updateStatus( $class->ip(), $apacheRequest->uri, 'LOGOUT' );
|
||||
return $class->goToPortal( '/', 'logout=1' );
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user