diff options
author | Simon Josefsson <simon@josefsson.org> | 2020-12-24 19:48:45 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2021-02-09 10:53:25 +0100 |
commit | 3eebbfe8f34d37c4d68d08277a44ec7aa6bd0889 (patch) | |
tree | 0e8140b9cad228433a94303b37b9358e1502efb7 /lib/vauth/vauth.h | |
parent | cb2dc1ba89dbdb3850de8e92907bbbbb9c1903e0 (diff) | |
download | curl-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.h | 25 |
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); |