Version History --------------- 1.70 - Initial Release 1.71 - Added ability to specify the IP address for listening for connections. This can be used if the host is multi-homed (has mulitple IP addresses) and you only want to listen on one. 1.80 - Added ability to specify the default window type of commands run through rsh. Specified in the Control Panel applet. - Now recognizes "internal" commands (DIR, TYPE, etc.) and prefixes with "cmd /c" automatically. Previously, this had to be specified in the rsh command. 1.81 - Corrected a memory/handle leak problem. 1.82 - When reading the options from the registry (specified in the Control Panel), the service was requiring full access to the registry options, including write access, even though it did not write. It now only requires read access, so if the service was originally created by an administrator and then changed to run in another user's context, that user will not need to be granted write access to RSHD/NT's registry entries. - Leading spaces in Control Panel options will be ignored. Previously, if you accidentally placed a leading space in front of an option in the Control Panel applet, its value would be ignored by RSHD/NT. - You will no longer receive an "End Task" dialog box if you log out while a program is being run through RSHD/NT. Previously, if a long-running program was run through RSHD/NT (by an rsh command) and the user on the workstation running RSHD/NT logged out, NT would display a dialog box asking if you want to wait for the task to end or end the task before it would allow you to log out. (If you pressed the End Task button, it would not end the program however.) 1.83 - When checking the Security File, the comparison of host names and user names is now not case sensitive. - If you are using a Mesassge File, RSHD/NT will now output the value of the PATH environment variable when RSHD/NT starts in the file. - Some changes were made that will allow RSHD/NT to service the rsh command in a limited manner when the service is NOT running as the user "System" (the default). This user is specified in the Services applet in the Control Panel. By default, RSHD/NT runs in the context of the special user "System". You can change the setup to have RSHD/NT run as a different user, thereby inheriting the security imposed on that user. However, Windows NT does not allow access to the NT desktop to any other user besides "System". So, when running as a non-System user, NT creates an invisible desktop and runs the programs on it. Since you cannot see this desktop, you will not be able to run interactive Windows programs through rsh if you do not run RSHD/NT as the System user. You will be able to use rsh to execute Console applications (and capture stdout/stderr) and non-interactive Windows programs. You will NOT be able to send keystrokes to any programs, however. 1.90 - New Control Panel Applet, using tabbed dialogs for easier use. - The RSH command will now work for certain commands when RSHD/NT is running in the context of a user other than System. It will allow you to run non-interactive commands only. You cannot send keys to the application, unless the user RSHD/NT is running as is logged in on the workstation. - In the RSHD/NT Control Panel applet, you can now specify a user and password to be used for all RCP copies. If you specify a valid user and password in those fields, when a file is copied from or to the system, RSHD/NT will log in as that user. It will read and write all files as that user, so any restrictions on that user will be in effect when reading files. Also, all files created will be owned by that user. This allows you to run RSHD/NT as the System user so all features of the rsh command are available, but allows you to enforce security for file copies. This also solves problems when accessing network drives, since the System user cannot access some network resources. - The Listen Backlog parameter now defaults to 100 instead of 5. Microsoft has increased the maximum limit from 5 to 100 in NT 3.51. - Previously, Windows NT specific errors were returned to the client as NT error numbers with no description. Now, if an NT specific error occurs, RSHD/NT will attempt to get the error description from Windows NT and return the description to the client. - There is now an option in the Control Panel applet to disable the detection of "internal" DOS commands, such as DIR and TYPE. This is useful if you are not using the standard NT command interpreter and you do not wand "cmd /c" to be prefixed to these commands. 1.91 - Was not changing time of the files created when the -p option of the RCP command was used to preserve file access/modification times. - Added more detailed messages at message level 4 when processing the Security File entries to aid in debugging. - The RSHD/NT setup program will now stop and delete the RSHD/NT service if it exists before copying files, so it is not necessary to stop the service before reinstalling. 2.00 - Capture of stdout/stderr is done in "real time" instead of being buffered until the end of the command. - RCP spoofing prefixes for Sun and VAX VMS are recognized internally, so they do not need to be specified in the Control Panel. - An incompatibility with Sun's RCP has been corrected. - Can specify a home directory for RCP copies. - Can specify an initial working directory for RSHD/NT. - Can specify a file containing environment variables, which will be set for commands execute through RSHD/NT. - Can specify a default command interpreter for internal commands. - Can specify a list of "internal" commands and the default command interpreter will be used for these commands. - Can disable rsh servicing, incoming rcp servicing, or outgoing rcp servicing. - Can limit rsh to executing a list of specified commands. - Can specify that the command interpreter is to be prefixed to every command. - Special commands available to shutdown or reboot the system using rsh. Use: rsh ntsystem "<[INTERNAL]>" shutdown or rsh ntsystem "<[INTERNAL]>" reboot "<[INTERNAL]>" can be abbreviated to "<[INT]>". - If the default window type is Minimized or Hidden and keystrokes are specified in the rsh command, the default window type is overridden and the program will be run in a normal window so that it receives the keystrokes. - In the RSHD/NT Control Panel applet, you can press to view help on the options available. 2.01 - Uses a different method of capturing stdout/stderr under NT 4.0, since Microsoft decided to break the way NT 3.51 handled it. - Corrected a problem that could occur when an rsh or rcp was aborted with an interrupt key before the connection was fully negotiated. It would continually attempt to establish the stderr channel with the now-disconnected rsh or rcp until it reached a certain limit. 2.02 - Was not processing multiple environment variable files if they were specified. - Could abort on very long commands if a message file was specified. 2.03 - Now turns on "keepalive" option by default. 2.04 - Internal release. 2.05 - Now redirects standard input also. Previously, it only sent stdout/stderr back to the rsh command. It will now read stdin from rsh. 2.06 - Found workaround for NT 4.0 so that sockets can be passed as stdout/sterr/stdin handles. Sockets are now used instead of pipes. - Corrected a problem with rcp where it would hang if you tried to rcp a zero-length file from the NT system with ASCII conversion enabled. - Added registry options (which must be set using REGEDT32) to allow disabling of the Nagle algorithm on the sockets used by RSHD/NT. The entries are: ListenNoDelay, ConnNoDelay, StderrNoDelay. Setting these to the string (REG_SZ) "1" will disable Nagle. Setting to "0" will enable. It is enabled by default. The entries must be placed in: \HKEY_LOCAL_MACHINE\Software\DenicompSystems\WRSHDNT\Setup (for NT) or: \HKEY_LOCAL_MACHINE\Software\DenicompSystems\WRSHD95\Setup (for 95). - Added an option to the rsh command that allows you to disable Nagle for specific commands. The option is specified like the window type options: "<[NODELAY]>". For example: rsh nt "<[NODELAY]>" command