Provided by: libcurl4-doc_7.58.0-2ubuntu3.24_all bug

NAME

       CURLOPT_REDIR_PROTOCOLS - set protocols allowed to redirect to

SYNOPSIS

       #include <curl/curl.h>

       CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REDIR_PROTOCOLS, long bitmask);

DESCRIPTION

       Pass a long that holds a bitmask of CURLPROTO_* defines. If used, this bitmask limits what
       protocols libcurl  may  use  in  a  transfer  that  it  follows  to  in  a  redirect  when
       CURLOPT_FOLLOWLOCATION(3)  is enabled. This allows you to limit specific transfers to only
       be allowed to use a subset of protocols in redirections.

       Protocols denied by CURLOPT_PROTOCOLS(3) are not overridden by this option.

       By default libcurl will allow all  protocols  on  redirect  except  several  disabled  for
       security  reasons:  Since  7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS
       are also disabled. CURLPROTO_ALL  enables  all  protocols  on  redirect,  including  those
       disabled for security.

       These are the available protocol defines:
       CURLPROTO_DICT
       CURLPROTO_FILE
       CURLPROTO_FTP
       CURLPROTO_FTPS
       CURLPROTO_GOPHER
       CURLPROTO_HTTP
       CURLPROTO_HTTPS
       CURLPROTO_IMAP
       CURLPROTO_IMAPS
       CURLPROTO_LDAP
       CURLPROTO_LDAPS
       CURLPROTO_POP3
       CURLPROTO_POP3S
       CURLPROTO_RTMP
       CURLPROTO_RTMPE
       CURLPROTO_RTMPS
       CURLPROTO_RTMPT
       CURLPROTO_RTMPTE
       CURLPROTO_RTMPTS
       CURLPROTO_RTSP
       CURLPROTO_SCP
       CURLPROTO_SFTP
       CURLPROTO_SMB
       CURLPROTO_SMBS
       CURLPROTO_SMTP
       CURLPROTO_SMTPS
       CURLPROTO_TELNET
       CURLPROTO_TFTP

DEFAULT

       All protocols except for FILE, SCP and since 7.40.0 SMB and SMBS.

PROTOCOLS

       All

EXAMPLE

       curl = curl_easy_init();
       if(curl) {
         /* pass in the URL from an external source */
         curl_easy_setopt(curl, CURLOPT_URL, argv[1]);

         /* only allow redirects to HTTP and HTTPS URLs */
         curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS,
                          CURLPROTO_HTTP | CURLPROTO_HTTPS);

         /* Perform the request */
         curl_easy_perform(curl);
       }

AVAILABILITY

       Added in 7.19.4, before then it would follow all protocols.

RETURN VALUE

       Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

       CURLOPT_PROTOCOLS(3),