--- loncom/lonsql	2006/02/07 16:20:39	1.71
+++ loncom/lonsql	2006/02/08 17:11:46	1.73
@@ -3,7 +3,7 @@
 # The LearningOnline Network
 # lonsql - LON TCP-MySQL-Server Daemon for handling database requests.
 #
-# $Id: lonsql,v 1.71 2006/02/07 16:20:39 albertel Exp $
+# $Id: lonsql,v 1.73 2006/02/08 17:11:46 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -260,12 +260,14 @@ if (-e $pidfile) {
 # Read hosts file
 #
 my $thisserver;
+my %hostname;
 my $PREFORK=4; # number of children to maintain, at least four spare
 open (CONFIG,"$perlvar{'lonTabDir'}/hosts.tab") || die "Can't read host file";
 while (my $configline=<CONFIG>) {
     my ($id,$domain,$role,$name)=split(/:/,$configline);
     $name=~s/\s//g;
     $thisserver=$name if ($id eq $perlvar{'lonHostID'});
+    $hostname{$id}=$name;
     #$PREFORK++;
 }
 close(CONFIG);
@@ -386,6 +388,8 @@ sub make_new_child {
 	    $run = $run+1;
 	    my $userinput = <$client>;
 	    chomp($userinput);
+            $userinput=~s/\:(\w+)$//;
+            my $searchdomain=$1;
             #
 	    my ($conserver,$query,
 		$arg1,$arg2,$arg3)=split(/&/,$userinput);
@@ -658,12 +662,12 @@ Returns: The results of the message or '
 ########################################################
 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);
     $answer="con_lost" if (!$answer);