WinRSH - Remote Shell for Windows 1.4
WinRSH32 - 32-bit Remote Shell for Windows 1.4
Written by William Cheung (wcheung@ee.ubc.ca)
Copyright (C) 1994 Cheung-Smith Ltd.
All Rights Reserved.

WinRSH is free software; you can redistribute it in any form you 
like but you cannot modify it.  If you find any bugs, feel free
to send me an email at wcheung@ee.ubc.ca.

Disclaimer
==========

WinRSH is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Good data processing procedure dictates that any program be
thoroughly tested with non-critical data before relying on it.
The user must assume the entire risk of using the program.
NEITHER AUTHOR NOR CHEUNG-SMITH LTD. SHALL BE HELD LIABLE FOR ANY 
KIND OF DAMAGES OR CLAIMS THAT DIRECTLY OR INDIRECTLY RESULT FROM 
USING THIS SOFTWARE.

Requirements
============

o An IBM-PC or compatible computer using 386 or above CPU with at
  least 4 MB RAM.
o Window Socket installed properly.
o A host supporting at least one of RSH or REXEC daemon.

Installation
============

1) In your autoexec.bat, add the following statement:

   set rshhost_dir=c:\winsock

   where "c:\winsock" is a directory that contains your host database
   file.  This file is usually called "hosts", but for Microsoft's
   Winsock implementation, this file is named "hosts.sam".  You must
   copy it to have the name "hosts",  If you do not have such a file
   because your machine relies completely on a domain name server (DNS),
   you can ignore this part.  The main purpose of this part is to allow
   the user to select some known hosts from a range of hosts.

2) For WinRSH:
   Move ctl3dv2.dll into your Windows installation directory.  This
   ctl3dv2.dll should only exist in your Windows installation directory
   on your machine or the module will complain about improper
   installation.

   For WinRSH32:
   Move ctl3d32.dll into your Windows installation directory.  This
   ctl3d32.dll should only exist in your Windows installation directory
   on your machine or the module will complain about improper
   installation.

3) Simply put winrsh.exe or winrsh32.exe in any directory you like 
   and include it in a group in the Program Manager.  Double click 
   on the WinRSH icon and there you go.

What's New
==========

WinRSH 1.4:

1. 32-bit support for WinRSH

2. Added a "-t" option to force the connection to close when the remote
   operation does not respond within a specified number of seconds.

3. For remote commands that do not return anything, WinRSH now disconnects
   gracefully.

4. Fixed a bug in storing previously used commands in the list.

WinRSH 1.3:

1. Multiple WinRSH sessions can be executed simultaneously.

2. When WinRSH is retrieving data from the network, the system will not
   appear "hang".

3. When WinRSH finishes, it will force the remote connection to close.

4. When an internet address is specified in the host name box, connection
   will be established as opposed to the previous version in which only
   the "connecting to xxx ..." is shown.

WinRSH 1.2:

1. Added the following command line options:
   -i - minimize WinRSH window upon start up
   -q - quiet mode - WinRSH will exit when the specified command is done
   -p - password - WinRSH will switch to REXEC if this option is used
   -o - output file name

2. The remote command input box is now changed to a dropped-down list
   where the most recently used commands are listed first.

WinRSH 1.11:

1. Fixed a command line bug.

2. Allow a remote command when inputting through the command line to 
   have arguments.

3. If the required options are not fully completed, connection is not
   established automatically.

4. The protocol automatically switches to RSH if all command line options
   are specified.

WinRSH 1.1:

1. Added "Save settings" option so that the same settings can be used
   every time WinRSH is executed.

2. Added optional command line arguments.  The usage of WinRSH is:

   winrsh [-l username] [-h hostname] [command]

   (The [] means the entry is optional.)

3. Added Output logging capability.  The output can be logged to a file.

4. Added Microsoft's 3D looking.

5. Upon starting WinRSH, the connection dialog box is automatically
   displayed.

WinRSH 1.0: 
First public release

User Manual
===========

Because WinRSH is a very simple program, a comprehensive manual is
not really needed.  Upon starting the program up, you will see three
menus.  Each menu is described below:

File Menu -> Connect...

  Establish a remote connection by filling in some remote host 
  information and the remote command to be executed.  You can select 
  either the RSH (Remote Shell) or REXEC (Remote EXEC) protocol.  The 
  difference between the protocol is that the latter one requires a 
  password and the former one does not.  When you press the connect 
  button, you will execute the command in your remote host.  After a 
  remote command is done, the remote host will be disconnected 
  automatically.

  For the remote command, you can either select a command from a list of
  commands that you have used previously, or enter a different one in
  the text box.  Currently, there is a maximum of 20 commands that you
  can store in the list.

File Menu -> Disconnect

  Use this option if you want to abort a connection for any reasons.

File Menu -> Open Log File

  Open the log file for viewing/editing.  This option requires that
  notepad.exe is in your search path.

File Menu -> Select Log File

  Allows the user to specify a default log file.  The default log file
  is "winrsh.log" which is located in your Windows installation directory.

Edit Menu -> Clear

  This option clears the screen.  Note: WinRSH can buffer up to
  a maximum of 200 lines.

Edit Menu -> Save Settings on Exit

  Save the current login information (except the password) for a later
  session.

Edit Menu -> Log Output

  Turns on/off the output logging capability of WinRSH.

Help Menu -> About

  This option displays information about WinRSH.

Command line usage
==================

The available command line options are:

-l username   - a valid user name on the remote host
-h hostname   - a valid remote host name
-o filename   - an output file name for the output of the command.
-p password   - a valid password for the user name.  WinRSH will use
                REXEC protocol if this option is specified instead of the
                default RSH protocol.
-t seconds    - specify the number of seconds WinRSH will wait before
                forcing the connection to close.  A value of zero means
                infinite waiting (default).
-i            - WinRSH minimizes itself if this option is specified.
-q            - WinRSH terminates itself when all data are received from
                the remote side.
command       - a valid command.  If the command contains arguments,
                a pair of double quotes (") should be put around the whole
                command, e.g. to connect to host "unixhost" with user 
                name "root" and remote command "ps ux", the required
                command line should be

                winrsh -l root -h hostname "ps ux"

                Please note that some command line processor will strip
                the double quote upon passing the arguments to WinRSH.  To
                get around with this, use \" instead of ".

To run WinRSH transparently, you can use options -i, -q and -o together.
For example,

winrsh -l root -h hostname -i -q -o output.txt "ps ux"

To run more than one command on the remote side, you can use a shell on
your remote host that accepts multiple commands on a single command line
such as "csh" or "tcsh".  Then, when using winrsh, use ";" to separate
the commands.  For example, to run "ps ux" followed by "ls", 

winrsh -l root -h hostname -i -q -o output.txt "ps ux; ls"

