diff options
Diffstat (limited to 'cups/request.c')
-rw-r--r-- | cups/request.c | 18 |
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)) { |