wrcp Version 0.91 Copyright (c) 1994, Gregorian Programmers Guild Windows Socket rcp client Written by Steeve McCauley steeve@stoner.eps.mcgill.ca Description ----------- This is an rcp client for Windows sockets version 1.1. I provide the program as freeware and will not accept any responsibility for its use or abuse. Also note that there is no warranty express or implied. Use it at your own risk. Changes since 0.9 ----------------- - fixed problem forming a correct path when recieving files to the root directory of the hard disk. Changes since 0.4 beta ---------------------- - added a 'backup' option. By this I mean, that when sending files to a remote host, you can have the program only send files that are x days old or newer. See the options dialog. - did a whole bunch 'o tweaking here and there and was too lazy to document the changes I was making so you'll just have to believe me. Changes since 0.3 beta ---------------------- - added an options dialog ... o Minimise program on send o Minimise on receive o sound when done o save settings o password protect - When receiving a remote directory the last part of the remote path is stripped and appended to the local current directory - When receiving a file that is NOT a valid 8.3 dos file spec a dialog box prompts you to enter a valid name, otherwise files are copied as is - added an Abort button on sends (I will also add this to the receive side, REAL SOON NOW) Changes since 0.2 beta ---------------------- - cleaned up the interface (moved controls about) - copies are A LOT faster now that the progress is displayed as the number of bytes copied rather than printing out the silly little dots to the edit control. (Tranfer rates went from about 20K/sec to about 90K/sec between my windows machine and my unix machine). - added a filter edit control to change directory listing filter. - fixed a couple of problems related to receiving directories recursively. - the edit control is no longer read only - added a scroll bar to the edit control Changes since 0.1 beta ---------------------- - the program can now recieve files from a remote host but only when the copy is initiated locally (that is, the program is not set up to respond to a remsh request to send or recieve files) - the program has drag and drop abilities. First you have to set up the remote host and specify a default destination in the main program screen. You also have to specify a 'local user'. It is a good idea to specify a remote directory and then click on the 'dest must be directory' button. Setting up Remote Host ---------------------- You will have to configure the remote host to accept remote logins from your Windows box. Login to the remote and edit your .rhosts file to include your windows IP address and a suitable local user name (you can set the local user name in the main program screen). Each line the the .rhosts file looks something like, my.ip.address myname where the address represents a remote host which will be allowed access to your account. Note that this file must be owned by you. See the man page for hosts.equiv. It may also be possible to do this between different windows boxes but I have not tried it at this point. Sending Files / Dirs Interactively ---------------------------------- Assuming that you have set up your remote host to accept remote requests from your windows machine it is quite simple to send files. First set the remote user/host and directory (or file) and then select the files/directories that you want to send. Click on send and off they go. If you've selected a directory, you will probably want to also click the recurse directories button (otherwise the send will fail). Click on preserve attributes to preserve file time/date stamps. If you want the remote to be a directory (the entry in the 'Dir / File' edit control, click on the dest must be a directory button. Receiving Files / Dirs Interactively ------------------------------------ Type in the name of the file or directory into the 'Dir / File' edit control in the remote options section. If you've specified a remote directory you'll also want to click on 'recurse subdirectories'. Note that I have opted to strip off the last part of the remote file or dir so that if you specified /users/ted/mydir and were in the directory c:\files when you clicked Receive, the files in the remote directory would be recursively copied to c:\files\mydir. If you click on the 'dest must be directory' button, then the dir c:\files\mydir in the above example must already exist. Using the Command Line ---------------------- The program runs automatically if you supply command line options. If the command completes successfully the program closes automatically. Otherwise an error message will be printed. wrcp [-p] f1 f2 -p - preserve file date/time f1 - local file (specifies the full path to the file to be copied to the remote host) f2 - specifies the name of the full path of the file on the remote host. This is specifed as [user@]host:/path/to/destination/file. eg. wrcp -p c:\windows\win.ini john@unix.box.org:/home/john/win.ini wrcp [-p] [-r] [-d]] f1 ... fn directory -p - same -r - recursively copy directories -d - specifies that the remote directory must already exist f1 - first file (or dir if -r has been specified) to be copied. fn - last file ... to be copied. directory - remote destination directory as [user@]host:/path/to/dir CAVEATS ------- - it is difficult to deal with the file system differences when recieving files so the program prompts you for the destination file name before copying the file. I should probably put some logic into the program to first determine whether the file will be a valid 8.3 filename before prompting the user for assistance. - as of now you can only receive one file or directory at a time. - can't set directory date/time attributes when recieving (DOS can be a real pain sometimes) - note that I am currently saving some of the remote options when the program is exited. This is a potential security risk and should probably be made an option. BUGS ---- - it may not be possible (well easy anyway) to get the program to act as a 'rcp deamon'. I'll have to experiment with this. This would require having a remsh deamon always running on the local machine. - one of these days I'll write a help file. The program is an port/adaptation of the bsd rcp code. As such I include below the copyright notice and all the other legal mumbo jumbo. /***************************************************************************** Copyright (c) 1983, 1990 The Regents of the University of California. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors. 4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/