The ftpd structure contains a complete anonymous ftp server.
Ftpd starts the server, using anonymous-home as the root directory of the server.The options argument can be constructed through a number of procedures with names of the form with-.... Each of these procedures either creates a fresh options value or adds a configuration parameter to an old options argument. The configuration parameter value is always the first argument, the (old) options value the optional second one. Here they are:ftpd-inetd is the version to be used from inetd. Ftpd-inetd handles the connection through the current standard output and input ports.
This specifies the port on which the server listens. Defaults to 21.
This specifies the home directory for anonymous logins. Defaults to
"~ftp".
This specifies an alternative greeting banner for those members of the Untergrund who prefer to remain covert. The banner is represented as a list of strings, one for each line of output.
If this is non-#f, exftpd outputs a log entry for each file sent or retrieved on output-port. Defaults to #f.
If dns-lookup? is #t, the log file will contain the host names instead of their IP addresses. If dns-lookup? is #f, the log will only contain IP addresses. Defaults to #f.The make-ftpd-options eases the construction of the options argument:
This constructs an options value from an argument list of parameter transformers and parameter values. The arguments come in pairs, each an option transformer from the list above, and a value for that parameter. Make-ftpd-options returns the resulting options value.
The log format of ftpd is the same as the one of wuftpd. The entries look like this:
Fri Apr 19 17:08:14 2002 4 134.2.2.171 56881 /files.lst b _ i a nop@ssword ftp 0 *
These are the fields:
Current date and time. This field contains spaces and is 24 characters long.
Transfer time in seconds.
Remote host IP (wu-ftpd puts the name here).
File size in bytes
Name of file (spaces are converted to underscores)
Transfer type: ascii or binary (image type).
Special action flags. As ftpd does not support any special action, it always has _ here.
File was sent to user (outgoing) or received from user (incoming)
Anonymous access
Anonymous ftp password.
Service name -- always ftp.
Authentication mode (always ``none'' = `0').
Authenticated user ID (always ``not available'' = `*')
The server also writes log information to the syslog facility. The following syslog levels occur in the output:
messages concerning connections (establishing connection, connection refused, closing connection due to timeout, etc.)
the execution of the STOR command
Its success (i.e.somebody is putting something on your server via ftp, also known as
PUT) is also logged at notice.
internal errors
Unix errors
reaching of actually unreachable case branches