version 1.32, 2021/07/17 20:34:15
|
version 1.36, 2021/10/08 14:36:51
|
Line 67 sub handler {
|
Line 67 sub handler {
|
my ($redirect,$remote_ip); |
my ($redirect,$remote_ip); |
if ($hdrhost eq $alias) { |
if ($hdrhost eq $alias) { |
$remote_ip = &Apache::lonnet::get_requestor_ip($r,REMOTE_NOLOOKUP); |
$remote_ip = &Apache::lonnet::get_requestor_ip($r,REMOTE_NOLOOKUP); |
if ($vpnext && &Apache::lonnet::ip_match($remote_ip,$vpnext)) { |
if (($vpnext && &Apache::lonnet::ip_match($remote_ip,$vpnext)) && |
|
($r->uri !~ m{^/adm/(lti|launch)/})) { |
$redirect = $hostname; |
$redirect = $hostname; |
if ($redirect eq $hdrhost) { |
} |
|
if ($r->uri eq '/adm/sso') { |
|
if (&Apache::lonnet::alias_shibboleth($lonhost)) { |
undef($redirect); |
undef($redirect); |
|
} else { |
|
$redirect = $hostname; |
} |
} |
} |
} |
|
if ($redirect eq $hdrhost) { |
|
undef($redirect); |
|
} |
} elsif ($hdrhost eq $hostname) { |
} elsif ($hdrhost eq $hostname) { |
$remote_ip = &Apache::lonnet::get_requestor_ip($r,REMOTE_NOLOOKUP,1); |
$remote_ip = &Apache::lonnet::get_requestor_ip($r,REMOTE_NOLOOKUP,1); |
unless (($remote_ip eq '127.0.0.1') || ($remote_ip eq '::1') || |
unless (($remote_ip eq '127.0.0.1') || ($remote_ip eq '::1') || |
($remote_ip eq &Apache::lonnet::get_host_ip($lonhost)) || |
($remote_ip eq &Apache::lonnet::get_host_ip($lonhost)) || |
|
($r->uri=~m{^/adm/(lti|launch)/}) || |
($vpnint && &Apache::lonnet::ip_match($remote_ip,$vpnint))) { |
($vpnint && &Apache::lonnet::ip_match($remote_ip,$vpnint))) { |
$redirect = $alias; |
$redirect = $alias; |
if (($r->uri=~m{^/raw/}) || ($r->uri=~m{^/adm/dns/(hosts|domain)$})) { |
if (($r->uri=~m{^/raw/}) || ($r->uri=~m{^/adm/dns/})) { |
my %iphost = &Apache::lonnet::get_iphost(); |
my %iphost = &Apache::lonnet::get_iphost(); |
if (exists($iphost{$remote_ip})) { |
if (exists($iphost{$remote_ip})) { |
undef($redirect); |
undef($redirect); |
} |
} |
|
} elsif ($r->uri eq '/adm/sso') { |
|
unless (&Apache::lonnet::alias_shibboleth($lonhost)) { |
|
undef($redirect); |
|
} |
} |
} |
} |
} |
} |
} |
if ($redirect) { |
if ($redirect) { |
my $uri = $r->uri; |
my $uri = $r->uri; |
if (($uri eq '/adm/sso') || ($uri eq '/adm/switchserver') || |
if (($uri eq '/adm/switchserver') || ($uri =~ m{^/Shibboleth.sso/})) { |
($uri =~ m{^/Shibboleth.sso/})) { |
|
return DECLINED; |
return DECLINED; |
} |
} |
unless ($uri eq '/adm/migrateuser') { |
unless ($uri eq '/adm/migrateuser') { |
my %user; |
my %user; |
my $handle = &Apache::lonnet::check_for_valid_session($r,undef,\%user); |
my $handle = &Apache::lonnet::check_for_valid_session($r,undef,\%user); |
if (($handle) && ($user{'name'} ne '') && ($user{'domain'} ne '')) { |
if (($handle) && ($user{'name'} ne '') && ($user{'domain'} ne '')) { |
my $token = &get_token($r,$remote_ip,\%user); |
unless (($user{'name'} eq 'public') && ($user{'domain'} eq 'public')) { |
unless ($token eq '') { |
my $token = &get_token($r,$remote_ip,\%user); |
$r->internal_redirect("/adm/migrateuser?token=$token"); |
unless ($token eq '') { |
$r->set_handlers('PerlHandler'=> undef); |
$r->internal_redirect("/adm/migrateuser?token=$token"); |
return DECLINED; |
$r->set_handlers('PerlHandler'=> undef); |
|
return DECLINED; |
|
} |
} |
} |
} |
} |
} |
} |
Line 111 sub handler {
|
Line 125 sub handler {
|
$protocol = 'https'; |
$protocol = 'https'; |
} |
} |
my $querystring = $r->args; |
my $querystring = $r->args; |
|
if ($uri =~ m{^(/adm/css/)(.+)(.css)$}) { |
|
$uri = $1.&escape($2).$3; |
|
} |
my $location = $protocol.'://'.$redirect.$uri; |
my $location = $protocol.'://'.$redirect.$uri; |
if ($querystring) { |
if ($querystring) { |
$location .= "?$querystring"; |
$location .= "?$querystring"; |