version 1.18, 2003/10/28 11:55:58
|
version 1.21, 2003/11/03 10:39:24
|
Line 71 use LondConnection;
|
Line 71 use LondConnection;
|
my %perlvar; # Perl variable defs from apache config. |
my %perlvar; # Perl variable defs from apache config. |
my %hostshash; # Host table as a host indexed hash. |
my %hostshash; # Host table as a host indexed hash. |
|
|
my $MyHost; # Host name to use as me. |
my $MyHost=""; # Host name to use as me. |
my $ForeignHostTab; # Name of foreign hosts table. |
my $ForeignHostTab=""; # Name of foreign hosts table. |
|
my $ServerPort; # Port used to connect to lond. |
|
|
# |
# |
# prints out utility's command usage info. |
# prints out utility's command usage info. |
Line 110 USAGE
|
Line 111 USAGE
|
|
|
|
|
} |
} |
|
|
|
sub MakeLondConnection { |
|
my $host = shift; |
|
return "junk"; |
|
} |
|
|
|
sub NegotiateStartup { |
|
my $connection = shift; |
|
|
|
return "ok"; |
|
} |
|
sub PerformTransaction { |
|
my $connection = shift; |
|
my $command = shift; |
|
|
|
return "ok"; |
|
} |
# |
# |
# Lifted from lonnet.pm - and we need to figure out a way to get it back in. |
# Performs a transaction direct to a remote lond. |
# Performas a transaction with lond via the lonc proxy server. |
|
# Parameter: |
# Parameter: |
# cmd - The text of the request. |
# cmd - The text of the request. |
# host - The host to which the request ultimately goes. |
# host - The host to which the request ultimately goes. |
Line 121 USAGE
|
Line 138 USAGE
|
# lond/lonc etc. |
# lond/lonc etc. |
# |
# |
sub subreply { |
sub subreply { |
my ($cmd,$server)=@_; |
my $cmd = shift; |
my $peerfile="$perlvar{'lonSockDir'}/$server"; |
my $host = shift; |
my $client=IO::Socket::UNIX->new(Peer =>"$peerfile", |
|
Type => SOCK_STREAM, |
|
Timeout => 10) |
my $connection = MakeLondConnection($host); |
or return "con_lost"; |
if ($connection eq undef) { |
print $client "$cmd\n"; |
return "Connect Failed"; |
my $answer=<$client>; |
} |
if (!$answer) { $answer="con_lost"; } |
my $reply = NegotiateStartup($connection); |
chomp($answer); |
if($reply != "ok") { |
return $answer; |
return "connection negotiation failed"; |
|
} |
|
my $reply = PerformTransaction($connection, $cmd); |
|
return $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>; |
|
# if (!$answer) { $answer="con_lost"; } |
|
# chomp($answer); |
|
# return $answer; |
} |
} |
# >>> BUGBUG <<< |
# >>> BUGBUG <<< |
# |
# |
Line 227 sub ParseArgs {
|
Line 260 sub ParseArgs {
|
return @result; |
return @result; |
} |
} |
# |
# |
# Read the loncapa configuration stuff. |
# Read the loncapa configuration stuff. If ForeignHostTab is empty, |
|
# assume we are part of a loncapa cluster and read the hosts.tab |
|
# file from the config directory. Otherwise, ForeignHossTab |
|
# is the name of an alternate configuration file to read in |
|
# standalone mode. |
# |
# |
sub ReadConfig { |
sub ReadConfig { |
my $perlvarref = LondConnection::read_conf('loncapa.conf'); |
|
%perlvar = %{$perlvarref}; |
if($ForeignHostTab eq "") { |
my $hoststab = LondConnection::read_hosts( |
my $perlvarref = LondConnection::read_conf('loncapa.conf'); |
"$perlvar{'lonTabDir'}/hosts.tab"); |
%perlvar = %{$perlvarref}; |
%hostshash = %{$hoststab}; |
my $hoststab = LondConnection::read_hosts( |
|
"$perlvar{'lonTabDir'}/hosts.tab"); |
|
%hostshash = %{$hoststab}; |
|
$MyHost = $perlvar{lonHostID}; # Set hostname from vars. |
|
$ServerPort = $perlvar{londPort}; |
|
} else { |
|
my $hoststab = LondConnection::read_hosts($ForeignHostTab); |
|
%hostshash = %{$hoststab}; |
|
$ServerPort = 5663; |
|
} |
|
|
} |
} |
# |
# |
Line 388 sub ReinitProcess {
|
Line 434 sub ReinitProcess {
|
} |
} |
#--------------------------- Entry point: -------------------------- |
#--------------------------- Entry point: -------------------------- |
|
|
ReadConfig; # Read the configuration info (incl.hosts). |
|
|
|
|
|
# Parse the parameters |
# Parse the parameters |
Line 408 if ($EUID != 0) {
|
Line 453 if ($EUID != 0) {
|
die "ENOPRIV - No privilege for requested operation" |
die "ENOPRIV - No privilege for requested operation" |
} |
} |
|
|
|
# |
|
# Read the configuration file. |
|
# |
|
|
|
ReadConfig; # Read the configuration info (incl.hosts). |
|
|
# Based on the operation requested invoke the appropriate function: |
# Based on the operation requested invoke the appropriate function: |
|
|