Platforms to show: All Mac Windows Linux Cross-Platform
Back to CURLSMBS class.
CURLSMBS.OptionAbstractUnixSocket as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
(Read and Write property)
See also ABSTRACT_UNIX_SOCKET option in CURL manual.
CURLSMBS.OptionAcceptEncoding as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 13.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Three encodings are supported: identity, which does nothing, deflate which requests the server to compress its response using the zlib algorithm, and gzip which requests the gzip algorithm. If a zero-length string is set, then an Accept-Encoding: header containing all supported encodings is sent.
This is a request, not an order; the server may or may not do it. This option must be set (to any non-NULL value) or else any unsolicited encoding done by the server is ignored. See the special file README.encoding for details (included with CURL source code).
(Read and Write property)
Some examples using this property:
See also ACCEPT_ENCODING option in CURL manual.
CURLSMBS.OptionAcceptTimeoutMS as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
(Read and Write property)
See also ACCEPTTIMEOUT_MS option in CURL manual.
CURLSMBS.OptionAddressScope as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 10.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
(Added in CURL 7.19.0)
(Read and Write property)
See also ADDRESS_SCOPE option in CURL manual.
CURLSMBS.OptionAppend as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 15.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
This is only useful when uploading to an ftp site.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)
Some examples using this property:
See also APPEND option in CURL manual.
CURLSMBS.OptionAutoReferer as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)
See also AUTOREFERER option in CURL manual.
CURLSMBS.OptionAWSSigV4 as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 21.1 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Pass a text that is the collection of specific arguments are used for creating outgoing authentication headers. The format of the param option is:
provider1[:provider2[:region[:service]]]
provider1, provider2:
The providers arguments are used for generating some authentication parameters such as "Algorithm", "date", "request type" and "signed headers".
region:
The argument is a geographic area of a resources collection. It is extracted from the host name specified in the URL if omitted.
service:
The argument is a function provided by a cloud. It is extracted from the host name specified in the URL if omitted.
Note: This call set CURLOPT_HTTPAUTH to CURLAUTH_AWS_SIGV4. Calling CURLOPT_HTTPAUTH with CURLAUTH_AWS_SIGV4 is the same as calling this with "aws:amz" in parameter.
Example with "Test:Try", when curl will do the algorithm, it will generate "TEST-HMAC-SHA256" for "Algorithm", "x-try-date" and "X-Try-Date" for "date", "test4_request" for "request type", "SignedHeaders=content-type;host;x-try-date" for "signed headers"
If you use just "test", instead of "test:try", test will be use for every strings generated
By default, the value of this parameter is empty. Calling CURLOPT_HTTPAUTH with CURLAUTH_AWS_SIGV4 is the same as calling this with "aws:amz" in parameter.
(Read and Write property)
See also AWS_SIGV4 option in CURL manual.
CURLSMBS.OptionBufferSize as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
The main point of this would be that the write event gets called more often and with smaller chunks. This is just treated as a request, not an order. You cannot be guaranteed to actually get the given size. (Added in 7.10)
This size is by default set as big as possible (OptionMaxWriteSize), so it only makse sense to use this option if you want it smaller.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
For slow upload/downloads, it may be better to set buffer size to 1 MB with OptionUploadBufferSize or OptionBufferSize properties to make transfers faster.
(Read and Write property)
Some examples using this property:
See also BUFFERSIZE option in CURL manual.
CURLSMBS.OptionCACacheTimeout as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 23.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Pass a number, this sets the timeout in seconds. This tells libcurl the maximum time any cached certificate store it has in memory may be kept and reused for new connections. Once the timeout has expired, a subsequent fetch requiring a certificate store will have to build a new one.
Building a certificate store from a CAINFO file (see OptionCAInfo) is a slow operation so curl may cache the generated certificate store internally to speed up future connections.
Set to zero to completely disable caching, or set to -1 to retain the cached store remain forever. By default, libcurl caches this info for 24 hours.
(Read and Write property)
See also CA_CACHE_TIMEOUT option in CURL manual.
CURLSMBS.OptionCAInfo as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
This makes sense only when used in combination with the OptionSSLVerifyPeer option. If OptionSSLVerifyPeer is false, OptionCAINFO need not even indicate an accessible file.
Note that option is by default set to the system path where libCURL's cacert bundle is assumed to be stored, as established at build time.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
Starting with version 18.0 the plugin will always use UTF-8 encoding for file path on Linux and macOS. For macOS we also do the unicode character normalization for file names for you.
(Read and Write property)
Some examples using this property:
See also CAINFO option in CURL manual.
CURLSMBS.OptionCAInfoBlob as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 21.3 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Certificate Authority (CA) bundle in PEM format passed PEM encoded content holding one or more certificates to verify the HTTPS server with.
(Read and Write property)
See also CAINFO_BLOB option in CURL manual.
CURLSMBS.OptionCAPath as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
The certificate directory must be prepared using the openssl c_rehash utility. This makes sense only when used in combination with the CURLOPT_SSL_VERIFYPEER option. If OptionSSLVerifyPeer is zero, OptionCAPath need not even indicate an accessible path. The OptionCAPath function apparently does not work in Windows due to some limitation in openssl. This option is OpenSSL-specific and does nothing if libCURL is built to use GnuTLS.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
Starting with version 18.0 the plugin will always use UTF-8 encoding for file path on Linux and macOS. For macOS we also do the unicode character normalization for file names for you.
(Read and Write property)
See also CAPATH option in CURL manual.
CURLSMBS.OptionCertInfo as boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 10.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
With this enabled, libCURL (if built with OpenSSL) will extract lots of information and data about the certificates in the certificate chain used in the SSL connection. This data is then possible to extract after a transfer using GetInfoCertInfo. (Added in 7.19.1)
(Read and Write property)
See also CERTINFO option in CURL manual.
CURLSMBS.OptionConnectionTimeout as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
This only limits the connection phase, once it has connected, this option is of no more use. Set to zero to disable connection timeout (it will then only timeout on the system's internal timeouts). See also the OptionTimeout option.
(Read and Write property)
Some examples using this property:
- /CURL/CURL Mime
- /CURL/CURL WebSocket Test
- /CURL/CURLS pop3 email delete
- /CURL/FTP/CURLS ftp download to desktop
- /CURL/FTP/CURLS ftp download to desktop with thread
- /CURL/MQTT
- /CURL/Send Email/Send Email in Background async
- /MacExtras/Sparkle/UpdaterKit/Updater Example
See also CONNECTTIMEOUT option in CURL manual.
CURLSMBS.OptionConnectionTimeOutMS as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
This only limits the connection phase, once it has connected, this option is of no more use. Set to zero to disable connection timeout (it will then only timeout on the system's internal timeouts). See also the OptionTimeout option.
(Read and Write property)
Some examples using this property:
CURLSMBS.OptionConnectOnly as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
This option is useful with the CURLSMBS.GetInfoLastSocket function. The library can set up the connection and then the application can obtain the most recently used socket for special data transfers. (Added in 7.15.2)
Type changed to integer in v23.0 to enable passing 2 for WebSockets.
(Read and Write property)
Some examples using this property:
See also CONNECT_ONLY option in CURL manual.
CURLSMBS.OptionCookie as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
The format of the string should be NAME=CONTENTS, where NAME is the cookie name and CONTENTS is what the cookie should contain.
If you need to set multiple cookies, you need to set them all using a single option and thus you need to concatenate them all in one single string. Set multiple cookies in one string like this: "name1=content1; name2=content2;" etc.
Using this option multiple times will only make the latest string override the previously ones.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)
See also COOKIE option in CURL manual.
CURLSMBS.OptionCookieFile as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
It should contain the name of your file holding cookie data to read. The cookie data may be in Netscape / Mozilla cookie data format or just regular HTTP-style headers dumped to a file.
Given an empty or non-existing file or by passing the empty string (""), this option will enable cookies for this CURL handle, making it understand and parse received cookies and then use matching cookies in future request.
If you use this option multiple times, you just add more files to read. Subsequent files will add more cookies.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
Starting with version 18.0 the plugin will always use UTF-8 encoding for file path on Linux and macOS. For macOS we also do the unicode character normalization for file names for you.
(Read and Write property)
See also COOKIEFILE option in CURL manual.
CURLSMBS.OptionCookieJar as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
This will make libCURL write all internally known cookies to the specified file, when the object is destroyed. If no cookies are known, no file will be created. Specify "-" to instead have the cookies written to stdout. Using this option also enables cookies for this session, so if you for example follow a location it will make matching cookies get sent accordingly.
If the cookie jar file can't be created or written to, libCURL will not and cannot report an error for this. Using OptionVerbose or DebugFunction event will get a warning to display, but that is the only visible feedback you get about this possibly lethal situation.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
Starting with version 18.0 the plugin will always use UTF-8 encoding for file path on Linux and macOS. For macOS we also do the unicode character normalization for file names for you.
(Read and Write property)
See also COOKIEJAR option in CURL manual.
CURLSMBS.OptionCookieList as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Cookie can be either in Netscape / Mozilla format or just regular HTTP-style header (Set-Cookie: ...) format. If CURL cookie engine was not enabled it will enable its cookie engine. Passing a magic string "ALL" will erase all cookies known by CURL. (Added in 7.14.1) Passing the special string "SESS" will only erase all session cookies known by CURL. (Added in 7.15.4)
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)
See also COOKIELIST option in CURL manual.
CURLSMBS.OptionCookieSession as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
It will force libCURL to ignore all cookies it is about to load that are "session cookies" from the previous session. By default, libCURL always stores and loads all cookies, independent if they are session cookies are not. Session cookies are cookies without expiry date and they are meant to be alive and existing for this "session" only.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)
See also COOKIESESSION option in CURL manual.
CURLSMBS.OptionCRLF as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)
See also CRLF option in CURL manual.
CURLSMBS.OptionCRLFile as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 10.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
When CURL is built to use NSS or GnuTLS, there is no way to influence the use of CRL passed to help in the verification process. When libCURL is built with OpenSSL support, X509_V_FLAG_CRL_CHECK and X509_V_FLAG_CRL_CHECK_ALL are both set, requiring CRL check against all the elements of the certificate chain if a CRL file is passed.
This option makes sense only when used in combination with the OptionSSLVerifyPeer option.
A specific error code (CURLE_SSL_CRL_BADFILE) is defined with the option. It is returned when the SSL exchange fails because the CRL file cannot be loaded. Note that a failure in certificate verification due to a revocation information found in the CRL does not trigger this specific error. (Added in 7.19.0)
(Read and Write property)
See also CRLFILE option in CURL manual.
CURLSMBS.OptionCustomRequest as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
This is useful for doing DELETE or other more or less obscure HTTP requests. Don't do this at will, make sure your server supports the command first.
Restore to the internal default by setting this to "".
Many people have wrongly used this option to replace the entire request with their own, including multiple headers and POST contents. While that might work in many cases, it will cause libCURL to send invalid requests and it could possibly confuse the remote server badly. Use CURLOPT_POST and OptionPostFields to set POST data. Use OptionHTTPHeader to replace or extend the set of headers sent by libCURL. Use OptionHTTPVersion to change HTTP version.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
For WebDAV, you can set this to "MKCOL" to create a folder at the given URL.
(Read and Write property)
Some examples using this property:
- /CURL/CURLS pop3 email delete
- /CURL/CURLS query
- /CURL/FTP/CURLS ftp directory listing
- /CURL/FTP/CURLS ftp directory listing with CURLFileInfoMBS
- /CURL/FTP/CURLS ftp directory listing with Web Edition
- /CURL/Google Mail/CURLS imap for google mail
- /CURL/Receive Email/CURLS email client
- /CURL/Receive Email/CURLS imap
- /CURL/SFTP/CURLS sftp directory listing
See also CUSTOMREQUEST option in CURL manual.
CURLSMBS.OptionDefaultProtocol as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
(Read and Write property)
See also DEFAULT_PROTOCOL option in CURL manual.
CURLSMBS.OptionDirListOnly as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 15.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
For POP3 a parameter of true tells the library to list the email message or messages on the POP3 server. This can be used to change the default behaviour of libCURL, when combined with a URL that contains a message ID, to perform a "scan listing" which can then be used to determine the size of an email.
Note: For FTP this causes a NLST command to be sent to the FTP server. Beware that some FTP servers list only files in their response to NLST; they might not include subdirectories and symbolic links.
Setting this option to true also implies a directory listing even if the URL doesn't end with a slash, which otherwise is necessary.
Do NOT use this option if you also use OptionWildCardMatch as it will effectively break that feature then.
(Read and Write property)
Some examples using this property:
- /CURL/CURLS pop3 email delete
- /CURL/FTP/CURLS ftp create or folder delete
- /CURL/FTP/CURLS ftp directory browsing
- /CURL/FTP/CURLS ftp directory listing
- /CURL/FTP/CURLS ftp directory listing with Web Edition
- /CURL/FTP/CURLS ftp file delete
- /CURL/SFTP/CURLS sftp batch download
- /CURL/SFTP/CURLS sftp directory listing
- /CURL/SFTP/CURLS sftp rename file batch
See also DIRLISTONLY option in CURL manual.
CURLSMBS.OptionDisableUserNameInURL as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.3 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
The value true tells the library to not allow URLs that include an username.
(Read and Write property)
CURLSMBS.OptionDNSCacheTimeout as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Name resolves will be kept in memory for this number of seconds. Set to zero (0) to completely disable caching, or set to -1 to make the cached entries remain forever. By default, libCURL caches this info for 60 seconds.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)
See also DNS_CACHE_TIMEOUT option in CURL manual.
CURLSMBS.OptionDNSInterface as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 15.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
This must be an interface name (not an address). Set this option to "" to use the default setting (don't bind to a specific interface).
(Read and Write property)
See also DNS_INTERFACE option in CURL manual.
CURLSMBS.OptionDNSLocalIPv4 as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 15.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
The argument should be of string and contain a single numerical IPv4 address as a string.
Set this option to "" to use the default setting (don't bind to a specific IP address).
(Read and Write property)
See also DNS_LOCAL_IP4 option in CURL manual.
CURLSMBS.OptionDNSLocalIPv6 as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 15.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
The argument should be of type string and contain a single IPv6 address as a string.
Set this option to "" to use the default setting (don't bind to a specific IP address).
(Read and Write property)
See also DNS_LOCAL_IP6 option in CURL manual.
CURLSMBS.OptionDNSServers as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
(Read and Write property)
See also DNS_SERVERS option in CURL manual.
CURLSMBS.OptionDNSShuffleAddresses as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
When a name is resolved and more than one IP address is returned, shuffle the order of all returned addresses so that they will be used in a random order. This is similar to the ordering behavior of gethostbyname which is no longer used on most platforms.
Addresses will not be reshuffled if a name resolution is completed using the DNS cache. DNSCacheTimeout property can be used together with this option to reduce DNS cache timeout or disable caching entirely if frequent reshuffling is needed.
Since the addresses returned will be reordered randomly, their order will not be in accordance with RFC 3484 or any other deterministic order that may be generated by the system's name resolution implementation. This may have performance impacts and may cause IPv4 to be used before IPv6 or vice versa.
Default is false.
(Read and Write property)
See also DNS_SHUFFLE_ADDRESSES option in CURL manual.
CURLSMBS.OptionDOHSSLVerifyHost as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 21.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Pass a 2 as asking curl to verify the DOH (DNS-over-HTTPS) server's certificate name fields against the host name.
This option is the DOH equivalent of OptionSSLVerifyPeer and only affects requests to the DOH server.
When OptionDOHSSLVerifyHost is 2, the SSL certificate provided by the DOH server must indicate that the server name is the same as the server name to which you meant to connect to, or the connection fails.
Curl considers the DOH server the intended one when the Common Name field or a Subject Alternate Name field in the certificate matches the host name in the DOH URL to which you told Curl to connect.
When the verify value is set to 1 it is treated the same as 2. However for consistency with the other VerifyHost options we suggest use 2 and not 1.
When the verify value is set to 0, the connection succeeds regardless of the names used in the certificate. Use that ability with caution!
(Read and Write property)
See also DOH_SSL_VERIFYHOST option in CURL manual.
CURLSMBS.OptionDOHSSLVerifyPeer as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 21.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Pass 1 to enable or 0 to disable.
This option tells curl to verify the authenticity of the DOH (DNS-over-HTTPS) server's certificate. A value of 1 means curl verifies; 0 (zero) means it doesn't.
This option is the DOH equivalent of CURL.SetOptionSSLVerifyPeer and only affects requests to the DOH server.
When negotiating a TLS or SSL connection, the server sends a certificate indicating its identity. Curl verifies whether the certificate is authentic, i.e. that you can trust that the server is who the certificate says it is. This trust is based on a chain of digital signatures, rooted in certification authority (CA) certificates you supply. curl uses a default bundle of CA certificates (the path for that is determined at build time) and you can specify alternate certificates with the CURL.SetOptionCAInfo option or the CURL.SetOptionCAPath option.
When CURL.SetOptionDOHSSLVerifyPeer is enabled, and the verification fails to prove that the certificate is authentic, the connection fails. When the option is zero, the peer certificate verification succeeds regardless.
Authenticating the certificate is not enough to be sure about the server. You typically also want to ensure that the server is the server you mean to be talking to. Use CURL.SetOptionDOHSSLVerifyHost for that. The check that the host name in the certificate is valid for the host name you're connecting to is done independently of the CURL.SetOptionDOHSSLVerifyPeer option.
WARNING: disabling verification of the certificate allows bad guys to man-in-the-middle the communication without you knowing it. Disabling verification makes the communication insecure. Just having encryption on a transfer is not enough as you cannot be sure that you are communicating with the correct end-point.
(Read and Write property)
See also DOH_SSL_VERIFYPEER option in CURL manual.
CURLSMBS.OptionDOHSSLVerifyStatus as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 21.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Pass 2 to ask curl to verify the DOH (DNS-over-HTTPS) server's certificate name fields against the host name.
This option is the DOH equivalent of OptionSSLVerifyHost and only affects requests to the DOH server.
When OptionDOHSSLVerifyHost is 2, the SSL certificate provided by the DOH server must indicate that the server name is the same as the server name to which you meant to connect to, or the connection fails.
Curl considers the DOH server the intended one when the Common Name field or a Subject Alternate Name field in the certificate matches the host name in the DOH URL to which you told Curl to connect.
When the verify value is set to 1L it is treated the same as 2L. However for consistency with the other VerifyHost options we suggest use 2 and not 1.
When the verify value is set to 0L, the connection succeeds regardless of the names used in the certificate. Use that ability with caution!
See also OptionDOHSSLVerifyPeer to verify the digital signature of the DOH server certificate. If libcurl is built against NSS and OptionDOHSSLVerifyPeer is zero, OptionDOHSSLVerifyHost is also set to zero and cannot be overridden.
(Read and Write property)
See also DOH_SSL_VERIFYSTATUS option in CURL manual.
CURLSMBS.OptionDOHURL as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.5 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Pass in a string to a URL for the DOH server to use for name resolving. The parameter should be URL-encoded in the following format: "https://host:port/path". It MUST specify a HTTPS URL.
libcurl doesn't validate the syntax or use this variable until the transfer is issued. Even if you set a crazy value here, OptionDOHURL will still return CURLE_OK.
curl sends POST requests to the given DNS-over-HTTPS URL.
To find the DOH server itself, which might be specified using a name, libcurl will use the default name lookup function. You can bootstrap that by providing the address for the DOH server with OptionResolve.
Disable DOH use again by setting this option to "".
(Read and Write property)
See also DOH_URL option in CURL manual.
CURLSMBS.OptionEGDSocket as String Deprecated
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
It will be used to seed the random engine for SSL.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)
CURLSMBS.OptionExpect100TimeoutMS as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Time to wait in milliseconds for a response to a HTTP request containing an Expect: 100-continue header before sending the data anyway.
(Read and Write property)
See also EXPECT_100_TIMEOUT_MS option in CURL manual.
CURLSMBS.OptionFailOnError as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
This method is not fail-safe and there are occasions where non-succesful response codes will slip through, especially when authentication is involved (response codes 401 and 407).
You might get some amounts of headers transferred before this situation is detected, like for when a "100-continue" is received as a response to a POST/PUT and a 401 or 407 is received immediately afterwards.
(Read and Write property)
See also FAILONERROR option in CURL manual.
The items on this page are in the following plugins: MBS CURL Plugin.