Loading lib/curl_sasl.c +23 −0 Original line number Diff line number Diff line Loading @@ -582,6 +582,29 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data, } #endif /* !USE_WINDOWS_SSPI */ /* * 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) { Curl_safefree(digest->nonce); Curl_safefree(digest->cnonce); Curl_safefree(digest->realm); Curl_safefree(digest->opaque); Curl_safefree(digest->qop); Curl_safefree(digest->algorithm); digest->nc = 0; digest->algo = CURLDIGESTALGO_MD5; /* default algorithm */ digest->stale = FALSE; /* default means normal, not stale */ } #endif /* CURL_DISABLE_CRYPTO_AUTH */ #ifdef USE_NTLM Loading lib/curl_sasl.h +3 −0 Original line number Diff line number Diff line Loading @@ -104,6 +104,9 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data, const char *passwdp, const char *service, char **outptr, size_t *outlen); /* This is used to clean up the digest specific data */ void Curl_sasl_digest_cleanup(struct digestdata *digest); #endif #ifdef USE_NTLM Loading lib/http_digest.c +3 −20 Original line number Diff line number Diff line Loading @@ -45,8 +45,6 @@ #define MAX_VALUE_LENGTH 256 #define MAX_CONTENT_LENGTH 1024 static void digest_cleanup_one(struct digestdata *dig); /* * Return 0 on success and then the buffers are filled in fine. * Loading Loading @@ -150,7 +148,7 @@ CURLcode Curl_input_digest(struct connectdata *conn, before = TRUE; /* clear off any former leftovers and init to defaults */ digest_cleanup_one(d); Curl_sasl_digest_cleanup(d); for(;;) { char value[MAX_VALUE_LENGTH]; Loading Loading @@ -579,25 +577,10 @@ CURLcode Curl_output_digest(struct connectdata *conn, return CURLE_OK; } static void digest_cleanup_one(struct digestdata *d) { Curl_safefree(d->nonce); Curl_safefree(d->cnonce); Curl_safefree(d->realm); Curl_safefree(d->opaque); Curl_safefree(d->qop); Curl_safefree(d->algorithm); d->nc = 0; d->algo = CURLDIGESTALGO_MD5; /* default algorithm */ d->stale = FALSE; /* default means normal, not stale */ } void Curl_digest_cleanup(struct SessionHandle *data) { digest_cleanup_one(&data->state.digest); digest_cleanup_one(&data->state.proxydigest); Curl_sasl_digest_cleanup(&data->state.digest); Curl_sasl_digest_cleanup(&data->state.proxydigest); } #endif Loading
lib/curl_sasl.c +23 −0 Original line number Diff line number Diff line Loading @@ -582,6 +582,29 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data, } #endif /* !USE_WINDOWS_SSPI */ /* * 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) { Curl_safefree(digest->nonce); Curl_safefree(digest->cnonce); Curl_safefree(digest->realm); Curl_safefree(digest->opaque); Curl_safefree(digest->qop); Curl_safefree(digest->algorithm); digest->nc = 0; digest->algo = CURLDIGESTALGO_MD5; /* default algorithm */ digest->stale = FALSE; /* default means normal, not stale */ } #endif /* CURL_DISABLE_CRYPTO_AUTH */ #ifdef USE_NTLM Loading
lib/curl_sasl.h +3 −0 Original line number Diff line number Diff line Loading @@ -104,6 +104,9 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data, const char *passwdp, const char *service, char **outptr, size_t *outlen); /* This is used to clean up the digest specific data */ void Curl_sasl_digest_cleanup(struct digestdata *digest); #endif #ifdef USE_NTLM Loading
lib/http_digest.c +3 −20 Original line number Diff line number Diff line Loading @@ -45,8 +45,6 @@ #define MAX_VALUE_LENGTH 256 #define MAX_CONTENT_LENGTH 1024 static void digest_cleanup_one(struct digestdata *dig); /* * Return 0 on success and then the buffers are filled in fine. * Loading Loading @@ -150,7 +148,7 @@ CURLcode Curl_input_digest(struct connectdata *conn, before = TRUE; /* clear off any former leftovers and init to defaults */ digest_cleanup_one(d); Curl_sasl_digest_cleanup(d); for(;;) { char value[MAX_VALUE_LENGTH]; Loading Loading @@ -579,25 +577,10 @@ CURLcode Curl_output_digest(struct connectdata *conn, return CURLE_OK; } static void digest_cleanup_one(struct digestdata *d) { Curl_safefree(d->nonce); Curl_safefree(d->cnonce); Curl_safefree(d->realm); Curl_safefree(d->opaque); Curl_safefree(d->qop); Curl_safefree(d->algorithm); d->nc = 0; d->algo = CURLDIGESTALGO_MD5; /* default algorithm */ d->stale = FALSE; /* default means normal, not stale */ } void Curl_digest_cleanup(struct SessionHandle *data) { digest_cleanup_one(&data->state.digest); digest_cleanup_one(&data->state.proxydigest); Curl_sasl_digest_cleanup(&data->state.digest); Curl_sasl_digest_cleanup(&data->state.proxydigest); } #endif