aboutsummaryrefslogtreecommitdiff
path: root/lib/http.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2012-11-07 23:08:29 +0100
committerDaniel Stenberg <daniel@haxx.se>2012-11-07 23:08:29 +0100
commit487538e87a3d5e1ac5874d4522a5636713054132 (patch)
tree907189ef2cfeaec277bc1523ab3c0902af80fd5a /lib/http.c
parente1fa945e7e55bf0dd2cc0de482753e00c2f36116 (diff)
http_perhapsrewind: consider NTLM over proxy too
The logic previously checked for a started NTLM negotiation only for host and not also with proxy, leading to problems doing POSTs over a proxy NTLM that are larger than 2000 bytes. Now it includes proxy in the check. Bug: http://curl.haxx.se/bug/view.cgi?id=3582321 Reported by: John Suprock
Diffstat (limited to 'lib/http.c')
-rw-r--r--lib/http.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/http.c b/lib/http.c
index 0c12d1896..4eee83221 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -387,7 +387,8 @@ static CURLcode http_perhapsrewind(struct connectdata *conn)
(data->state.authproxy.picked == CURLAUTH_NTLM_WB) ||
(data->state.authhost.picked == CURLAUTH_NTLM_WB)) {
if(((expectsend - bytessent) < 2000) ||
- (conn->ntlm.state != NTLMSTATE_NONE)) {
+ (conn->ntlm.state != NTLMSTATE_NONE) ||
+ (conn->proxyntlm.state != NTLMSTATE_NONE)) {
/* The NTLM-negotiation has started *OR* there is just a little (<2K)
data left to send, keep on sending. */
@@ -407,7 +408,7 @@ static CURLcode http_perhapsrewind(struct connectdata *conn)
" bytes\n", (curl_off_t)(expectsend - bytessent));
}
- /* This is not NTLM or NTLM with many bytes left to send: close
+ /* This is not NTLM or many bytes left to send: close
*/
conn->bits.close = TRUE;
data->req.size = 0; /* don't download any more than 0 bytes */