From 9e9a03076cbc6b104f92e7f423ef9330bc8204ce Mon Sep 17 00:00:00 2001 From: Cal Henderson Date: Fri, 15 Apr 2016 08:35:16 -0700 Subject: [PATCH 1/2] never used --- mod_perl/GodAuth.pm | 2 -- 1 file changed, 2 deletions(-) diff --git a/mod_perl/GodAuth.pm b/mod_perl/GodAuth.pm index b2620c4..5450dd2 100644 --- a/mod_perl/GodAuth.pm +++ b/mod_perl/GodAuth.pm @@ -32,8 +32,6 @@ sub handler { my $domain = $r->headers_in->{'Host'} || 'UNKNOWN-HOST'; my $path = $r->unparsed_uri; - my $host = hostname; - $ENV{GodAuth_User} = ''; my $url = $domain . $path; From 4f062147ec6ede9e1955a2141b0cf77adfaf0155 Mon Sep 17 00:00:00 2001 From: Cal Henderson Date: Fri, 15 Apr 2016 08:36:54 -0700 Subject: [PATCH 2/2] we want to match rules against the cleaned uri, but we want to include query params when redirecting, so keep track of both the clean and dirty uris. --- mod_perl/GodAuth.pm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/mod_perl/GodAuth.pm b/mod_perl/GodAuth.pm index 5450dd2..5abbdbc 100644 --- a/mod_perl/GodAuth.pm +++ b/mod_perl/GodAuth.pm @@ -30,12 +30,16 @@ sub handler { my $r = shift; my $domain = $r->headers_in->{'Host'} || 'UNKNOWN-HOST'; - my $path = $r->unparsed_uri; + + my $path_clean = $r->uri; + my $path_raw = $r->unparsed_uri; $ENV{GodAuth_User} = ''; - my $url = $domain . $path; - my $log = "$$ URL : $url"; + my $url_clean = $domain . $path_clean; + my $url_raw = $domain . $path_raw; + + my $log = "$$ URL : $url_clean"; ######################################################### @@ -68,7 +72,7 @@ sub handler { for my $obj (@{$GodAuthConfig::PermMap}){ - if ($url =~ $obj->{url}){ + if ($url_clean =~ $obj->{url}){ $allow = $obj->{who}; last; @@ -188,19 +192,19 @@ sub handler { # if (!$cookie){ - return &redir($r, $url, $GodAuthConfig::FailNeedsAuth); + return &redir($r, $url_raw, $GodAuthConfig::FailNeedsAuth); } if ($cookie_is_old){ - return &redir($r, $url, $GodAuthConfig::FailCookieOld); + return &redir($r, $url_raw, $GodAuthConfig::FailCookieOld); } if ($cookie_is_future){ - return &redir($r, $url, $GodAuthConfig::FailCookieFuture); + return &redir($r, $url_raw, $GodAuthConfig::FailCookieFuture); } if (!$cookie_is_valid){ - return &redir($r, $url, $GodAuthConfig::FailCookieInvalid); + return &redir($r, $url_raw, $GodAuthConfig::FailCookieInvalid); } @@ -250,7 +254,7 @@ sub handler { # send the user to the not-on-list page # - return &redir($r, $url, $GodAuthConfig::FailNotOnList); + return &redir($r, $url_raw, $GodAuthConfig::FailNotOnList); } ##############################################################################################################