--- loncom/lond 2007/04/10 23:11:30 1.373
+++ loncom/lond 2007/07/25 22:52:07 1.376
@@ -2,7 +2,7 @@
# The LearningOnline Network
# lond "LON Daemon" Server (port "LOND" 5663)
#
-# $Id: lond,v 1.373 2007/04/10 23:11:30 albertel Exp $
+# $Id: lond,v 1.376 2007/07/25 22:52:07 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -59,7 +59,7 @@ my $DEBUG = 0; # Non zero to ena
my $status='';
my $lastlog='';
-my $VERSION='$Revision: 1.373 $'; #' stupid emacs
+my $VERSION='$Revision: 1.376 $'; #' stupid emacs
my $remoteVERSION;
my $currenthostid="default";
my $currentdomainid;
@@ -4640,6 +4640,30 @@ sub inst_usertypes_handler {
}
®ister_handler("inst_usertypes", \&inst_usertypes_handler, 0, 1, 0);
+sub inst_dirsrch_handler {
+ my ($cmd, $tail, $client) = @_;
+ my ($domain,$srchby,$srchterm,$srchtype) = split(/:/, $tail);
+ $srchby = &unescape($srchby);
+ $srchterm = &unescape($srchterm);
+ my $userinput = $cmd.":".$tail; # For logging purposes.
+ my (%instusers,%instids,$result,$res);
+ eval {
+ local($SIG{__DIE__})='DEFAULT';
+ $result=&localenroll::get_userinfo($domain,undef,undef,\%instusers,\%instids,undef,$srchby,$srchterm,$srchtype);
+ };
+ if ($result eq 'ok') {
+ if (keys(%instusers) > 0) {
+ foreach my $key (keys(%instusers)) {
+ my $usrstr = &Apache::lonnet::hash2str(%{$instusers{$key}});
+ $res.=&escape($key).'='.&escape($usrstr).'&';
+ }
+ }
+ $res=~s/\&$//;
+ }
+ &Reply($client, "$res\n", $userinput);
+}
+®ister_handler("instdirsrch", \&inst_dirsrch_handler, 0, 1, 0);
+
# mkpath makes all directories for a file, expects an absolute path with a
# file or a trailing / if just a dir is passed
# returns 1 on success 0 on failure
@@ -5048,7 +5072,8 @@ sub UpdateHosts {
foreach my $child (keys(%children)) {
my $childip = $children{$child};
- if (!defined(&Apache::lonnet::get_hosts_from_ip($childip))) {
+ if ($childip ne '127.0.0.1'
+ && !defined(&Apache::lonnet::get_hosts_from_ip($childip))) {
logthis(' UpdateHosts killing child '
." $child for ip $childip ");
kill('INT', $child);
@@ -5485,7 +5510,7 @@ sub make_new_child {
# ---------------- New known client connecting, could mean machine online again
if (&Apache::lonnet::get_host_ip($currenthostid) ne $clientip
&& $clientip ne '127.0.0.1') {
- &Apache::lonnet::reconlonc();
+ &Apache::lonnet::reconlonc($clientname);
}
&logthis("Established connection: $clientname");
&status('Will listen to '.$clientname);