2024-03-16 02:55:33 +00:00
|
|
|
.\" generated by cd2nroff 0.1 from CURLOPT_FTP_SSL_CCC.md
|
2024-06-01 20:49:19 +00:00
|
|
|
.TH CURLOPT_FTP_SSL_CCC 3 "2024-06-01" libcurl
|
2024-03-16 02:55:33 +00:00
|
|
|
.SH NAME
|
|
|
|
CURLOPT_FTP_SSL_CCC \- switch off SSL again with FTP after auth
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.nf
|
|
|
|
#include <curl/curl.h>
|
|
|
|
|
|
|
|
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SSL_CCC,
|
|
|
|
long how);
|
|
|
|
.fi
|
|
|
|
.SH DESCRIPTION
|
|
|
|
If enabled, this option makes libcurl use CCC (Clear Command Channel). It
|
|
|
|
shuts down the SSL/TLS layer after authenticating. The rest of the control
|
|
|
|
channel communication remains unencrypted. This allows NAT routers to follow
|
|
|
|
the FTP transaction. Pass a long using one of the values below
|
|
|
|
.IP CURLFTPSSL_CCC_NONE
|
|
|
|
do not attempt to use CCC.
|
|
|
|
.IP CURLFTPSSL_CCC_PASSIVE
|
|
|
|
Do not initiate the shutdown, but wait for the server to do it. Do not send a
|
|
|
|
reply.
|
|
|
|
.IP CURLFTPSSL_CCC_ACTIVE
|
|
|
|
Initiate the shutdown and wait for a reply.
|
|
|
|
.SH DEFAULT
|
|
|
|
CURLFTPSSL_CCC_NONE
|
|
|
|
.SH PROTOCOLS
|
|
|
|
FTP
|
|
|
|
.SH EXAMPLE
|
|
|
|
.nf
|
|
|
|
int main(void)
|
|
|
|
{
|
|
|
|
CURL *curl = curl_easy_init();
|
|
|
|
if(curl) {
|
|
|
|
CURLcode res;
|
|
|
|
curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/file.txt");
|
|
|
|
curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_CONTROL);
|
|
|
|
/* go back to clear-text FTP after authenticating */
|
|
|
|
curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, (long)CURLFTPSSL_CCC_ACTIVE);
|
|
|
|
res = curl_easy_perform(curl);
|
|
|
|
curl_easy_cleanup(curl);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.fi
|
|
|
|
.SH AVAILABILITY
|
|
|
|
Added in 7.16.1
|
|
|
|
.SH RETURN VALUE
|
|
|
|
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
|
|
|
|
.SH SEE ALSO
|
|
|
|
.BR CURLOPT_FTPSSLAUTH (3),
|
|
|
|
.BR CURLOPT_PROTOCOLS_STR (3),
|
|
|
|
.BR CURLOPT_USE_SSL (3)
|