aboutsummaryrefslogtreecommitdiff
path: root/lib/vauth/vauth.h
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2016-03-20 11:56:07 +0000
committerSteve Holme <steve_holme@hotmail.com>2016-08-18 20:31:20 +0100
commita0f212946b1e839a673973930034b98031f1507c (patch)
tree176a18d51867ce716a224b607ca82f8752ba5b5f /lib/vauth/vauth.h
parentcdd61dc35fc093f6e78da0168070a09f45becf5c (diff)
vauth: Introduced Curl_auth_is_<mechansism>_supported() functions
As Windows SSPI authentication calls fail when a particular mechanism isn't available, introduced these functions for DIGEST, NTLM, Kerberos 5 and Negotiate to allow both HTTP and SASL authentication the opportunity to query support for a supported mechanism before selecting it. For now each function returns TRUE to maintain compatability with the existing code when called.
Diffstat (limited to 'lib/vauth/vauth.h')
-rw-r--r--lib/vauth/vauth.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/vauth/vauth.h b/lib/vauth/vauth.h
index 38806ee73..3ad2139f9 100644
--- a/lib/vauth/vauth.h
+++ b/lib/vauth/vauth.h
@@ -83,6 +83,9 @@ CURLcode Curl_auth_create_cram_md5_message(struct Curl_easy *data,
const char *passwdp,
char **outptr, size_t *outlen);
+/* This is used to evaluate if DIGEST is supported */
+bool Curl_auth_is_digest_supported(void);
+
/* This is used to generate a base64 encoded DIGEST-MD5 response message */
CURLcode Curl_auth_create_digest_md5_message(struct Curl_easy *data,
const char *chlg64,
@@ -109,6 +112,9 @@ void Curl_auth_digest_cleanup(struct digestdata *digest);
#endif /* !CURL_DISABLE_CRYPTO_AUTH */
#if defined(USE_NTLM)
+/* This is used to evaluate if NTLM is supported */
+bool Curl_auth_is_ntlm_supported(void);
+
/* This is used to generate a base64 encoded NTLM type-1 message */
CURLcode Curl_auth_create_ntlm_type1_message(const char *userp,
const char *passwdp,
@@ -140,6 +146,9 @@ CURLcode Curl_auth_create_oauth_bearer_message(struct Curl_easy *data,
const char *bearer,
char **outptr, size_t *outlen);
#if defined(USE_KERBEROS5)
+/* This is used to evaluate if GSSAPI (Kerberos V5) is supported */
+bool Curl_auth_is_gssapi_supported(void);
+
/* This is used to generate a base64 encoded GSSAPI (Kerberos V5) user token
message */
CURLcode Curl_auth_create_gssapi_user_message(struct Curl_easy *data,
@@ -165,6 +174,9 @@ void Curl_auth_gssapi_cleanup(struct kerberos5data *krb5);
#endif /* USE_KERBEROS5 */
#if defined(USE_SPNEGO)
+/* This is used to evaluate if SPNEGO (Negotiate) is supported */
+bool Curl_auth_is_spnego_supported(void);
+
/* This is used to decode a base64 encoded SPNEGO (Negotiate) challenge
message */
CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,