summaryrefslogtreecommitdiff
path: root/cups/request.c
diff options
context:
space:
mode:
Diffstat (limited to 'cups/request.c')
-rw-r--r--cups/request.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/cups/request.c b/cups/request.c
index 4b3d032f6..924bb6fc0 100644
--- a/cups/request.c
+++ b/cups/request.c
@@ -680,6 +680,24 @@ cupsSendRequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP
digest = http->authstring && !strncmp(http->authstring, "Digest ", 7);
+ if (digest)
+ {
+ /*
+ * Update the Digest authentication string...
+ */
+
+ if (http->nextnonce[0])
+ {
+ strlcpy(http->nonce, http->nextnonce, sizeof(http->nonce));
+ http->nonce_count = 1;
+ http->nextnonce[0] = '\0';
+ }
+ else
+ http->nonce_count ++;
+
+ _httpSetDigestAuthString(http, "POST", resource);
+ }
+
#ifdef HAVE_GSSAPI
if (http->authstring && !strncmp(http->authstring, "Negotiate", 9))
{