This is a modified version of the DIKU logging ftpd. Compared to the 
wuarchive ftpd this one is poor in features. This is on purpose, the
ftpd is complex enough as it is.

Use -S to turn on logging of anonymous transfers in /var/adm/ftp-log.
The -l flag is still there but inoperative.

I made a few changes with respect to the DIKU version. Original files
have a '-' at the end of the file name.

	Wietse Venema

- Rejected logins (shell not in /etc/shells, user in /etc/ftpusers)
  are always reported.

- Login failures are always reported, except a single login failure of
  an unknown account (to prevent logging of passwords). I have stolen
  some ideas from the 43BSD NET/1 login source.

- The "ls" command output now also lists directories, symlinks etc.
  this is for backwards compatibility.

- The initial chdir("/pub") is omitted.

- Workaround to load the timezone before entering the chroot tree.

- Fixed a bug in the openlog() library function call that caused
  log messages to mysteriously disappear. You still won't get any
  syslog messages after ftp has done a chroot("~ftp"), though.

- Changed the default umask to 022.

- Guest (anonymous) logins get a modified umask so that their uploads
  are by default not readable for other guest logins. This was a hack
  to prevent some individuals from using our server to distribute
  illegal copies of all kinds of stuff.  Anonymously-uploaded files can
  still be picked up by regular users. After all, that was the purpose
  of the upload faciltity.

- Motd text is now prefixed with 230-. Too many ftp clients would get
  confused. Added a lone 230 line at end or ftpmail clients would choke.

- Fixed a lot of malloc/free bugs when porting to Solarix 2.x.

- Always log ftp logins to the syslog daemon, just as with my other
  logdaemon stuff. This includes anonymous logins as well as regular
  logins. With over 150 workstations I have no time to scan all those
  wtmp files anymore.

- Use ANSI/POSIX where SYSV and BSD disagree.

- Site extensions (umask, chmod) disabled for anonymous logins.

- Passive mode can be forced to use a specific range of port numbers.
  Build after doing:

	setenv PASV_WINDOW "-DPASV_MIN_PORT=nnn -DPASV_MAX_PORT=mmm"

- This daemon rejects PORT commands that specify a privileged port
  or a third-party host.
