[LON-CAPA-cvs] cvs: loncom / lond
albertel
lon-capa-cvs@mail.lon-capa.org
Fri, 27 Jan 2006 21:45:29 -0000
albertel Fri Jan 27 16:45:29 2006 EDT
Modified files:
/loncom lond
Log:
- modifying the reply/subreply (and reconlonc) to use the sethost and proper socket files
Index: loncom/lond
diff -u loncom/lond:1.306 loncom/lond:1.307
--- loncom/lond:1.306 Sat Jan 21 03:26:52 2006
+++ loncom/lond Fri Jan 27 16:45:28 2006
@@ -2,7 +2,7 @@
# The LearningOnline Network
# lond "LON Daemon" Server (port "LOND" 5663)
#
-# $Id: lond,v 1.306 2006/01/21 08:26:52 albertel Exp $
+# $Id: lond,v 1.307 2006/01/27 21:45:28 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -59,7 +59,7 @@
my $status='';
my $lastlog='';
-my $VERSION='$Revision: 1.306 $'; #' stupid emacs
+my $VERSION='$Revision: 1.307 $'; #' stupid emacs
my $remoteVERSION;
my $currenthostid="default";
my $currentdomainid;
@@ -87,6 +87,7 @@
my %hostid; # ID's for hosts in cluster by ip.
my %hostdom; # LonCAPA domain for hosts in cluster.
+my %hostname; # DNSname -> ID's mapping.
my %hostip; # IPs for hosts in cluster.
my %hostdns; # ID's of hosts looked up by DNS name.
@@ -4701,6 +4702,7 @@
}
$hostid{$ip}=$id; # LonCAPA name of host by IP.
$hostdom{$id}=$domain; # LonCAPA domain name of host.
+ $hostname{$id}=$name; # LonCAPA name -> DNS name
$hostip{$id}=$ip; # IP address of host.
$hostdns{$name} = $id; # LonCAPA name of host by DNS.
@@ -4951,12 +4953,12 @@
sub subreply {
my ($cmd,$server)=@_;
- my $peerfile="$perlvar{'lonSockDir'}/$server";
+ my $peerfile="$perlvar{'lonSockDir'}/".$hostname{$server};
my $sclient=IO::Socket::UNIX->new(Peer =>"$peerfile",
Type => SOCK_STREAM,
Timeout => 10)
or return "con_lost";
- print $sclient "$cmd\n";
+ print $sclient "sethost:$server:$cmd\n";
my $answer=<$sclient>;
chomp($answer);
if (!$answer) { $answer="con_lost"; }
@@ -4972,7 +4974,7 @@
$answer=subreply("ping",$server);
if ($answer ne $server) {
&logthis("sub reply: answer != server answer is $answer, server is $server");
- &reconlonc("$perlvar{'lonSockDir'}/$server");
+ &reconlonc("$perlvar{'lonSockDir'}/".$hostname{$server});
}
$answer=subreply($cmd,$server);
}
@@ -5278,7 +5280,7 @@
# no need to try to do recon's to myself
next;
}
- &reconlonc("$perlvar{'lonSockDir'}/$id");
+ &reconlonc("$perlvar{'lonSockDir'}/".$hostname{$id});
}
&logthis("<font color='green'>Established connection: $clientname</font>");
&status('Will listen to '.$clientname);