Skip to content

Commit

Permalink
http_perhapsrewind: consider NTLM over proxy too
Browse files Browse the repository at this point in the history
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
  • Loading branch information
bagder committed Nov 7, 2012
1 parent e1fa945 commit 487538e
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions lib/http.c
Original file line number Diff line number Diff line change
Expand Up @@ -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. */

Expand All @@ -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 */
Expand Down

0 comments on commit 487538e

Please sign in to comment.