Next
Previous
Contents
The server is compliant with the basic Internet standards. Though there are
several places where the standards are not strictly followed
- As per RFC 959 the success return code for CWD is 250.
For CDUP it is 200. On Unix CDUP is actually a
special case of CWD (CWD ..), therefore this FTP server
implementation sends same return codes as in case of CWD. This shouldn't
be a problem for a client program because according to RFC 1123 the client
program should use the first digit of a reply code to determine whether a
command failed or was successful.
- For the sake of symmetry the return codes of PASV were made equal to return
codes of PORT. This is the same approach as used in FTP server from Berkley.
The comment, found in
FTPD.C
, states that this behavior was blessed by
Jon Postel.
- SITE CHMOD mode file returns the error code 550 if there is
some OS error. This code isn't mentioned in a list of possible return codes
for SITE. The code 550 is chosen because it applies better.
- The list of files returned by LIST has the same format as the output from
ls -l
with one exception. Libra FTP daemon does not print the identifiers
of file owners. There are several reasons to so. First of all, we do not want
to dispose user names to an attacker. And you don't need to provide access to
passwd
and group
files, NSS modules etc.
- The implementation of SITE NEWER (SITE MINFO) differs from the
implementation of WuFtpd. WuFtpd sends the list of files that match to given
conditions through the data connection. This approach assumes that you have a
special client program who knows it should open the data connection. Regular
FTP client programs cannot utilize these commands because they fail to work
that way. Libra FTP daemon returns the list of files through the control
connection like for STAT path. This is compatible with all client
programs.
Next
Previous
Contents