FtpSettings Class
Namespace: Rebex.Net
Assembly: Rebex.Ftp.dll (version 7.0.9119)
Specifies various FTP settings.
Syntax
public class FtpSettings : SslSettings, IFtpSettings, ICloneable
Inherited Members
Constructors
Name | Description |
---|---|
FtpSettings() | Creates an instance of FtpSettings. |
Properties
Name | Description |
---|---|
AlwaysResolveServerName | Always resolves the server hostname by performing a DNS query. This means a DNS query will be done when using any proxy as well. |
As400ListingDateFormat | Forces listing date format on AS/400 like systems. Format is 'DMY' for day,month,year; 'MDY' for month, day, year; and so on. |
BackslashIsRemoteDirectorySeparator | Gets or sets a value that indicates whether the backslash '' is remote directory separator when working with paths (in addition to slash '/'). |
CompressionLevel | Gets or sets the compression level used when uploading in mode Z (Zlib). Possible values are 0-9, where 0 means no compression (fastest) and 9 means best compression (slowest). Default value is 6 (medium compression and speed). |
ConnectPassiveLater | Makes the passive mode transfer initialize the connection only after the LIST/NLST/RETR/STOR command has been sent. |
DisableImplicitAs400NameFormat | Gets or sets a value indicating whether to automatically issue |
DisableInvalidPassiveModeAddressWorkaround | Disables a workaround for FTP servers that announce private range IP addresses even though a public IP was used to connect to them. By default, when such server is detected, an IP address announced by the server in response to PASV command used is overrode with an IP used by the control connection. |
DisableProgressPercentage | Disables progress percentage reporting through TransferProgressChanged event. |
DoNotDetectFeatures | Disables feature detection using FEAT and other commands. |
DoNotSendAbort | Do not send the ABOR command when aborting download. |
DoNotSendSignals | Do not send abort signals when aborting download. |
EnableBrokenShutdownWorkaround | Gets or sets a value that indicates whether to enable a workaround for FTP/SSL servers which do not handle TLS 1.3 shutdown properly. |
EnableChecksumVerification | Gets or sets a value indicating whether to perform checksum verification after successful file transfer. Not available for methods with Stream arguments, the checksum is computed from file on disk. Use PreferredChecksumAlgorithm to specify the preferred checksum algorithm. |
EnableControlConnectionFlushing | Enables reading and throwing out any unexpected incoming responses when sending an FTP command. |
EnableDummyRenameForFileExists | Gets or sets a value that indicates whether to use RNFR/RNTO commands to determine remote file existence. Only supported for Windows CE FTP server. |
EnableFactsNegotiation | Gets or sets a value indicating whether to attempt to negotiate extended MLST/MLSD facts using OPTS MLST command. |
EnableMultipleBlockingCalls | Makes it possible to call multiple methods from different threads at once. The calls will block until the operation is completed. |
EnableStrictTransferShutdown | Gets or sets a value that indicates whether to use strict shutdown for data transfers with TLS 1.3. |
ForceActiveCcc | Forces the CCC command behavior that was used by older Rebex FTP releases. |
ForceExtendedDataChannelCommand | Gets or sets a value indicating whether to use EPSV/EPRT commands to initiate a data channel. |
ForceListHiddenFiles | Use "LIST -la" instead of "LIST" in GetList()/GetRawList() methods. |
ForceMdtmForGetFileDateTime | Forces MDTM command to be always used by GetFileDateTime(String) instead of MLST (which is used when available by default). |
ForceSimpleDirectoryExists | Specifies whether to just use a combination of PWD and CWD commands when determining remote directory existence. |
GetFileOpenRemoteFirst | Gets or sets a value that specifies whether to open the remote file first while downloading (before opening the local file). |
IgnorePassiveModeAddress | Overrides an IP address announced by the server in response to PASV command with an IP used by the control connection. |
KeepAliveDuringTransfer | Send NOOP command during file transfers every 10 minutes. |
KeepAliveDuringTransferInterval | Gets or sets the length of interval (in seconds) between NOOP commands sent during transfer when the Rebex.Net.FtpOptions.KeepAliveDuringTransfer option is enabled. |
MdtmSetTimeOffset | Gets or sets a time offset, which is added to date/time value when sending MDTM command to the FTP server. If this offset is set, other workarounds for MDTM command are disabled. |
MultiFileLinkMode | Gets or sets the default processing mode of detected links in multi-file operations. |
MultiFileMoveMode | Gets or sets the default move behavior in multi-file transfers. |
PauseBeforeUploadClose | Performs a small pause before closing the encrypted upload connection when the transfer is finished. Used as a workaround for servers that are unable to correctly handle the last block data if it is followed by a TLS CloseNotify message in the same TCP block. |
PreferredChecksumAlgorithm | Gets or sets the preferred checksum algorithm. Default is SHA1. Applies to multi-file transfers (with OverwriteDifferentChecksum). and single-file transfers (when EnableChecksumVerification has been enabled). |
PreferredChecksumType | Gets or sets the preferred checksum type for multi-file transfers. Default value is SHA1. This property will be deprecated. Please use PreferredChecksumAlgorithm instead. |
RaiseEventsFromCurrentThread | Specifies whether to raise asynchronous events from the current working thread or whether to raise them using a SynchronizationContext available when an asynchronous operation was started. |
RecheckItemExistence | In multi-file operations it forces checking, whether currently processing item still exists. |
RestoreDateTime | Gets or sets a value that indicates which date/time is restored after successful transfer if possible. Please note that FTP protocol supports LastWriteTime only (CreationTime and LastAccessTime are not supported). |
ReuseControlConnectionSession | Re-use control connection session for data connections. |
ReuseDataConnectionSession | Re-use data connection session for subsequent data connections (the control connection session is re-used otherwise). |
SendDataAsynchronously | Deprecated. Doesn't have any effect now. |
SkipDuplicateItems | Gets or sets a value that indicates whether to skip duplicate items in directory listings or whether to fail. |
SslAcceptAllCertificates | Specifies whether to accept all server certificates by default. This is strongly discouraged in production environment. Inherited from SslSettings. |
SslAllowedCurves | Gets or sets the group of allowed elliptic curves (for ECDHE cipher suites). Inherited from SslSettings. |
SslAllowedSuites | Gets or sets the group of allowed TLS/SSL cipher suites. Inherited from SslSettings. |
SslAllowedVersions | Gets or sets allowed TLS/SSL versions. Inherited from SslSettings. |
SslAllowVulnerableSuites | Gets or sets a value indicating whether vulnerable ciphers might be enabled using SslAllowedSuites property. Inherited from SslSettings. |
SslChannelBindingEnabled | Enables or disables secure channel binding. Only supported on Windows. Inherited from SslSettings. |
SslClientCertificateRequestHandler | Gets or sets TLS/SSL client certificate request handler. Inherited from SslSettings. |
SslDoNotInsertEmptyFragment | Do not send empty record after successful handshake with CBC ciphers. Inherited from SslSettings. |
SslEnableSilentClosure | Enables or disables the requirement for the other side of the connection to send closure alert (close_notify messages). This is in violation of the RFC and potentially opens the communication to truncation attack, but unfortunately it's needed when communicating with some broken TLS servers. When set to null, a behavior suitable for the application protocol is used, depending o whether the protocol is self-terminated. Only applies to TLS 1.2 or lower. Inherited from SslSettings. |
SslExtendedMasterSecretEnabled | Enables or disables extended master secret extension. Inherited from SslSettings. |
SslMinimumDiffieHellmanKeySize | Gets or sets the minimum allowed size (in bits) of the ephemeral Diffie-Hellman prime. Valid values are from 512 to 16384, inclusive. Inherited from SslSettings. |
SslRenegotiationExtensionEnabled | Enables or disables renegotiation indication extension. This option is deprecated, please use SslRenegotiationMode instead. Inherited from SslSettings. |
SslRenegotiationMode | Sets allowed renegotiation mode. Inherited from SslSettings. |
SslReuseSessions | Gets or sets a value indicating whether to reuse TLS/SSL sessions for data transfers. Default value is true. |
SslServerCertificateValidationOptions | Gets or sets validation options to use when validating a server certificate using the default certificate validator. This value is passed as Options as well. Inherited from SslSettings. |
SslServerCertificateVerifier | Gets or sets TLS/SSL server certificate verifier. Inherited from SslSettings. |
SslServerName | Gets or sets TLS/SSL server's common name. Inherited from SslSettings. |
SslServerNameIndicationEnabled | Enables and disables server name indication. Inherited from SslSettings. |
SslSession | Gets or sets a TLS/SSL session to resume. Inherited from SslSettings. |
SslStrictKeyUsageValidation | Gets or sets a key usage check mode for server certificate. Inherited from SslSettings. |
SslUpgradeType | Gets or sets the type of TLS/SSL initialization for explicit TLS/SSL mode. |
TcpKeepAliveInterval | Gets or sets the length of time in seconds that specifies the frequency of TCP keep-alive packets to be sent on idle FTP control connection. Use -1 or 0 to indicate that TCP keep-alive packets should not be sent. |
TimeComparisonGranularity | Gets or sets a value which specifies granularity for time comparisons. |
TimeoutAsynchronousMethods | Makes Timeout property affect asynchronous methods as well. By default, it only affects the synchronous methods. |
UploadCommand | Specifies FTP command for uploading files. STOR is used by default. |
UseDefaultDomain | Specifies whether to use default domain or NULL domain for SSPI if domain not specified. Inherited from SslSettings. |
UseLargeBuffers | Use larger receive buffer for incoming and outgoing data. |
UseLegacyPaths | Specifies whether to use old API style paths (relative) or new API style paths (absolute) in multi-file transfers. |
Methods
Name | Description |
---|---|
Clone() | Creates a new object that is a shallow copy of the current instance. |
GetNamedGroups() | Returns an enumerator that yields allowed named groups, in order of preference, for TLS 1.3. Inherited from SslSettings. |
GetPreferredSuites() | Gets collection of TLS cipher suites that are used (in given order) in preference to the remaining suites specified by SslAllowedSuites. Only applies to TLS 1.2 or earlier. For TLS 1.3, use GetSymmetricCipherSuites() method. Inherited from SslSettings. |
GetPskKeyExchangeModes() | Returns an enumerator that yields allowed pre-shared key exchange modes for TLS 1.3. Inherited from SslSettings. |
GetSignatureSchemes() | Returns an enumerator that yields allowed signature schemes in order of preference. Inherited from SslSettings. |
GetSymmetricCipherSuites() | Gets an enumeration of allowed symmetric cipher suites for TLS 1.3 and their order. See SetSymmetricCipherSuites(TlsSymmetricCipherSuite[]) for more info. Inherited from SslSettings. |
SetNamedGroups(TlsNamedGroup[]) | Sets allowed named groups, in order of preference, for TLS 1.3. Inherited from SslSettings. |
SetPreferredSuites(TlsCipherSuite[]) | Sets TLS cipher suites to be used in preference to the remaining suites specified by SslAllowedSuites. Only applies to TLS 1.2 or earlier. For TLS 1.3, use SetSymmetricCipherSuites(TlsSymmetricCipherSuite[]) method. Inherited from SslSettings. |
SetPskKeyExchangeModes(TlsPskKeyExchangeMode[]) | Sets allowed pre-shared key exchange modes for TLS 1.3. Inherited from SslSettings. |
SetSignatureSchemes(TlsSignatureScheme[]) | Sets allowed signature schemes in order of preference. Inherited from SslSettings. |
SetSymmetricCipherSuites(TlsSymmetricCipherSuite[]) | Specifies a list of allowed symmetric cipher suites for TLS 1.3 and their order. For TLS 1.2 and lower, use SslAllowedSuites property instead. Inherited from SslSettings. |
ToParameters() | Gets an instance of TlsParameters corresponding to these settings. Inherited from SslSettings. |
Explicit Interface Implementations
Name | Description |
---|---|
ICloneable.Clone() | Creates a new object that is a shallow copy of the current instance. |