On Wed, 17 Jan 2018, Ruurd Beerstra via curl-library wrote:

We have a reasonable workaround (separate sessions) but any insights or solutions would be much appreciated.

Hey,

Can you please try to attached patch and see if it fixes your problem?

--

 / daniel.haxx.se
From d6e9eb925a019bb0ba12ca41252a74442cba040b Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <[email protected]>
Date: Thu, 25 Jan 2018 17:51:26 +0100
Subject: [PATCH] curl_easy_reset: clear digest auth state

Bug: https://curl.haxx.se/mail/lib-2018-01/0074.html
Reported-by: Ruurd Beerstra
Fixes #2255
---
 lib/easy.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/easy.c b/lib/easy.c
index edc716d0a..947ab1aa3 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -1015,10 +1015,12 @@ void curl_easy_reset(struct Curl_easy *data)
   data->state.current_speed = -1; /* init to negative == impossible */
 
   /* zero out authentication data: */
   memset(&data->state.authhost, 0, sizeof(struct auth));
   memset(&data->state.authproxy, 0, sizeof(struct auth));
+  memset(&data->state.digest, 0, sizeof(struct digestdata));
+  memset(&data->state.proxydigest, 0, sizeof(struct digestdata));
 }
 
 /*
  * curl_easy_pause() allows an application to pause or unpause a specific
  * transfer and direction. This function sets the full new state for the
-- 
2.15.1

-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html

Reply via email to