Constant |
Description |
FTP_OPTION_PASSIVE |
This option specifies the client should attempt to
establish the data connection with the server. When the client
uploads or downloads a file, normally the server establishes a
second connection back to the client which is used to transfer
the file data. However, if the local system is behind a
firewall or a NAT router, the server may not be able to create
the data connection and the transfer will fail. By specifying
this option, it forces the client to establish an outbound data
connection with the server. It is recommended that applications
use passive mode whenever possible. |
FTP_OPTION_FIREWALL |
This option specifies the client should always use the
host IP address to establish the data connection with the
server, not the address returned by the server in response to
the PASV command. This option may be necessary if the server is
behind a router that performs Network Address Translation (NAT)
and it returns an unreachable IP address for the data
connection. If this option is specified, it will also enable
passive mode data transfers. |
FTP_OPTION_NOAUTH |
This option specifies the server does not require
authentication, or that it requires an alternate authentication
method. When this option is used, the client connection is
flagged as authenticated as soon as the connection to the
server has been established. Note that using this option to
bypass authentication may result in subsequent errors when
attempting to retrieve a directory listing or transfer a file.
It is recommended that you consult the technical reference
documentation for the server to determine its specific
authentication requirements. |
FTP_OPTION_KEEPALIVE |
This option specifies the client should attempt to
keep the connection with the server active for an extended
period of time. It is important to note that regardless of this
option, the server may still choose to disconnect client
sessions that are holding the command channel open but are not
performing file transfers. |
FTP_OPTION_NOAUTHRSA |
This option specifies that RSA authentication should not be
used with SSH-1 connections. This option is ignored with SSH-2
connections and should only be specified if required by the
server. This option has no effect on standard or secure
connections using SSL. |
FTP_OPTION_NOPWDNUL |
This option specifies the user password cannot be
terminated with a null character. This option is ignored with SSH-2
connections and should only be specified if required by the
server. This option has no effect on standard or secure
connections using SSL. |
FTP_OPTION_NOREKEY |
This option specifies the client should never attempt
a repeat key exchange with the server. Some SSH servers do not
support rekeying the session, and this can cause the client to
become non-responsive or abort the connection after being
connected for an hour. This option has no effect on standard or
secure connections using SSL. |
FTP_OPTION_COMPATSID |
This compatibility option changes how the session ID is
handled during public key authentication with older SSH
servers. This option should only be specified when connecting
to servers that use OpenSSH 2.2.0 or earlier versions. This
option has no effect on standard or secure connections using
SSL. |
FTP_OPTION_COMPATHMAC |
This compatibility option changes how the HMAC
authentication codes are generated. This option should only be
specified when connecting to servers that use OpenSSH 2.2.0 or
earlier versions. This option has no effect on standard or
secure connections using SSL. |
FTP_OPTION_VIRTUALHOST |
This option specifies the server supports virtual
hosting, where multiple domains are hosted by a server using
the same external IP address. If this option is enabled, the
client will send the HOST command to the server upon
establishing a connection. |
FTP_OPTION_VERIFY |
This option specifies that file transfers should be
automatically verified after the transfer has completed. If the
server supports the XMD5 command, the transfer will be verified
by calculating an MD5 hash of the file contents. If the server
does not support the XMD5 command, but does support the XCRC
command, the transfer will be verified by calculating a CRC32
checksum of the file contents. If neither the XMD5 or XCRC
commands are supported, the transfer is verified by comparing
the size of the file. Automatic file verification is only
performed for binary mode transfers because of the end-of-line
conversion that may occur when text files are uploaded or
downloaded. |
FTP_OPTION_TRUSTEDSITE |
This option specifies the server is trusted. The
server certificate will not be validated and the connection
will always be permitted. This option only affects connections
using either the SSL or TLS protocols. |
FTP_OPTION_SECURE |
This option specifies the client should attempt to
establish a secure connection with the server. This option is
the same as specifying FTP_OPTION_SECURE_IMPLICIT which
immediately performs the SSL/TLS protocol negotiation when
the connection is established. |
FTP_OPTION_SECURE_IMPLICIT |
This option specifies the client should attempt to
immediately establish secure SSL/TLS connection with the server. This
option is typically used when connecting to a server on port
990, which is the default port number used for FTPS. |
FTP_OPTION_SECURE_EXPLICIT |
This option specifies the client should establish a
standard connection to the server and then use the AUTH command
to negotiate an explicit secure connection. This option is
typically used when connecting to the server on ports other
than 990. |
FTP_OPTION_SECURE_SHELL |
This option specifies the client should use the Secure
Shell (SSH) protocol to establish the connection. This option
will automatically be selected if the connection is established
using port 22, the default port for SSH. |
FTP_OPTION_SECURE_FALLBACK |
This option specifies the client should permit the use
of less secure cipher suites for compatibility with legacy
servers. If this option is specified, the client will allow
connections using TLS 1.0 and cipher suites that use RC4, MD5
and SHA1. |
FTP_OPTION_TUNNEL |
This option specifies that a tunneled TCP connection and/or
port-forwarding is being used to establish the connection to
the server. This changes the behavior of the client with
regards to internal checks of the destination IP address and
remote port number, default capability selection and how the
connection is established. This option also forces all
connections to be outbound and enables the firewall
compatibility features in the client. |
FTP_OPTION_KEEPALIVE_DATA |
This option specifies the client should attempt to keep the
control connection active during a file transfer. Normally, when a data
transfer is in progress, no additional commands are issued on
the control channel until the transfer completes. Specifying
this option automatically enables the FTP_OPTION_KEEPALIVE
option and forces the client to continue to issue NOOP commands
during the file transfer. This option only applies to FTP and
FTPS connections and has no effect on connections using SFTP
(SSH). |
FTP_OPTION_PREFER_IPV6 |
This option specifies the client should prefer the use of
IPv6 if the server hostname can be resolved to both an IPv6 and
IPv4 address. This option is ignored if the local system does
not have IPv6 enabled, or when the hostname can only be resolved
to an IPv4 address. If the server hostname can only be resolved
to an IPv6 address, the client will attempt to establish a
connection using IPv6 regardless if this option has been
specified. |
FTP_OPTION_FREETHREAD |
This option specifies the handle returned by this
function may be used by any thread, and is not limited to the
thread which created it. The application is responsible for
ensuring that access to the handle is synchronized across
multiple threads. |
FTP_OPTION_HIRES_TIMER |
This option specifies the elapsed time for data
transfers should be returned in milliseconds instead of seconds.
This will return more accurate transfer times for smaller files
being uploaded or downloaded using fast network connections. |
FTP_OPTION_TLS_REUSE |
This option specifies that TLS session reuse should be
enabled for secure connections. This option is only supported on
Windows 8.1 or Windows Server 2012 R2 and later platforms, and it
should only be used when explicitly required by the server. This
option is not compatible with servers built using OpenSSL 1.0.2
and earlier versions which do not provide Extended Master Secret
(EMS) support as outlined in RFC7627. |