CFtpServer Option Constants  
 
Constant Description
FTP_SERVER_MULTIUSER
(0x0001)
This option specifies the server should be started in multi-user mode, where users are provided with their own home directories based on their username. If this option is not specified, then all users will share the server root directory by default. This option does not affect the maximum number of simultaneous client connections to the server. To isolate users to their own individual home directory, combine this option with the FTP_SERVER_RESTRICTED option.
FTP_SERVER_RESTRICTED
(0x0002)
This option specifies the server should be initialized in a restricted mode that isolates the server and limits the ability for clients to access files on the host system. All file transfers are limited to the user's home directory. This option also disables certain site-specific commands. This is a recommended option for general purpose applications designed to accept connections from clients over the Internet. This option is only meaningful if the FTP_SERVER_MULTIUSER option has also been specified. All clients are restricted to the server root directory and its subdirectories, regardless of whether this option is specified or not.
FTP_SERVER_LOCALUSER
(0x0004)
This option specifies the server should perform user authentication using the Windows local account database. This option is useful if the server should accept local usernames, or if the application does not wish to implement an event handler for user authentication. If this option is not specified, the application is responsible for authenticating all users.
FTP_SERVER_ANONYMOUS
(0x0008)
This option specifies the server should accept anonymous client connections. This is typically used to provide public access to files without requiring the client to have valid credentials on the server. Anonymous clients are automatically authenticated by the server, but are restricted to a public directory and subdirectories. If this option is enabled, it is recommended that you also specify the FTP_SERVER_READONLY option to prevent anonymous clients from uploading files to the server.
FTP_SERVER_READONLY
(0x0010)
This option specifies the server should only allow read-only access to files by default. If this option is enabled, it will change the default permissions granted to authenticated users. Anonymous clients will not be able to upload, rename or delete files and cannot create subdirectories. It is recommended that this option be enabled if the server is publicly accessible over the Internet and the FTP_SERVER_ANONYMOUS option has been specified.
FTP_SERVER_LOCALTIME
(0x0020)
This option specifies the server should return file and directory times adjusted for the local timezone. By default, the server will return all file times as UTC values. This option affects the time information sent to a client when a list of files is requested, as well as when status information is requested for a specific file. This option will not affect the MDTM and MFMT commands which always use file times as UTC values.
FTP_SERVER_LOCKFILES
(0x0040)
This option specifies that files should be exclusively locked when a client attempts to upload or download a file. If another client attempts to access the same file, the operation will fail. By default, the server will permit multiple clients to access the same file, although it will still write-lock files that are in the process of being uploaded.
FTP_SERVER_HIDDENFILES
(0x0080)
This option specifies that when a client requests a list of files in a directory, the server should include any hidden and system files files or subdirectories. By default, the server will not include hidden or system files, although they are still accessible to the client if it knows the name of the file. File names that begin with a period are also considered to be hidden files and will not normally be included in file listings.
FTP_SERVER_UNIXMODE
(0x0100)
This option specifies the server should impersonate a UNIX-based operating system. The server will identify itself as running on a UNIX system and directory listings will be in a format commonly used by UNIX. If this option is not specified, the server will identify itself as running on Windows NT and directory listings will be in the same format used by the Microsoft IIS FTP server. Note that this option does not affect the path delimiter used with file and directory names.
FTP_SERVER_EXTERNAL
(0x0200)
This option specifies the server is listening for client connections from behind a router that uses Network Address Translation (NAT). If enabled, the server will report its external IP address rather than the address assigned to it on the local network. For the server to accept connections from behind a NAT router, the router must be configured to direct inbound traffic to the specified port number on the host system.
FTP_SERVER_SECURE
(0x1000)
This option specifies that secure connections using SSL and/or TLS should be enabled. If neither the FTP_SERVER_EXPLICIT_SSL or FTP_SERVER_IMPLICIT_SSL options are specified, the server automatically determines the appropriate type based on the port number. If the local port number is 990, then implicit SSL will be used, otherwise explicit SSL will be used. This option requires that a valid SSL certificate be installed on the local host.
FTP_SERVER_EXPLICIT_SSL
(0x2000)
This option specifies the server will accept the AUTH TLS command and negotiate a secure connection with the client after that command is issued. This option implies the FTP_SERVER_SECURE option and requires that a valid SSL certificate be installed on the local host.
FTP_SERVER_IMPLICIT_SSL
(0x4000)
This option specifies the server should negotiate a secure connection with the client immediately after it connects to the server. It is recommended that you only use this option if the server is listening for connections on port 990, which is the standard port for FTP servers using implicit SSL. This option implies the FTP_SERVER_SECURE option and requires that a valid SSL certificate be installed on the local host.
FTP_SERVER_SECURE_FALLBACK
(0x8000)
This option specifies the server should permit the use of less secure cipher suites for compatibility with legacy clients. If this option is specified, the server will allow connections using TLS 1.0 and cipher suites that use RC4, MD5 and SHA1.

See Also

GetOptions, SetOptions