Known bug #47, which confused libcurl if doing NTLM auth over a proxy with

a response that was larger than 16KB is now improved slightly so that now
the restriction at 16KB is for the headers only and it should be a rare
situation where the response-headers exceed 16KB. Thus, I consider #47 fixed
and the header limitation is now known as known bug #48.
This commit is contained in:
Daniel Stenberg 2007-10-07 08:28:03 +00:00
parent 43a4604639
commit 08fd1829e0
4 changed files with 15 additions and 5 deletions

View File

@ -6,6 +6,13 @@
Changelog Changelog
Daniel S (7 October 2007)
- Known bug #47, which confused libcurl if doing NTLM auth over a proxy with
a response that was larger than 16KB is now improved slightly so that now
the restriction at 16KB is for the headers only and it should be a rare
situation where the response-headers exceed 16KB. Thus, I consider #47 fixed
and the header limitation is now known as known bug #48.
Daniel S (5 October 2007) Daniel S (5 October 2007)
- Michael Wallner made the CULROPT_COOKIELIST option support a new magic - Michael Wallner made the CULROPT_COOKIELIST option support a new magic
string: "FLUSH". Using that will cause libcurl to flush its cookies to the string: "FLUSH". Using that will cause libcurl to flush its cookies to the

View File

@ -5,6 +5,4 @@ To be addressed before 7.17.1 (planned release: November 2007)
100 - icc segmentation faults 100 - icc segmentation faults
101 - known bug #47, if a CONNECT response is larger than BUFSIZE
103 - 103 -

View File

@ -3,9 +3,10 @@ join in and help us correct one or more of these! Also be sure to check the
changelog of the current development status, as one or more of these problems changelog of the current development status, as one or more of these problems
may have been fixed since this was written! may have been fixed since this was written!
47. If a CONNECT response is larger than BUFSIZE when the connection is meant 48. If a CONNECT response-headers are larger than BUFSIZE (16KB) when the
to be kept alive, the function will return prematurely and will confuse the connection is meant to be kept alive (like for NTLM proxy auth), the
rest of the HTTP protocol code. function will return prematurely and will confuse the rest of the HTTP
protocol code. This should be very rare.
45. libcurl built to support ipv6 uses getaddrinfo() to resolve host names. 45. libcurl built to support ipv6 uses getaddrinfo() to resolve host names.
getaddrinfo() sorts the response list which effectively kills how libcurl getaddrinfo() sorts the response list which effectively kills how libcurl

View File

@ -1342,6 +1342,8 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn,
if(keepon > TRUE) { if(keepon > TRUE) {
/* This means we are currently ignoring a response-body */ /* This means we are currently ignoring a response-body */
nread = 0; /* make next read start over in the read buffer */
if(cl) { if(cl) {
/* A Content-Length based body: simply count down the counter /* A Content-Length based body: simply count down the counter
and make sure to break out of the loop when we're done! */ and make sure to break out of the loop when we're done! */
@ -1399,6 +1401,8 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn,
if(('\r' == line_start[0]) || if(('\r' == line_start[0]) ||
('\n' == line_start[0])) { ('\n' == line_start[0])) {
/* end of response-headers from the proxy */ /* end of response-headers from the proxy */
nread = 0; /* make next read start over in the read
buffer */
if((407 == k->httpcode) && !data->state.authproblem) { if((407 == k->httpcode) && !data->state.authproblem) {
/* If we get a 407 response code with content length /* If we get a 407 response code with content length
when we have no auth problem, we must ignore the when we have no auth problem, we must ignore the