Winsock RCP/RSH for Win32 Version History ----------------------------------------- Windows 3.1 16-bit Version History ---------------------------------- Version 1.0 - Initial Release Version 1.1 - Added -r option to RSH for redirection of output Added -a and -b option to RCP for ASCII conversion Version 1.2 - Corrected problem in RCP that would not allow recursive copies from a drive other than the current drive. RCP would find the filenames from the specified drive, but would try to read the data from the current drive, causing "File Not Found" errors. For example, the following would not work if the current drive was the C: drive: rcp -r a:\doc remhost:/usr/doc - RCP and RSH would only allow a host name to be used, not an IP address (i.e., a dotted-decimal address of the host). For example, the following would result in a "Record Not Found" error from Windows Sockets: rsh 89.0.0.8 ls -x or rcp 192.15.32.1:/usr/joe/file \doc For the technically curious, this occurred because the Windows Sockets "gethostbyname()" function only allows host names to be specified, unlike Unix, which allows both IP addresses and host names. RCP and RSH now determine whether or not you have specified a host name or IP address and adjusts accordingly. Version 1.3 - Corrected a problem with wildcards. Sometimes the last character of the directory name prefixing the wilcard was being thrown into the name, causing it to not find the files. - Corrected a memory leak. Version 1.4 - Will retry up to ten times when a Connection Refused error occurs. Version 1.42 - Added retry on Shutdown and Timeout errors. Added two options that can be placed in the [RCMD] section of WIN.INI: (The setting in the [RCMD] section sets the option for BOTH Winsock RCP and RSH) RetryError: Set this to the Windows Socket error number (usually between 10000 and 11000) that you want Winsock RCP/RSH to retry on when received when trying to connect to the remote host. This number should be POSITIVE, even though the Winsock RCP/RSH error window shows it as negative. RetryCount: The number of times Winsock RCP/RSH should retry when the Connection Refused, Shutdown, Timeout, or the error specified in the RetryError configuration option is received. The default is ten (10) times. Version 1.43 - Corrected problem with recursive copies. Version 1.50 - Correct problem with error handling in RCP. Add additional retries for Trumpet in RSH and RCP. Added 800 number for orders through PsL. Version 1.60 - Added REXEC utility. - Allows host name to appear before or after flags to be compatible with Unix syntax. - Officially added -h (hidden) option to RSH, REXEC, and RCP. - Added -t option to allow redirection and display of data in RSH and REXEC. - Speeded up display of RSH by reading in blocks of 512 bytes. - Allow Minimize option in WIN.INI to externally control window display. - Allow BufSize option in WIN.INI to control number of characters in each block of data read in RSH and REXEC. Version 1.60 - Added REXEC utility. Windows 32-bit Version History ------------------------------ Version 1.70 - Ported to Win32 and released. Version 1.80 - Corrected problem with WRSH and WREXEC that occured when lines were displayed that contained backspaces. Moved version up to 1.80 to be in sync with other products. Version 1.81 - Corrected problem with RCP and WRCP that added spurious characters to the destination file when ASCII conversion was used. - Changed to write redirected output in binary mode (no end-of-line conversion). If end-of-line conversion is desired, place the line "ASCII=1" in the [RSH] or [REXEC] section of WIN.INI. Version 1.82 - Would not allow a command to be sent to the host through RSH or REXEC if it began with an at-sign (@). This is because it used that to determine whether or not the command was actually a macro file. Now, you can specify two at-signs (@@) as the first two characters of a command and only one will be sent as the first character. Note that this is ONLY required when the @ should appear as the FIRST character of the command. For example, if the command for the remote host is "@mycmd", use "@@mycmd". Also, you can disable the macro capability altogether by adding "Macros=0" to the [RSH] or [REXEC] sections of WIN.INI (depending on whether you are using RSH or REXEC). This would then remove the requirement of placing @@ at the beginning of commands that begin with @. All commands will be sent unmodified. Version 1.83 - Added "-l" option to rcp/wrcp. This option will convert all filenames sent to the host system to lowercase, regardless of the case used on the command line. This is only of use when copying individual files, because by default, multi-file copies (using "-r" or wildcards) convert to lowercase unless the "-c" option is used. - You can now include the line "ASCII=1" in the [RCP] section of WIN.INI and rcp/wrcp will default to ASCII mode (with end-of-line conversions). This can be used instead of specifying the "-a" option on the command line. If you use this option, you must use the "-b" option to copy files without end-of-line conversion. - You can include the following options in the [RCP] section of WIN.INI. These options can turn on options that are normally specified on the command line. When specified in WIN.INI, it is not necessary to specify them on the command line. If an option is set in WIN.INI, it will affect ALL rcp/wrcp commands. There is no way to disable the option unless it is removed from the [RCP] section. The options are (along with equivalent command line option): Lower=1 Converts all filenames to lowercase (-l) PreserveCase=1 Preserves filename case (-c) Recursive=1 Recursively copy (-r) Verbose=1 Display filenames as copied (-v) (rcp only) NoDirs=1 Wildcards do not match directories (-d) CopyHidden=1 Wildcards will match hidden files (-f) PreserveTimes=1 Preserve file access/modification times (-p) WaitAtEnd=1 Wait for user to close window at end (-w) - You can include the option "WaitAtEnd=1" in the [RSH] and/or [REXEC] sections of WIN.INI. If you include this option, the rsh/wrsh/rexec/wrexec commands will automatically wait for you to close the window or press Enter at the end of the command. Normally, this requires the "-w" option. If you specify this option, "-w" is not necessary. Version 1.84 - Cleaned up retry logic when a timeout error occurs. - Added options available in [RCP] *and* [RCMD] section of WIN.INI: Debug=# When # is set to 1, debugging is enabled and trace messages are written to the file specified in the DebugFile entry. When set to 0, debugging is disabled. The trace messages help in troubleshooting problems with connections or parameter passing. If no file is specified, debugging will be disabled. Default is 0. DebugFile=filename When Debug is set to 1, this should be set to the full path name of a file where trace messages can be written. Note that with prolonged use, this file can get large. Default is blank. Note: These debugging options should be set in BOTH the [RCP] and [RCMD] sections of WIN.INI to the SAME values to enable full tracing. Note the use of the "[RCMD]" section and not "[RSH]". Version 1.85 - Corrected problem that could occur with -a option on RCP where previous contents of file were not overwritten completely if original file size was larger than the transferred file. - Standardized exit values for all programs: rsh, wrsh, rexec, wrexec: Exit Value: 0 - Command execution was successful 1 - Command execution was not successful 2 - An error occurred before exeuction (i.e. usage error, invalid host name, etc.) rcp, wrcp Exit Value: = 0 - An error occurred > 0 - Success. Exit value is the number of files transferred. (NOTE: If an error occurs and 0 is returned, if multiple files were being transferred, some may have successfuly transferred before the error.)