Solved Problems and Sudden Discoveries
During writing of that project we faced several major and minor problems
and as well discovered yet unknown bugs and minor features in many famous
programs.
Most of the problems were solved but some probably remained (is there a
bug free software?) and are described below in "possible problems".
- We discovered that recv() into unallocated pointer hangs OSF/1 3.2
that it needs to be mechanically reset!
- We discovered that a special effort into making a macro for ~/.netrc
may core dump the regular ftp client!
- We discovered that when FTPd is being sent command 'pass' instead of
'PASS' (it's told to be case-unsensitive), it prints the entered
password into the log file, while it should've printed XXXX.
- We discovered that no extra spaces are allowed when issuing commands
to FTPd in a raw TCP/IP connection - 'LIST' would work, but
'LIST ' wouldn't.
- We discovered that if you issue a command to FTPd that requires an
argument without that argument you get yacc errors in log file.
- We discovered that last bytes of data connection from server may
arrive a bit later than the server's control message that the transfer
is complete and therefore reading for transfer complete should wait
for some seconds after it looks the remote file is copied into local
computer.
- We discovered that if you issue a list of files with a symbol and
wildcards it tries to recursively read directories that match, to
depth of 1, therefore you always have to list files using just '*'-
asterisk.
Possible Problems
We tried hard to prevent any problems that might arise. We still cannot
promise that all the features would work fullproof and you will not
get any problems. This code is FREEWARE, no WARRANTY whatsoever supplied.
Anyways, while working in bash and using remote file access we may
advise the following:
- Check the processes that are running under your username. An
FTP connection can still be running. You can safely kill it, if
you are sure it is not transferring a file.
- Be sure you use correct usernames, passwords or so, and that your
.netrc file is of right format. Make sure you can in fact connect
to the remote site (line isn't down), otherwise don't get surprised
when you get a failure notice. Check yourself with the FTP client,
especially running it with '-d' option - debug mode.
- One of Murphy's law says: When you put something into computer,
remember where you have put it.
- This package doesn't work if you have FTP accounting for it
is too rare and nearly obsolete.
- This package also doesn't work in systems that use passive mode -
we never had a chance to test our project on such one.
We hope you'll find this utility useful. We learned ourselves a lot while
writing it.
romm@empire.tau.ac.il
Last modified: Tue Oct 15 10:00:14 1996