version 1.1449, 2021/04/29 17:45:23
|
version 1.1450, 2021/05/03 15:27:45
|
Line 14453 sub ip_match {
|
Line 14453 sub ip_match {
|
} |
} |
|
|
sub get_proxy_alias { |
sub get_proxy_alias { |
my $lonhost = $perlvar{'lonHostID'}; |
my ($lonid) = @_; |
if ($lonhost ne '') { |
if ($lonid eq '') { |
my ($alias,$cached) = &is_cached_new('proxyalias',$lonhost); |
$lonid = $perlvar{'lonHostID'}; |
|
} |
|
if (!defined(&hostname($lonid))) { |
|
return; |
|
} |
|
if ($lonid ne '') { |
|
my ($alias,$cached) = &is_cached_new('proxyalias',$lonid); |
if ($cached) { |
if ($cached) { |
return $alias; |
return $alias; |
} |
} |
my $dom = &Apache::lonnet::host_domain($lonhost); |
my $dom = &Apache::lonnet::host_domain($lonid); |
if ($dom ne '') { |
if ($dom ne '') { |
my $cachetime = 60*60*24; |
my $cachetime = 60*60*24; |
my %domconfig = |
my %domconfig = |
Line 14467 sub get_proxy_alias {
|
Line 14473 sub get_proxy_alias {
|
my $alias; |
my $alias; |
if (ref($domconfig{'wafproxy'}) eq 'HASH') { |
if (ref($domconfig{'wafproxy'}) eq 'HASH') { |
if (ref($domconfig{'wafproxy'}{'alias'}) eq 'HASH') { |
if (ref($domconfig{'wafproxy'}{'alias'}) eq 'HASH') { |
$alias = $domconfig{'wafproxy'}{'alias'}{$lonhost}; |
$alias = $domconfig{'wafproxy'}{'alias'}{$lonid}; |
} |
} |
} |
} |
return &do_cache_new('proxyalias',$lonhost,$alias,$cachetime); |
return &do_cache_new('proxyalias',$lonid,$alias,$cachetime); |
|
} |
|
} |
|
return; |
|
} |
|
|
|
sub use_proxy_alias { |
|
my ($r,$lonid) = @_; |
|
my $alias = &get_proxy_alias($lonid); |
|
if ($alias) { |
|
my $dom = &host_domain($lonid); |
|
if ($dom ne '') { |
|
my $proxyinfo = &get_proxy_settings($dom ); |
|
my ($vpnint,$remote_ip); |
|
if (ref($proxyinfo) eq 'HASH') { |
|
$vpnint = $proxyinfo->{'vpnint'}; |
|
if ($vpnint) { |
|
$remote_ip = &get_requestor_ip($r,1,1); |
|
} |
|
} |
|
unless ($vpnint && &ip_match($remote_ip,$vpnint)) { |
|
return $alias; |
|
} |
} |
} |
} |
} |
return; |
return; |