File:  [LON-CAPA] / loncom / cgi / ping.pl
Revision 1.3: download - view: text, annotated - select for diffs
Mon Sep 9 14:18:56 2002 UTC (21 years, 7 months ago) by harris41
Branches: MAIN
CVS tags: version_0_6_2, version_0_6, HEAD
remove access.conf; loncapa.conf is read and BY DEFAULT loncapa_apache.conf
is always read (AT THE END)

#!/usr/bin/perl

# The LearningOnline Network with CAPA
# ping cgi-script


$|=1;

use lib '/home/httpd/lib/perl/';
use LONCAPA::Configuration;

use IO::File;
use IO::Socket;

# -------------------------------------------------- Non-critical communication
sub reply {
    my ($cmd,$server)=@_;
    my $peerfile="$perlvar{'lonSockDir'}/$server";
    my $client=IO::Socket::UNIX->new(Peer    =>"$peerfile",
                                     Type    => SOCK_STREAM,
                                     Timeout => 10)
       or return "con_lost";
    print $client "$cmd\n";
    my $answer=<$client>;
    chomp($answer);
    if (!$answer) { $answer="con_lost"; }
    return $answer;
}


# --------------------- Read loncapa.conf (and by default loncapa_apache.conf).
my $perlvarref=LONCAPA::Configuration::read_conf('loncapa.conf');
my %perlvar=%{$perlvarref};
undef $perlvarref; # remove since sensitive and not needed
delete $perlvar{'lonReceipt'}; # remove since sensitive and not needed
delete $perlvar{'lonSqlAccess'}; # remove since sensitive and not needed

$testhost=$ENV{'QUERY_STRING'};
$testhost=~s/\W//g;

print "Content-type: text/plain\n\n".
      &reply('ping',$testhost)."\n";

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>