Annotation of embedaddon/curl/docs/libcurl/opts/CURLOPT_HTTPAUTH.3, revision 1.1

1.1     ! misho       1: .\" **************************************************************************
        !             2: .\" *                                  _   _ ____  _
        !             3: .\" *  Project                     ___| | | |  _ \| |
        !             4: .\" *                             / __| | | | |_) | |
        !             5: .\" *                            | (__| |_| |  _ <| |___
        !             6: .\" *                             \___|\___/|_| \_\_____|
        !             7: .\" *
        !             8: .\" * Copyright (C) 1998 - 2018, 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_HTTPAUTH 3 "June 15, 2018" "libcurl 7.70.0" "curl_easy_setopt options"
        !            24: 
        !            25: .SH NAME
        !            26: CURLOPT_HTTPAUTH \- set HTTP server authentication methods to try
        !            27: .SH SYNOPSIS
        !            28: .nf
        !            29: #include <curl/curl.h>
        !            30: 
        !            31: CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPAUTH, long bitmask);
        !            32: .SH DESCRIPTION
        !            33: Pass a long as parameter, which is set to a bitmask, to tell libcurl which
        !            34: authentication method(s) you want it to use speaking to the remote server.
        !            35: 
        !            36: The available bits are listed below. If more than one bit is set, libcurl will
        !            37: first query the site to see which authentication methods it supports and then
        !            38: pick the best one you allow it to use. For some methods, this will induce an
        !            39: extra network round-trip. Set the actual name and password with the
        !            40: \fICURLOPT_USERPWD(3)\fP option or with the \fICURLOPT_USERNAME(3)\fP and the
        !            41: \fICURLOPT_PASSWORD(3)\fP options.
        !            42: 
        !            43: For authentication with a proxy, see \fICURLOPT_PROXYAUTH(3)\fP.
        !            44: 
        !            45: .IP CURLAUTH_BASIC
        !            46: HTTP Basic authentication. This is the default choice, and the only method
        !            47: that is in wide-spread use and supported virtually everywhere. This sends
        !            48: the user name and password over the network in plain text, easily captured by
        !            49: others.
        !            50: .IP CURLAUTH_DIGEST
        !            51: HTTP Digest authentication.  Digest authentication is defined in RFC2617 and
        !            52: is a more secure way to do authentication over public networks than the
        !            53: regular old-fashioned Basic method.
        !            54: .IP CURLAUTH_DIGEST_IE
        !            55: HTTP Digest authentication with an IE flavor.  Digest authentication is
        !            56: defined in RFC2617 and is a more secure way to do authentication over public
        !            57: networks than the regular old-fashioned Basic method. The IE flavor is simply
        !            58: that libcurl will use a special "quirk" that IE is known to have used before
        !            59: version 7 and that some servers require the client to use.
        !            60: .IP CURLAUTH_BEARER
        !            61: HTTP Bearer token authentication, used primarily in OAuth 2.0 protocol.
        !            62: 
        !            63: You can set the Bearer token to use with \fICURLOPT_XOAUTH2_BEARER(3)\fP.
        !            64: .IP CURLAUTH_NEGOTIATE
        !            65: HTTP Negotiate (SPNEGO) authentication. Negotiate authentication is defined
        !            66: in RFC 4559 and is the most secure way to perform authentication over HTTP.
        !            67: 
        !            68: You need to build libcurl with a suitable GSS-API library or SSPI on Windows
        !            69: for this to work.
        !            70: .IP CURLAUTH_NTLM
        !            71: HTTP NTLM authentication. A proprietary protocol invented and used by
        !            72: Microsoft. It uses a challenge-response and hash concept similar to Digest, to
        !            73: prevent the password from being eavesdropped.
        !            74: 
        !            75: You need to build libcurl with either OpenSSL, GnuTLS or NSS support for this
        !            76: option to work, or build libcurl on Windows with SSPI support.
        !            77: .IP CURLAUTH_NTLM_WB
        !            78: NTLM delegating to winbind helper. Authentication is performed by a separate
        !            79: binary application that is executed when needed. The name of the application
        !            80: is specified at compile time but is typically /usr/bin/ntlm_auth
        !            81: 
        !            82: Note that libcurl will fork when necessary to run the winbind application and
        !            83: kill it when complete, calling waitpid() to await its exit when done. On POSIX
        !            84: operating systems, killing the process will cause a SIGCHLD signal to be
        !            85: raised (regardless of whether \fICURLOPT_NOSIGNAL(3)\fP is set), which must be
        !            86: handled intelligently by the application. In particular, the application must
        !            87: not unconditionally call wait() in its SIGCHLD signal handler to avoid being
        !            88: subject to a race condition.  This behavior is subject to change in future
        !            89: versions of libcurl.
        !            90: .IP CURLAUTH_ANY
        !            91: This is a convenience macro that sets all bits and thus makes libcurl pick any
        !            92: it finds suitable. libcurl will automatically select the one it finds most
        !            93: secure.
        !            94: .IP CURLAUTH_ANYSAFE
        !            95: This is a convenience macro that sets all bits except Basic and thus makes
        !            96: libcurl pick any it finds suitable. libcurl will automatically select the one
        !            97: it finds most secure.
        !            98: .IP CURLAUTH_ONLY
        !            99: This is a meta symbol. OR this value together with a single specific auth
        !           100: value to force libcurl to probe for un-restricted auth and if not, only that
        !           101: single auth algorithm is acceptable.
        !           102: .SH DEFAULT
        !           103: CURLAUTH_BASIC
        !           104: .SH PROTOCOLS
        !           105: HTTP
        !           106: .SH EXAMPLE
        !           107: .nf
        !           108: CURL *curl = curl_easy_init();
        !           109: if(curl) {
        !           110:   CURLcode ret;
        !           111:   curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
        !           112:   /* allow whatever auth the server speaks */
        !           113:   curl_easy_setopt(curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
        !           114:   curl_easy_setopt(curl, CURLOPT_USERPWD, "james:bond");
        !           115:   ret = curl_easy_perform(curl);
        !           116: }
        !           117: .fi
        !           118: .SH AVAILABILITY
        !           119: Option Added in 7.10.6.
        !           120: 
        !           121: CURLAUTH_DIGEST_IE was added in 7.19.3
        !           122: 
        !           123: CURLAUTH_ONLY was added in 7.21.3
        !           124: 
        !           125: CURLAUTH_NTLM_WB was added in 7.22.0
        !           126: 
        !           127: CURLAUTH_BEARER was added in 7.61.0
        !           128: .SH RETURN VALUE
        !           129: Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
        !           130: CURLE_NOT_BUILT_IN if the bitmask specified no supported authentication
        !           131: methods.
        !           132: .SH "SEE ALSO"
        !           133: .BR CURLOPT_PROXYAUTH "(3), " CURLOPT_USERPWD "(3), "

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>