Diff for /loncom/Attic/lonManage between versions 1.12 and 1.13

version 1.12, 2003/08/18 11:08:07 version 1.13, 2003/08/19 10:26:24
Line 50 Line 50
 #    not the IP address of the host.  #    not the IP address of the host.
 #  #
 #  $Log$  #  $Log$
   #  Revision 1.13  2003/08/19 10:26:24  foxr
   #  Initial working version... tested against an unmodified lond this
   #  produces an unknown_cmd response which is about what I'd expect.
   #
 #  Revision 1.12  2003/08/18 11:08:07  foxr  #  Revision 1.12  2003/08/18 11:08:07  foxr
 #  Debug request building in Transact.  #  Debug request building in Transact.
 #  #
Line 93 Line 97
 #  #
 #  #
   
   #  >>>>BUGBUG<<<< require authentication with lond of some sort.
   #                 domain admin login eg.
   
 # Modules required:  # Modules required:
   
 use strict; # Because it's good practice.  use strict; # Because it's good practice.
 use English; # Cause I like meaningful names.  use English; # Cause I like meaningful names.
 use Getopt::Long;  use Getopt::Long;
 use LONCAPA::Configuration; # To handle configuration I/O.  use LONCAPA::Configuration; # To handle configuration I/O.
   use IO::Socket::UNIX; # To communicate with lonc.
   
 # File scoped variables:  # File scoped variables:
   
 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.
   
   #
   #   prints out utility's command usage info.
   #
 sub Usage  {  sub Usage  {
     print "Usage:";      print "Usage:";
     print <<USAGE;      print <<USAGE;
Line 127  USAGE Line 138  USAGE
   
   
 }  }
   #
   #   Lifted from lonnet.pm - and we need to figure out a way to get it back in.
   #   Performas a transaction with lond via the lonc proxy server.
   #   Parameter:
   #      cmd  - The text of the request.
   #      host - The host to which the request ultimately goes.
   #   Returns:
   #      The text of the reply from the lond or con_lost if not able to contact
   #      lond/lonc etc.
   #
   sub subreply {
       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 <<< 
 #  #
 #  Use Getopt::Long to parse the parameters of the program.  #  Use Getopt::Long to parse the parameters of the program.
 #  #
Line 238  sub ValidHost { Line 272  sub ValidHost {
     return defined $hostshash{$host};      return defined $hostshash{$host};
   
 }  }
   
   
   
 #  #
 #  Performs a transaction with lonc.  #  Performs a transaction with lonc.
 #  By the time this is called, the transaction has already been  #  By the time this is called, the transaction has already been
Line 278  sub Transact { Line 315  sub Transact {
     } else {      } else {
  $request .= "\n";   $request .= "\n";
     }      }
     # Body is now built..      # Body is now built... transact with lond..
       
       my $answer = subreply($request, $host);
   
       print "$answer\n";
   
     print "$request";  
 }  }
 #  #
 #   Called to push a file to the remote system.  #   Called to push a file to the remote system.
Line 298  sub Transact { Line 338  sub Transact {
 #     tablefile - name of the file containing the table to push.  #     tablefile - name of the file containing the table to push.
 #     host      - name of the host to push this file to.       #     host      - name of the host to push this file to.     
 #  #
   #    >>>BUGBUG<<< This belongs in lonnet.pm.
   #
 sub PushFile {  sub PushFile {
     my $tablename = shift;      my $tablename = shift;
     my $tablefile = shift;      my $tablefile = shift;
Line 339  sub PushFile { Line 381  sub PushFile {
 #     process - The name of the process to reinit (lonc or lond).  #     process - The name of the process to reinit (lonc or lond).
 #     host    - The host in which this reinit will happen.  #     host    - The host in which this reinit will happen.
 #  #
   #   >>>BUGBUG<<<< This belongs  in lonnet.pm
   #
 sub ReinitProcess {  sub ReinitProcess {
     my $process = shift;      my $process = shift;
     my $host    = shift;      my $host    = shift;
Line 428  Usage: Line 472  Usage:
 =item strict  =item strict
 =item Getopt::Long  =item Getopt::Long
 =item English  =item English
   =item IO::Socket::UNIX
   
   =head1 KEY Subroutines.
   
 =head1  CATEGORIES  =head1  CATEGORIES
     Command line utility      Command line utility

Removed from v.1.12  
changed lines
  Added in v.1.13


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