aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2010-11-11 16:41:59 +0100
committerDaniel Stenberg <daniel@haxx.se>2010-11-11 16:44:50 +0100
commit8636742256c724bee50452d9ef92ffd25b76b8a1 (patch)
tree750c3df21068668c120fc68ee4811ab15b081883
parenta1f32ffee540bcef046dc499938585c5da9d0aa8 (diff)
HTTP Auth: Add CURLAUTH_ONLY
This is a meta symbol. OR this value together with a single specific auth value to force libcurl to probe for un-restricted auth and if not, only that single auth algorithm is acceptable. For example you can use CURLAUTH_DIGEST|CURLAUTH_ONLY to make libcurl first probe for what method to use, but yet only consider Digest to be acceptable. Using _only_ CURLAUTH_DIGEST without the CURLAUTH_ONLY field, will make libcurl explicitly use Digest right away and not do any probing.
-rw-r--r--docs/libcurl/curl_easy_setopt.34
-rw-r--r--docs/libcurl/symbols-in-versions1
-rw-r--r--include/curl/curl.h3
3 files changed, 8 insertions, 0 deletions
diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3
index d005b3ffc..3d76b6616 100644
--- a/docs/libcurl/curl_easy_setopt.3
+++ b/docs/libcurl/curl_easy_setopt.3
@@ -865,6 +865,10 @@ secure.
This is a convenience macro that sets all bits except Basic and thus makes
libcurl pick any it finds suitable. libcurl will automatically select the one
it finds most secure.
+.IP CURLAUTH_ONLY
+This is a meta symbol. Or this value together with a single specific auth
+value to force libcurl to probe for un-restricted auth and if not, only that
+single auth algorithm is acceptable. (Added in 7.21.3)
.RE
.IP CURLOPT_PROXYAUTH
Pass a long as parameter, which is set to a bitmask, to tell libcurl which
diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions
index a366ce2ab..fc5834d52 100644
--- a/docs/libcurl/symbols-in-versions
+++ b/docs/libcurl/symbols-in-versions
@@ -20,6 +20,7 @@ CURLAUTH_DIGEST_IE 7.19.3
CURLAUTH_GSSNEGOTIATE 7.10.6
CURLAUTH_NONE 7.10.6
CURLAUTH_NTLM 7.10.6
+CURLAUTH_ONLY 7.21.3
CURLCLOSEPOLICY_CALLBACK 7.7
CURLCLOSEPOLICY_LEAST_RECENTLY_USED 7.7
CURLCLOSEPOLICY_LEAST_TRAFFIC 7.7
diff --git a/include/curl/curl.h b/include/curl/curl.h
index e95887fe7..fbd0d9b01 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -585,6 +585,9 @@ typedef enum {
#define CURLAUTH_GSSNEGOTIATE (1<<2) /* GSS-Negotiate */
#define CURLAUTH_NTLM (1<<3) /* NTLM */
#define CURLAUTH_DIGEST_IE (1<<4) /* Digest with IE flavour */
+#define CURLAUTH_ONLY (1<<31) /* used together with a single other
+ type to force no auth or just that
+ single type */
#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE) /* all fine types set */
#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))