SEMI-IMPORTANT RELEASE NOTES
This is an INTERIM release of my modified FTP server. Because work on
the server has been stalled for a long time, and because lots of people
seem to want to do the things this server DOES do, I'm releasing this
version. To the best of my knowledge, it works and has no major bugs.
The features are all incremental, and with one exception, are
completely compatible with existing FTP clients. The exception is the
multi-line messages the server will use to respond to many commands
when some features are enabled, for example:
OLD STYLE FTP
ftp> cd /pub
220 CWD command successful.
THIS FTP
ftp> cd /pub
220-Please read the file README
220- it was last modified on Thu Feb 21 10:35:09 1991 - 214 days ago
220 CWD command successful.
Some of the older FTP clients, which do not conform to the FTP
specifications, barf on these multi-line messages. Multi-line messages
can be disabled on a per-connection basis by using a dash (-) as the
first character of the user's password.
REALLY IMPORTANT RELEASE NOTES
The next release of the FTP server is going to include some significant
changes. The most important one is that the logging format for file
transfers is going to be completely different, and quite incompatible.
There will probably *NOT* be any program provided to convert your old
logfiles to the new format.
SOME CAVEATS
I've tested the server on a number of different machines around campus,
and I believe that it can be made to work on most BSD-compatible
systems with a minimal amount of work. I welcome any and all bug
reports you may have, but *PLEASE* do not send me any "foo system"
compatibility patches. The server isn't finished yet because I don't
have time to work on it, so do you really think that I have time to
integrate your patches for a system that I have no way to test them
on?!
INSTALLATION INSTRUCTIONS
1. make depend
(mkdep is in support/mkdep if you need it).
On some systems you may need to change the line that reads "cc -M $*"
to "cc -Em $*" to get mkdep to work -- even more bizarre changes
made be needed on other systems. If you can't get mkdep to work
fairly easily, SKIP THIS STEP, it's not essential and you don't
need to bang your head on the wall at this early point in the
betatest.
[note: the make depend step is really only important if you are
making changes to the code and don't want to re-compile everything
every time. If you cannot get make depend to work, just do a
"make clean all" in step 5.]
2. edit Makefile, changing variables as appropriate
BINDIR where normal (user) binaries are stored
ETCDIR where system binaries are stored
MANDIR where manpages are stored
MISSINGOBJS what library routines your system is missing:
one or more of: getusershell.o fnmatch.o strerror.o
strsep.o getgrent.o authuser.o
NOTE: ftpd requires the latest Berkeley getgrent code. If the linker
complains about setgroupent(), you must include getgrent.o as
part of MISSINGOBJS. This code doesn't deal with hesiod serving
of groups, passwords, etc... only /etc/group.
3. edit pathnames.h to conform to your needs, edit support/paths.h as well
4. create an ftpaccess file if you want one (as a betatester you SHOULD)
5. make
If cc complains about strunames, typenames, modenames, ... being undefined
you need to install support/ftp.h as /usr/include/arpa/ftp.h (always make
a backup of the old ftp.h just in case!) and do the make again. The new
ftp.h should be a compatible superset of your existing ftp.h, so you
shouldn't have problems with this replacement.
6 make install
7. edit /etc/inetd.conf to point to the new ftpd
8. kill -1 `ps t"?" | grep inetd`
9. for the server to support creation of .tar.Z files of directories, you
need GNU tar installed [remember to put a copy in the anonymous ftp
hierarchy]. If you need a copy, it is available from
wuarchive.wustl.edu [128.252.135.4] in /gnu.
10. copy /wherever/compress to ~ftp/bin/compress and put a link to
/wherever/compress in /bin.
NOTES: Some machines may not have a definition of pid_t; so if your compiler
complains about this you should add (in all the appropriate places)
typedef int pid_t;
Chris Myers Internet: chris@wugate.wustl.edu
Software Engineer UUCP: ...!uunet!wuarchive!chris
Office of the Network Coordinator BITNET: chris@wunet.bitnet
Washington University in Saint Louis Phone: +1 314 935 7390
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.