Next Previous Contents

3. Compliance with standards

The server is compliant with the basic Internet standards. Though there are several places where the standards are not strictly followed

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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
Hosted by uCoz