[LON-CAPA-cvs] cvs: loncom /lonnet/perl lonnet.pm
raeburn
lon-capa-cvs-allow@mail.lon-capa.org
Fri, 12 Sep 2008 21:26:00 -0000
raeburn Fri Sep 12 17:26:00 2008 EDT
Modified files:
/loncom/lonnet/perl lonnet.pm
Log:
- bug 5717.
Will extract protocol of server from additional entry in a record in hosts.tab and dns_hosts.tab
Used to indicate server protocol is https. If blank, default is http.
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.967 loncom/lonnet/perl/lonnet.pm:1.968
--- loncom/lonnet/perl/lonnet.pm:1.967 Thu Sep 11 10:47:23 2008
+++ loncom/lonnet/perl/lonnet.pm Fri Sep 12 17:25:54 2008
@@ -1,7 +1,7 @@
# The LearningOnline Network
# TCP networking package
#
-# $Id: lonnet.pm,v 1.967 2008/09/11 14:47:23 bisitz Exp $
+# $Id: lonnet.pm,v 1.968 2008/09/12 21:25:54 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -34,7 +34,7 @@
use HTTP::Date;
# use Date::Parse;
use vars qw(%perlvar %spareid %pr %prp $memcache %packagetab $tmpdir
- $_64bit %env);
+ $_64bit %env %protocol);
my (%badServerCache, $memcache, %courselogs, %accesshash, %domainrolehash,
%userrolehash, $processmarker, $dumpcount, %coursedombuf,
@@ -643,7 +643,11 @@
}
if (!$want_server_name) {
- $spare_server="http://".&hostname($spare_server);
+ my $protocol = 'http';
+ if ($protocol{$spare_server} eq 'https') {
+ $protocol = $protocol{$spare_server};
+ }
+ $spare_server = $protocol.'://'.&hostname($spare_server);
}
return $spare_server;
}
@@ -8536,13 +8540,18 @@
next if ($configline =~ /^(\#|\s*$ )/x);
next if ($configline =~ /^\^/);
chomp($configline);
- my ($id,$domain,$role,$name)=split(/:/,$configline);
+ my ($id,$domain,$role,$name,$protocol)=split(/:/,$configline);
$name=~s/\s//g;
if ($id && $domain && $role && $name) {
$hostname{$id}=$name;
push(@{$name_to_host{$name}}, $id);
$hostdom{$id}=$domain;
if ($role eq 'library') { $libserv{$id}=$name; }
+ if ($protocol eq 'https') {
+ $protocol{$id} = $protocol;
+ } else {
+ $protocol{$id} = 'http';
+ }
}
}
}