The FTP4ALL Daemon Protocol (F4ADP)
(daemon internals, for programmers only)
Overview
The F4ADP defines commands that are implemented in the F4A daemon (ftpd).
Over this protocol you can access the daemon directly. It defines commands
to manipulate users, groups and the server in general. This is excatly the
protocol that the two server processes ftps and ftpd communicate
with. Also, an admin tool can directly communicate with ftpd over this
protocol. This documentation is intended for users who want to write or
improve an admin tool.
Connecting to ftpd
To connect, simply establish an TCP connection to the admin port of ftpd.
Loggin into ftpd
Use the command ULP to log in. You must log in before you can interact
with ftpd.
Interacting with ftpd
You can send commands to ftpd, requesting information or telling it what to do.
A command is a line of text with a command string and several parameters. The
line must be terminated with a LINEFEED. The commands are three to seven letters
in uppercase and are are listed on the left.
ftpd answers to a command with a single line of text. In
some cases the answer may consist of several lines. The first character of the
reply is either + (plus) or - (minus), indicating if the
command succeeded (plus) or failed (minus). In the case of failure, the reply
is an human-readable error message. In the case of success, the reply is
either a human-readable success message, or the information that you requested.
The messagges or information start at the second character. Any command can
fail, even if it is not mentioned in the description of the command.
Arguments to commands must be delimited by whitespace (SPACE or TAB).
If an argument contains whitespace, it must be surrounded with quotes, either
single or double.
Logging out of ftpd
To log out, simply close the connection. There is no need to send a logout
command (but feel free to use QUIT if you want).