Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.1436 and 1.1441

version 1.1436, 2021/01/02 19:31:11 version 1.1441, 2021/02/08 14:10:17
Line 1445  sub spare_can_host { Line 1445  sub spare_can_host {
             $canhost = 0;              $canhost = 0;
         }          }
     }      }
       if ($canhost) {
           if (ref($defdomdefaults{'offloadoth'}) eq 'HASH') {
               if ($defdomdefaults{'offloadoth'}{$try_server}) {
                   unless (&shared_institution($udom,$try_server)) {
                       $canhost = 0;
                   }
               }
           }
       }
     if (($canhost) && ($uint_dom)) {      if (($canhost) && ($uint_dom)) {
         my @intdoms;          my @intdoms;
         my $internet_names = &get_internet_names($try_server);          my $internet_names = &get_internet_names($try_server);
Line 2689  sub get_domain_defaults { Line 2698  sub get_domain_defaults {
         if (ref($domconfig{'usersessions'}{'offloadnow'}) eq 'HASH') {          if (ref($domconfig{'usersessions'}{'offloadnow'}) eq 'HASH') {
             $domdefaults{'offloadnow'} = $domconfig{'usersessions'}{'offloadnow'};              $domdefaults{'offloadnow'} = $domconfig{'usersessions'}{'offloadnow'};
         }          }
           if (ref($domconfig{'usersessions'}{'offloadoth'}) eq 'HASH') {
               $domdefaults{'offloadoth'} = $domconfig{'usersessions'}{'offloadoth'};
           }
     }      }
     if (ref($domconfig{'selfenrollment'}) eq 'HASH') {      if (ref($domconfig{'selfenrollment'}) eq 'HASH') {
         if (ref($domconfig{'selfenrollment'}{'admin'}) eq 'HASH') {          if (ref($domconfig{'selfenrollment'}{'admin'}) eq 'HASH') {
Line 2757  sub get_domain_defaults { Line 2769  sub get_domain_defaults {
         }          }
     }      }
     if (ref($domconfig{'wafproxy'}) eq 'HASH') {      if (ref($domconfig{'wafproxy'}) eq 'HASH') {
         foreach my $item ('ipheader','trusted','exempt') {          foreach my $item ('ipheader','trusted','vpnint','vpnext') {
             if ($domconfig{'wafproxy'}{$item}) {              if ($domconfig{'wafproxy'}{$item}) {
                 $domdefaults{'waf_'.$item} = $domconfig{'wafproxy'}{$item};                  $domdefaults{'waf_'.$item} = $domconfig{'wafproxy'}{$item};
             }              }
Line 12407  sub EXT { Line 12419  sub EXT {
         }          }
     } elsif ($realm eq 'client') {      } elsif ($realm eq 'client') {
         if ($space eq 'remote_addr') {          if ($space eq 'remote_addr') {
             return $ENV{'REMOTE_ADDR'};              return &get_requestor_ip();
         }          }
     }      }
     return '';      return '';
Line 14217  sub default_login_domain { Line 14229  sub default_login_domain {
 }  }
   
 sub shared_institution {  sub shared_institution {
     my ($dom) = @_;      my ($dom,$lonhost) = @_;
       if ($lonhost eq '') {
           $lonhost = $perlvar{'lonHostID'};
       }
     my $same_intdom;      my $same_intdom;
     my $hostintdom = &internet_dom($perlvar{'lonHostID'});      my $hostintdom = &internet_dom($lonhost);
     if ($hostintdom ne '') {      if ($hostintdom ne '') {
         my %iphost = &get_iphost();          my %iphost = &get_iphost();
         my $primary_id = &domain($dom,'primary');          my $primary_id = &domain($dom,'primary');
Line 14288  sub get_requestor_ip { Line 14303  sub get_requestor_ip {
     my $dom_in_use = $Apache::lonnet::perlvar{'lonDefDomain'};      my $dom_in_use = $Apache::lonnet::perlvar{'lonDefDomain'};
     my $proxyinfo = &get_proxy_settings($dom_in_use);      my $proxyinfo = &get_proxy_settings($dom_in_use);
     if ((ref($proxyinfo) eq 'HASH') && ($from_ip)) {      if ((ref($proxyinfo) eq 'HASH') && ($from_ip)) {
         if ($proxyinfo->{'exempt'}) {          if ($proxyinfo->{'vpnint'}) {
             if (&ip_match($from_ip,$proxyinfo->{'exempt'})) {              if (&ip_match($from_ip,$proxyinfo->{'vpnint'})) {
                 return $from_ip;                  return $from_ip;
             }              }
         }          }
Line 14331  sub get_proxy_settings { Line 14346  sub get_proxy_settings {
     my $proxyinfo = {      my $proxyinfo = {
                        ipheader => $domdefaults{'waf_ipheader'},                         ipheader => $domdefaults{'waf_ipheader'},
                        trusted  => $domdefaults{'waf_trusted'},                         trusted  => $domdefaults{'waf_trusted'},
                        exempt   => $domdefaults{'waf_exempt'},                         vpnint   => $domdefaults{'waf_vpnint'},
                          vpnext   => $domdefaults{'waf_vpnext'},
                     };                      };
     return $proxyinfo;      return $proxyinfo;
 }  }
Line 14356  sub get_proxy_alias { Line 14372  sub get_proxy_alias {
         if ($dom ne '') {          if ($dom ne '') {
             my $cachetime = 60*60*24;              my $cachetime = 60*60*24;
             my %domconfig =              my %domconfig =
                 &Apache::lonnet::get_dom('configuration',['proxy'],$dom);                  &Apache::lonnet::get_dom('configuration',['wafproxy'],$dom);
             my $alias;              my $alias;
             if (ref($domconfig{'proxy'}) eq 'HASH') {              if (ref($domconfig{'wafproxy'}) eq 'HASH') {
                 if (ref($domconfig{'proxy'}{'alias'}) eq 'HASH') {                  if (ref($domconfig{'wafproxy'}{'alias'}) eq 'HASH') {
                     $alias = $domconfig{'proxy'}{'alias'}{$lonhost};                      $alias = $domconfig{'wafproxy'}{'alias'}{$lonhost};
                 }                  }
             }              }
             return &do_cache_new('proxyalias',$lonhost,$alias,$cachetime);              return &do_cache_new('proxyalias',$lonhost,$alias,$cachetime);

Removed from v.1.1436  
changed lines
  Added in v.1.1441


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