Annotation of embedaddon/curl/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3, revision 1.1
1.1 ! misho 1: .\" **************************************************************************
! 2: .\" * _ _ ____ _
! 3: .\" * Project ___| | | | _ \| |
! 4: .\" * / __| | | | |_) | |
! 5: .\" * | (__| |_| | _ <| |___
! 6: .\" * \___|\___/|_| \_\_____|
! 7: .\" *
! 8: .\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
! 9: .\" *
! 10: .\" * This software is licensed as described in the file COPYING, which
! 11: .\" * you should have received as part of this distribution. The terms
! 12: .\" * are also available at https://curl.haxx.se/docs/copyright.html.
! 13: .\" *
! 14: .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
! 15: .\" * copies of the Software, and permit persons to whom the Software is
! 16: .\" * furnished to do so, under the terms of the COPYING file.
! 17: .\" *
! 18: .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
! 19: .\" * KIND, either express or implied.
! 20: .\" *
! 21: .\" **************************************************************************
! 22: .\"
! 23: .TH CURLOPT_REDIR_PROTOCOLS 3 "February 18, 2020" "libcurl 7.70.0" "curl_easy_setopt options"
! 24:
! 25: .SH NAME
! 26: CURLOPT_REDIR_PROTOCOLS \- set protocols allowed to redirect to
! 27: .SH SYNOPSIS
! 28: #include <curl/curl.h>
! 29:
! 30: CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REDIR_PROTOCOLS, long bitmask);
! 31: .SH DESCRIPTION
! 32: Pass a long that holds a bitmask of CURLPROTO_* defines. If used, this bitmask
! 33: limits what protocols libcurl may use in a transfer that it follows to in a
! 34: redirect when \fICURLOPT_FOLLOWLOCATION(3)\fP is enabled. This allows you to
! 35: limit specific transfers to only be allowed to use a subset of protocols in
! 36: redirections.
! 37:
! 38: Protocols denied by \fICURLOPT_PROTOCOLS(3)\fP are not overridden by this
! 39: option.
! 40:
! 41: By default libcurl will allow HTTP, HTTPS, FTP and FTPS on redirect (7.65.2).
! 42: Older versions of libcurl allowed all protocols on redirect except several
! 43: disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and
! 44: since 7.40.0 SMB and SMBS are also disabled. \fICURLPROTO_ALL\fP enables all
! 45: protocols on redirect, including those disabled for security.
! 46:
! 47: These are the available protocol defines:
! 48: .nf
! 49: CURLPROTO_DICT
! 50: CURLPROTO_FILE
! 51: CURLPROTO_FTP
! 52: CURLPROTO_FTPS
! 53: CURLPROTO_GOPHER
! 54: CURLPROTO_HTTP
! 55: CURLPROTO_HTTPS
! 56: CURLPROTO_IMAP
! 57: CURLPROTO_IMAPS
! 58: CURLPROTO_LDAP
! 59: CURLPROTO_LDAPS
! 60: CURLPROTO_POP3
! 61: CURLPROTO_POP3S
! 62: CURLPROTO_RTMP
! 63: CURLPROTO_RTMPE
! 64: CURLPROTO_RTMPS
! 65: CURLPROTO_RTMPT
! 66: CURLPROTO_RTMPTE
! 67: CURLPROTO_RTMPTS
! 68: CURLPROTO_RTSP
! 69: CURLPROTO_SCP
! 70: CURLPROTO_SFTP
! 71: CURLPROTO_SMB
! 72: CURLPROTO_SMBS
! 73: CURLPROTO_SMTP
! 74: CURLPROTO_SMTPS
! 75: CURLPROTO_TELNET
! 76: CURLPROTO_TFTP
! 77: .fi
! 78: .SH DEFAULT
! 79: HTTP, HTTPS, FTP and FTPS (Since 7.65.2).
! 80:
! 81: Older versions defaulted to all protocols except FILE, SCP and since 7.40.0
! 82: SMB and SMBS.
! 83: .SH PROTOCOLS
! 84: All
! 85: .SH EXAMPLE
! 86: .nf
! 87: curl = curl_easy_init();
! 88: if(curl) {
! 89: /* pass in the URL from an external source */
! 90: curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
! 91:
! 92: /* only allow redirects to HTTP and HTTPS URLs */
! 93: curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS,
! 94: CURLPROTO_HTTP | CURLPROTO_HTTPS);
! 95:
! 96: /* Perform the request */
! 97: curl_easy_perform(curl);
! 98: }
! 99: .fi
! 100: .SH AVAILABILITY
! 101: Added in 7.19.4, before then it would follow all protocols.
! 102: .SH RETURN VALUE
! 103: Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
! 104: .SH "SEE ALSO"
! 105: .BR CURLOPT_PROTOCOLS "(3), "
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>