added lots, mostly the new auth-related option(s)

This commit is contained in:
Daniel Stenberg
2003-06-26 11:40:44 +00:00
parent a2bd73334f
commit 3130b44535

View File

@@ -334,27 +334,47 @@ prompted for it. \fICURLOPT_PASSWDFUNCTION\fP can be used to set your own
prompt function. prompt function.
.TP .TP
.B CURLOPT_HTTPAUTH .B CURLOPT_HTTPAUTH
Pass a long set to one of the curl_httpauth values, to tell libcurl what Pass a long as parameter, which is set to a bitmask, to tell libcurl what
authentication method you want it to use. Set the actual name and password authentication method(s) you want it to use. The available bits are listed
with the \fICURLOPT_USERPWD\fP option. (Added in 7.10.6) below. If more than one bit is set, libcurl will first query the site to see
what authentication methods it supports and then pick the best one you allow
it to use. Note that for some methods, this will induce an extra network
round-trip. Set the actual name and password with the \fICURLOPT_USERPWD\fP
option. (Added in 7.10.6)
.RS .RS
.TP 5 .TP 5
.B CURLHTTP_BASIC .B CURLHTTP_BASIC
enables HTTP Basic authentication. This is the default choice, and the only HTTP Basic authentication. This is the default choice, and the only method
method that is in wide-spread use and supported everywhere. that is in wide-spread use and supported virtually everywhere. This is sending
the user name and password over the network in plain text, easily captured by
others.
.TP .TP
.B CURLHTTP_DIGEST .B CURLHTTP_DIGEST
enables HTTP Digest authentication. Digest authentication is defined in HTTP Digest authentication. Digest authentication is defined in RFC2617 and
RFC2617 and is a somewhat more secure way to do user+password checking over is a more secure way to do authentication over public networks than the
public networks than the regular old-fashioned Basic authentication. By regular old-fashioned Basic method.
default, libcurl uses Basic.
.TP .TP
.B CURLHTTP_NEGOTIATE .B CURLHTTP_GSSNEGOTIATE
enables HTTP Negotiate authentication. The Negotiate method was designed by HTTP GSS-Negotiate authentication. The GSS-Negotiate method was designed by
Microsoft and is used in their web aplications. It is primarily meant as a Microsoft and is used in their web aplications. It is primarily meant as a
support for Kerberos5 authentication but may be also used along with another support for Kerberos5 authentication but may be also used along with another
authentication methods. For more information see IETF draft authentication methods. For more information see IETF draft
draft-brezak-spnego-http-04.txt. draft-brezak-spnego-http-04.txt.
.TP
.B CURLHTTP_NTLM
HTTP NTLM authentication. A proprietary protocol invented and used by
Microsoft. It uses a challenge-response and hash concept similar to Digest to
prevent the password from being evesdropped.
.TP
.B CURLHTTP_ANY
This is a convenience macro that sets all bits and thus makes libcurl pick any
it finds suitable. libcurl will automaticly select the one it finds most
secure.
.TP
.B CURLHTTP_ANYSAFE
This is a convenience macro that sets all bits except Basic and thus makes
libcurl pick any it finds suitable. libcurl will automaticly select the one it
finds most secure.
.RE .RE
.PP .PP
.SH HTTP OPTIONS .SH HTTP OPTIONS
@@ -644,9 +664,10 @@ want the transfer to start from.
.TP .TP
.B CURLOPT_CUSTOMREQUEST .B CURLOPT_CUSTOMREQUEST
Pass a pointer to a zero terminated string as parameter. It will be user Pass a pointer to a zero terminated string as parameter. It will be user
instead of GET or HEAD when doing the HTTP request. This is useful for doing instead of GET or HEAD when doing a HTTP request, or instead of LIST or NLST
DELETE or other more or less obscure HTTP requests. Don't do this at will, when doing an ftp directory listing. This is useful for doing DELETE or other
make sure your server supports the command first. more or less obscure HTTP requests. Don't do this at will, make sure your
server supports the command first.
NOTE: many people have wrongly used this option to replace the entire request NOTE: many people have wrongly used this option to replace the entire request
with their own, including multiple headers and POST contents. While that might with their own, including multiple headers and POST contents. While that might