diff options
author | Daniel Stenberg <daniel@haxx.se> | 2012-11-07 23:08:29 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2012-11-07 23:08:29 +0100 |
commit | 487538e87a3d5e1ac5874d4522a5636713054132 (patch) | |
tree | 907189ef2cfeaec277bc1523ab3c0902af80fd5a /lib/http.c | |
parent | e1fa945e7e55bf0dd2cc0de482753e00c2f36116 (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.c | 5 |
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 */ |