SOME NOTES ABOUT THE FTP SERVER:

1.  You need to have at least *one* class defined in the ftpaccess file.
    In the next release, this will change.

2.  The ftpd(8) man page that came with your Operating System should do a
    good job of explaining how to set up the anonymous ftp hierarchy.
    At the very least, you will need ~ftp/bin (mode: 111 ---x--x--x)
    with a copy of "ls" (mode: 111 ---x--x--x) and ~ftp/etc 
    (mode: 111 ---x--x--x) with an /etc/passwd.

3.  Don't put encrypted passwords in ~ftp/etc/passwd.  In fact, all you
    really need is entries for root and ftp.  "ls" is the only part
    of the server that uses this file.

4.  Anonymous FTP may have some troubles on machines which use dynamic
    shared libraries.  The most common of these is SunOS 4.1.x.  You
    will have trouble with using the binaries in ~ftp/bin if those
    binaries were compiled using those shared libraries, as the
    chroot() that ftpd does for anonymous users to ~ftp means that
    those links to the static libraries are lost.  You cannot make a
    hard link or soft link to the libraries as the chroot will make
    those links meaningless. There are two ways to fix this:

    1) Track down, using ldd, all the shared libs used by each binary you
       want to put in ~ftp/bin.  Then copy these into their
       corresponding places in ~ftp: i.e., /usr/lib/ld.so must be
       copied into ~ftp/usr/lib/ld.so.  However, ldd does not always
       show all the files that a compiled program may try to reference;
       if you use trace you can see every system call a binary makes,
       and that should show you every dependency.  If you compiled with
       gcc, there are likely to be lots of references made.

    2) Recompile any binary you wish to put in ~ftp/bin (ls, gzip, gtar,
       etc) using the -Dstatic (or -static in gcc) option in the CFLAGS
       *and* LDFLAGS options in their respective makefiles.  You can
       get GNU versions of ls and gzip and everything else from
       wuarchive.wustl.edu.  This is the easiest and most foolproof
       method - the statically compiled binaries may be a tad bigger,
       but you can use strip to pare down the size.
    [thanks to Brian Behlendorf for rewriting #4 more elegantly.]

5.  Make sure that you have a /etc/shells that lists all valid shells on
    your system.  Otherwise, those who have shells not listed there will
    not be able to log in.  [Yes, this is the expected behaivor.]

    Under Solaris 2.1, there is no /etc/shells by default.

6.  Under Solaris 2.1, you need to have the following in ~ftp/dev
      crw-rw-rw-  1 root      11,  42 Mar 24 17:00 tcp
      cr--r--r--  1 root      13,  12 Mar 24 16:23 zero

7.  Under OSF/1, you need ~ftp/etc/sia/siainitgood.

8.  Under DEC Ultrix, you need ~ftp/etc/svc.conf

9.  NeXT systems:  You need a copy of /usr/shlib/libsys_s.B.shlib in 
    ~ftp/usr/shlib/libsys_s.B.shlib.  Make sure that ~ftp/usr, ~ftp/usr/shlib
    are mode 0555 (dr-xr-xr-x) and ~ftp/usr/shlib/libsys_s.B.shlib is mode 
    0444 (-r--r--r--).

10. If you are using this system under Linux, you will get lots of warnings
    about problems when you compile - Just ignore them...
    You will probably need at least libc4.3.3 and gcc2.3.3 to compile this..
    You will also get (for now at least) errors (sometimes) when you do an
    ls or dir command.. This is a bug in the current Linux libraries..
    It will say :-
    425 Can not build Data Connection. Transport Endpoint Already Connected.
    (Or something like that...) Just retype the ls/dir command until it works
    all other commands work fine..
                                [karl@hci.national-physical-lab.co.uk]

11. Certains files need to be inside the anonymous ftp hierarchy.
    They are all referenced after the chroot(~ftp):
        all messages (deny, welcome, etc.)
        shutdown 
        _PATH_EXECPATH

12. In order for shutdown to work properly for real, guest, and anonymous
    users -- you must create a link.  
    
    For example... if shutdown is defined to be /etc/shutmsg:
        root# ln -s ~ftp/etc/shutmsg /etc/shutmsg

    That way, when ftpshut creates the shutdown message, it will be
    within the real user space and the anonymous user space.

13. I would like to publically thank all the beta-testers that I have
    had for this release.  They are (in alphabetical order):

        ajudge@maths.tcd.ie
        amoss@cs.huji.ac.il (Amos Shapira)
        archive-admins@uunet.uu.net (UUNET Technologies)
        bartm@cv.ruu.nl (Bart Muyzer)
        corrigan@ucsd.edu
        datta@cs.uwp.edu (Dave Datta)
        eduard.vopicka@vse.cs (Eduard Vopicka)
        explorer@iastate.edu (Michael Graff)
        ghelmer@dsuvax.dsu.edu (Guy Helmer)
        gruner@informatik.tu-muenchen.de
        guenther@ira.uka.de
        jeff@onion.rain.com
        john.ladwig@soils.umn.edu (John Ladwig)
        kdb@unx.sas.com
        lenny@icus.com
        mau@ipifidpt.difi.unipi.it
        maw@paradigm.co.za
        mcb@compaq.com
        mike@atlas.physchem.chemie.uni-tuebingen.de
        mjo@fmsrl7.srl.ford.com (Mike J. O'Connor)
        mr@cica.indiana.edu (Mike Regoli)
        rich@Rice.edu
        sblair@dell.com
        steve@sccsi.com (Steve Nuchia)
        tin@smsc.sony.com
        x920031@rubb.rz.ruhr-uni-bochum.de

14. There are two mailing lists available that discuss the server.
    They are wu-ftpd and wu-ftpd-announce.  To subscribe to either 
    send a "subscribe <listname>" message to listserv@wunet.wustl.edu

15. If you use the server (and like it!) -- send me a note.  Since
    this project is funded from a grant, it would be nice to show the
    superiors how widely used it is.  If you have really bizarre
    problems that you can not figure out, feel free to mail me and I
    will try to help.  I warn you that response time may be a bit slow...
    But I will do my best to help.

--
Bryan D. O'Connor                            Internet: bryan@fegmania.wustl.edu
Software Engineer, wuarchive development        UUCP: ...!uunet!wuarchive!bryan
Office of the Network Coordinator                    BITNET: bryan@wunet.bitnet
Washington University in Saint Louis                     Phone: +1 314 935 7048
