Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.1449 and 1.1450

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;

Removed from v.1.1449  
changed lines
  Added in v.1.1450


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>