version 1.473, 2011/05/14 15:47:01
|
version 1.481, 2011/08/17 00:32:19
|
Line 92 my %managers; # Ip -> manager names
|
Line 92 my %managers; # Ip -> manager names
|
|
|
my %perlvar; # Will have the apache conf defined perl vars. |
my %perlvar; # Will have the apache conf defined perl vars. |
|
|
|
my $dist; |
|
|
# |
# |
# The hash below is used for command dispatching, and is therefore keyed on the request keyword. |
# The hash below is used for command dispatching, and is therefore keyed on the request keyword. |
# Each element of the hash contains a reference to an array that contains: |
# Each element of the hash contains a reference to an array that contains: |
Line 1641 sub ls3_handler {
|
Line 1643 sub ls3_handler {
|
} |
} |
®ister_handler("ls3", \&ls3_handler, 0, 1, 0); |
®ister_handler("ls3", \&ls3_handler, 0, 1, 0); |
|
|
|
sub read_lonnet_global { |
|
my ($cmd,$tail,$client) = @_; |
|
my $userinput = "$cmd:$tail"; |
|
my $requested = &Apache::lonnet::thaw_unescape($tail); |
|
my $result; |
|
my %packagevars = ( |
|
spareid => \%Apache::lonnet::spareid, |
|
perlvar => \%Apache::lonnet::perlvar, |
|
); |
|
my %limit_to = ( |
|
perlvar => { |
|
lonOtherAuthen => 1, |
|
lonBalancer => 1, |
|
lonVersion => 1, |
|
lonSysEMail => 1, |
|
lonHostID => 1, |
|
lonRole => 1, |
|
lonDefDomain => 1, |
|
lonLoadLim => 1, |
|
lonUserLoadLim => 1, |
|
} |
|
); |
|
if (ref($requested) eq 'HASH') { |
|
foreach my $what (keys(%{$requested})) { |
|
my $response; |
|
my $items = {}; |
|
if (exists($packagevars{$what})) { |
|
if (ref($limit_to{$what}) eq 'HASH') { |
|
foreach my $varname (keys(%{$packagevars{$what}})) { |
|
if ($limit_to{$what}{$varname}) { |
|
$items->{$varname} = $packagevars{$what}{$varname}; |
|
} |
|
} |
|
} else { |
|
$items = $packagevars{$what}; |
|
} |
|
if ($what eq 'perlvar') { |
|
if (!exists($packagevars{$what}{'lonBalancer'})) { |
|
if ($dist =~ /^(centos|rhes|fedora|scientific)/) { |
|
my $othervarref=LONCAPA::Configuration::read_conf('httpd.conf'); |
|
if (ref($othervarref) eq 'HASH') { |
|
$items->{'lonBalancer'} = $othervarref->{'lonBalancer'}; |
|
} |
|
} |
|
} |
|
} |
|
$response = &Apache::lonnet::freeze_escape($items); |
|
} |
|
$result .= &escape($what).'='.$response.'&'; |
|
} |
|
} |
|
$result =~ s/\&$//; |
|
&Reply($client,\$result,$userinput); |
|
return 1; |
|
} |
|
®ister_handler("readlonnetglobal", \&read_lonnet_global, 0, 1, 0); |
|
|
|
sub server_devalidatecache_handler { |
|
my ($cmd,$tail,$client) = @_; |
|
my $userinput = "$cmd:$tail"; |
|
my ($name,$id) = map { &unescape($_); } split(/:/,$tail); |
|
&Apache::lonnet::devalidate_cache_new($name,$id); |
|
my $result = 'ok'; |
|
&Reply($client,\$result,$userinput); |
|
return 1; |
|
} |
|
®ister_handler("devalidatecache", \&server_devalidatecache_handler, 0, 1, 0); |
|
|
sub server_timezone_handler { |
sub server_timezone_handler { |
my ($cmd,$tail,$client) = @_; |
my ($cmd,$tail,$client) = @_; |
my $userinput = "$cmd:$tail"; |
my $userinput = "$cmd:$tail"; |
Line 2278 sub fetch_user_file_handler {
|
Line 2348 sub fetch_user_file_handler {
|
|
|
my $destname=$udir.'/'.$ufile; |
my $destname=$udir.'/'.$ufile; |
my $transname=$udir.'/'.$ufile.'.in.transit'; |
my $transname=$udir.'/'.$ufile.'.in.transit'; |
my $remoteurl='http://'.$clientip.'/userfiles/'.$fname; |
my $clientprotocol=$Apache::lonnet::protocol{$clientname}; |
|
$clientprotocol = 'http' if ($clientprotocol ne 'https'); |
|
my $remoteurl=$clientprotocol.'://'.$clientip.'/userfiles/'.$fname; |
my $response; |
my $response; |
Debug("Remote URL : $remoteurl Transfername $transname Destname: $destname"); |
Debug("Remote URL : $remoteurl Transfername $transname Destname: $destname"); |
alarm(120); |
alarm(120); |
Line 6093 sub HUPSMAN { # sig
|
Line 6165 sub HUPSMAN { # sig
|
# |
# |
sub ReloadApache { |
sub ReloadApache { |
# --------------------------- Handle case of another apachereload process (locking) |
# --------------------------- Handle case of another apachereload process (locking) |
my $execdir = $perlvar{'lonDaemons'}; |
if (&LONCAPA::try_to_lock('/tmp/lock_apachereload')) { |
my $script = $execdir."/apachereload"; |
my $execdir = $perlvar{'lonDaemons'}; |
system($script); |
my $script = $execdir."/apachereload"; |
|
system($script); |
|
unlink('/tmp/lock_apachereload'); # Remove the lock file. |
|
} |
} |
} |
|
|
# |
# |
Line 6359 $SIG{USR2} = \&UpdateHosts;
|
Line 6434 $SIG{USR2} = \&UpdateHosts;
|
&Apache::lonnet::load_hosts_tab(); |
&Apache::lonnet::load_hosts_tab(); |
my %iphost = &Apache::lonnet::get_iphost(1); |
my %iphost = &Apache::lonnet::get_iphost(1); |
|
|
my $dist=`$perlvar{'lonDaemons'}/distprobe`; |
$dist=`$perlvar{'lonDaemons'}/distprobe`; |
|
|
my $arch = `uname -i`; |
my $arch = `uname -i`; |
|
chomp($arch); |
if ($arch eq 'unknown') { |
if ($arch eq 'unknown') { |
$arch = `uname -m`; |
$arch = `uname -m`; |
|
chomp($arch); |
} |
} |
|
|
# -------------------------------------------------------------- |
# -------------------------------------------------------------- |
Line 7162 sub subscribe {
|
Line 7239 sub subscribe {
|
# the metadata |
# the metadata |
unless ($fname=~/\.meta$/) { &unsub("$fname.meta",$clientip); } |
unless ($fname=~/\.meta$/) { &unsub("$fname.meta",$clientip); } |
$fname=~s/\/home\/httpd\/html\/res/raw/; |
$fname=~s/\/home\/httpd\/html\/res/raw/; |
$fname="http://".&Apache::lonnet::hostname($perlvar{'lonHostID'})."/".$fname; |
my $protocol = $Apache::lonnet::protocol{$perlvar{'lonHostID'}}; |
|
$protocol = 'http' if ($protocol ne 'https'); |
|
$fname=$protocol.'://'.&Apache::lonnet::hostname($perlvar{'lonHostID'})."/".$fname; |
$result="$fname\n"; |
$result="$fname\n"; |
} |
} |
} else { |
} else { |