--- loncom/lonnet/perl/lonnet.pm 2009/03/21 21:43:46 1.992 +++ loncom/lonnet/perl/lonnet.pm 2009/04/11 14:47:51 1.993 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.992 2009/03/21 21:43:46 raeburn Exp $ +# $Id: lonnet.pm,v 1.993 2009/04/11 14:47:51 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -196,6 +196,33 @@ sub get_server_timezone { } } +sub get_server_loncaparev { + my ($dom,$lonhost) = @_; + if (defined($lonhost)) { + if (!defined(&hostname($lonhost))) { + undef($lonhost); + } + } + if (!defined($lonhost)) { + if (defined(&domain($dom,'primary'))) { + $lonhost=&domain($dom,'primary'); + if ($lonhost eq 'no_host') { + undef($lonhost); + } + } + } + if (defined($lonhost)) { + my $cachetime = 24*3600; + my ($loncaparev,$cached)=&is_cached_new('serverloncaparev',$lonhost); + if (defined($cached)) { + return $loncaparev; + } else { + my $loncaparev = &reply('serverloncaparev',$lonhost); + return &do_cache_new('serverloncaparev',$lonhost,$loncaparev,$cachetime); + } + } +} + # -------------------------------------------------- Non-critical communication sub subreply { my ($cmd,$server)=@_; @@ -9055,7 +9082,7 @@ sub get_dns { my @hosts; my $ip; - if (defined($name_to_ip{$dns})) { + if (exists($name_to_ip{$dns})) { $ip = $name_to_ip{$dns}; } if (!$ip) {