ProFTPD module mod_facts



File "Facts" Support

The mod_facts module is ProFTPD's module for handling the MLSD and MLST commands, in support of RFC 3659. In addition, the mod_facts module implements the MFF and MFMT commands defined in:

  http://www.ietf.org/internet-drafts/draft-somers-ftp-mfxx-04.txt

This module is contained in the mod_facts.c file for ProFTPD 1.3.x, and is compiled by default.

The most current version of mod_facts can be found in the ProFTPD source distribution:

  http://www.proftpd.org/

Directives


FactsAdvertise

Syntax: FactsAdvertise on|off
Default: FactsAdvertise on
Context: server config, <VirtualHost>, <Global>
Module: mod_facts
Compatibility: 1.3.2rc2 and later

The FactsAdvertise directive is used to control whether the mod_facts module advertises its MLST support via the FEAT command.

By default, the mod_facts module will list MLST in the FEAT response. FTP clients use this to determine whether to use the newer MLSD/MLST commands, or the older LIST/NLST commands. Some FTP clients, though, will attempt to use the newer commands just as if they were equivalent to the older commands, including supporting glob/wildcard characters. Section 2.2.2 of RFC3659 explicitly states that wildcard characters are not supported in the MLSD and MLST commands. Thus, to prevent problems when using such FTP clients with proftpd, you can disable the advertising of support for those commands using e.g. the following in your proftpd.conf:

  <IfModule mod_facts.c>
    FactsAdvertise off
  </IfModule>

Frequently Asked Questions

Question: Why does MLSD list all of the files in a directory, including the "hidden" files, where the LIST command does not?
Answer: The MLSD and MLST commands do not have any notions of "options" like the LIST and NLST commands do; there is no way for a client, in the request to list the files in a directory, to ask the server to filter the list of files somehow. Instead, MLSD contains a list of "facts" for each file in its list; the client then has to to decide how to filter the list of files based on those facts. This is why the ListOptions directive has no influence over the MLSD and MLST commands.



Author: $Author: castaglia $
Last Updated: $Date: 2011/03/01 06:17:06 $


© Copyright 2007-2011 TJ Saunders
All Rights Reserved