diff options
| -rw-r--r-- | lib/curl_sasl.c | 3 | ||||
| -rw-r--r-- | lib/curl_sasl_sspi.c | 77 | 
2 files changed, 79 insertions, 1 deletions
| diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c index 5ef7151da..70e5db3ef 100644 --- a/lib/curl_sasl.c +++ b/lib/curl_sasl.c @@ -711,7 +711,6 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data,    return result;  } -#endif  /* !USE_WINDOWS_SSPI */  /*   * Curl_sasl_decode_digest_http_message() @@ -1100,6 +1099,8 @@ void Curl_sasl_digest_cleanup(struct digestdata *digest)    digest->algo = CURLDIGESTALGO_MD5; /* default algorithm */    digest->stale = FALSE; /* default means normal, not stale */  } +#endif  /* !USE_WINDOWS_SSPI */ +  #endif  /* CURL_DISABLE_CRYPTO_AUTH */  #ifdef USE_NTLM diff --git a/lib/curl_sasl_sspi.c b/lib/curl_sasl_sspi.c index 9dc2749a8..3fcfbbf19 100644 --- a/lib/curl_sasl_sspi.c +++ b/lib/curl_sasl_sspi.c @@ -271,6 +271,83 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data,    return result;  } + +/* + * Curl_sasl_decode_digest_http_message() + * + * This is used to decode a HTTP DIGEST challenge message into the seperate + * attributes. + * + * Parameters: + * + * chlg    [in]     - Pointer to the challenge message. + * digest  [in/out] - The digest data struct being used and modified. + * + * Returns CURLE_OK on success. + */ +CURLcode Curl_sasl_decode_digest_http_message(const char *chlg, +                                              struct digestdata *digest) +{ +  (void) chlg; +  (void) digest; + +  return CURLE_NOT_BUILT_IN; +} + +/* + * Curl_sasl_create_digest_http_message() + * + * This is used to generate a HTTP DIGEST response message ready for sending + * to the recipient. + * + * Parameters: + * + * data    [in]     - The session handle. + * userp   [in]     - The user name. + * passdwp [in]     - The user's password. + * request [in]     - The HTTP request. + * uripath [in]     - The path of the HTTP uri. + * digest  [in/out] - The digest data struct being used and modified. + * outptr  [in/out] - The address where a pointer to newly allocated memory + *                    holding the result will be stored upon completion. + * outlen  [out]    - The length of the output message. + * + * Returns CURLE_OK on success. + */ +CURLcode Curl_sasl_create_digest_http_message(struct SessionHandle *data, +                                              const char *userp, +                                              const char *passwdp, +                                              const unsigned char *request, +                                              const unsigned char *uripath, +                                              struct digestdata *digest, +                                              char **outptr, size_t *outlen) +{ +  (void) data; +  (void) userp; +  (void) passwdp; +  (void) request; +  (void) uripath; +  (void) digest; +  (void) outptr; +  (void) outlen; + +  return CURLE_NOT_BUILT_IN; +} + +/* + * Curl_sasl_digest_cleanup() + * + * This is used to clean up the digest specific data. + * + * Parameters: + * + * digest    [in/out] - The digest data struct being cleaned up. + * + */ +void Curl_sasl_digest_cleanup(struct digestdata *digest) +{ +  (void) digest; +}  #endif /* !CURL_DISABLE_CRYPTO_AUTH */  #if defined(USE_KRB5) | 
