Rebex
Products Downloads Buy Support Contact
Show / Hide Table of Contents

FtpSettings Class

Namespace: Rebex.Net
Assembly: Rebex.Ftp.dll (version 7.0.9147)

Specifies various FTP settings.

Syntax
public class FtpSettings : SslSettings, IFtpSettings, ICloneable
Inheritance
Object
SslSettings
FtpSettings
Implements
IFtpSettings
ICloneable
Inherited Members
SslSettings.GetNamedGroups()
SslSettings.GetPreferredSuites()
SslSettings.GetPskKeyExchangeModes()
SslSettings.GetSignatureSchemes()
SslSettings.GetSymmetricCipherSuites()
SslSettings.SetNamedGroups(TlsNamedGroup[])
SslSettings.SetPreferredSuites(TlsCipherSuite[])
SslSettings.SetPskKeyExchangeModes(TlsPskKeyExchangeMode[])
SslSettings.SetSignatureSchemes(TlsSignatureScheme[])
SslSettings.SetSymmetricCipherSuites(TlsSymmetricCipherSuite[])
SslSettings.SslAcceptAllCertificates
SslSettings.SslAllowedCurves
SslSettings.SslAllowedSuites
SslSettings.SslAllowedVersions
SslSettings.SslAllowVulnerableSuites
SslSettings.SslChannelBindingEnabled
SslSettings.SslClientCertificateRequestHandler
SslSettings.SslDoNotInsertEmptyFragment
SslSettings.SslEnableSilentClosure
SslSettings.SslExtendedMasterSecretEnabled
SslSettings.SslMinimumDiffieHellmanKeySize
SslSettings.SslRenegotiationExtensionEnabled
SslSettings.SslRenegotiationMode
SslSettings.SslServerCertificateValidationOptions
SslSettings.SslServerCertificateVerifier
SslSettings.SslServerName
SslSettings.SslServerNameIndicationEnabled
SslSettings.SslSession
SslSettings.SslStrictKeyUsageValidation
SslSettings.ToParameters()
SslSettings.UseDefaultDomain
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()

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 SITE NAMEFMT 1 command when AS/400 system is detected in a batch operation such as Download(String, String, TraversalMode) or Upload(String, String, TraversalMode). Default is false, which means the SITE NAMEFMT 1 is issued.

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.

In This Article
  • Constructors
  • Properties
  • Methods
  • Explicit Interface Implementations
© REBEX ČR s.r.o. Back to top
Privacy policy
Manage cookies