summaryrefslogtreecommitdiff
path: root/lib/vauth/vauth.h
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2020-12-24 19:48:45 +0100
committerDaniel Stenberg <daniel@haxx.se>2021-02-09 10:53:25 +0100
commit3eebbfe8f34d37c4d68d08277a44ec7aa6bd0889 (patch)
tree0e8140b9cad228433a94303b37b9358e1502efb7 /lib/vauth/vauth.h
parentcb2dc1ba89dbdb3850de8e92907bbbbb9c1903e0 (diff)
downloadcurl-3eebbfe8f34d37c4d68d08277a44ec7aa6bd0889.tar.gz
sasl: support SCRAM-SHA-1 and SCRAM-SHA-256 via libgsasl
Closes #6372
Diffstat (limited to 'lib/vauth/vauth.h')
-rw-r--r--lib/vauth/vauth.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/vauth/vauth.h b/lib/vauth/vauth.h
index f25cfc329..e7728c4ba 100644
--- a/lib/vauth/vauth.h
+++ b/lib/vauth/vauth.h
@@ -42,6 +42,10 @@ struct kerberos5data;
struct negotiatedata;
#endif
+#if defined(USE_GSASL)
+struct gsasldata;
+#endif
+
#if defined(USE_WINDOWS_SSPI)
#define GSS_ERROR(status) ((status) & 0x80000000)
#endif
@@ -115,6 +119,27 @@ CURLcode Curl_auth_create_digest_http_message(struct Curl_easy *data,
void Curl_auth_digest_cleanup(struct digestdata *digest);
#endif /* !CURL_DISABLE_CRYPTO_AUTH */
+#ifdef USE_GSASL
+/* This is used to evaluate if MECH is supported by gsasl */
+bool Curl_auth_gsasl_is_supported(struct Curl_easy *data,
+ const char *mech,
+ struct gsasldata *gsasl);
+/* This is used to start a gsasl method */
+CURLcode Curl_auth_gsasl_start(struct Curl_easy *data,
+ const char *userp,
+ const char *passwdp,
+ struct gsasldata *gsasl);
+
+/* This is used to process and generate a new SASL token */
+CURLcode Curl_auth_gsasl_token(struct Curl_easy *data,
+ const char *chlg64,
+ struct gsasldata *gsasl,
+ char **outptr, size_t *outlen);
+
+/* This is used to clean up the gsasl specific data */
+void Curl_auth_gsasl_cleanup(struct gsasldata *digest);
+#endif
+
#if defined(USE_NTLM)
/* This is used to evaluate if NTLM is supported */
bool Curl_auth_is_ntlm_supported(void);