--- loncom/lonnet/perl/lonnet.pm 2021/01/05 04:23:46 1.1437 +++ loncom/lonnet/perl/lonnet.pm 2021/01/28 22:12:54 1.1439 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.1437 2021/01/05 04:23:46 raeburn Exp $ +# $Id: lonnet.pm,v 1.1439 2021/01/28 22:12:54 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1445,6 +1445,15 @@ sub spare_can_host { $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)) { my @intdoms; my $internet_names = &get_internet_names($try_server); @@ -2689,6 +2698,9 @@ sub get_domain_defaults { if (ref($domconfig{'usersessions'}{'offloadnow'}) eq 'HASH') { $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'}{'admin'}) eq 'HASH') { @@ -14217,9 +14229,12 @@ sub default_login_domain { } sub shared_institution { - my ($dom) = @_; + my ($dom,$lonhost) = @_; + if ($lonhost eq '') { + $lonhost = $perlvar{'lonHostID'}; + } my $same_intdom; - my $hostintdom = &internet_dom($perlvar{'lonHostID'}); + my $hostintdom = &internet_dom($lonhost); if ($hostintdom ne '') { my %iphost = &get_iphost(); my $primary_id = &domain($dom,'primary'); @@ -14332,7 +14347,7 @@ sub get_proxy_settings { ipheader => $domdefaults{'waf_ipheader'}, trusted => $domdefaults{'waf_trusted'}, vpnint => $domdefaults{'waf_vpnint'}, - vpnext => $domdefaults{'waf_vpnext'}; + vpnext => $domdefaults{'waf_vpnext'}, }; return $proxyinfo; }