]> granicus.if.org Git - curl/commitdiff
Known bug #47, which confused libcurl if doing NTLM auth over a proxy with
authorDaniel Stenberg <daniel@haxx.se>
Sun, 7 Oct 2007 08:28:03 +0000 (08:28 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Sun, 7 Oct 2007 08:28:03 +0000 (08:28 +0000)
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.

CHANGES
TODO-RELEASE
docs/KNOWN_BUGS
lib/http.c

diff --git a/CHANGES b/CHANGES
index 56bb14e98508e74e30853f9ab0b48c747226149d..662ea4f9f886ee64755c3a4d87191976a80e116e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,13 @@
 
                                   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)
 - Michael Wallner made the CULROPT_COOKIELIST option support a new magic
   string: "FLUSH". Using that will cause libcurl to flush its cookies to the
index 53184e832b0fa7e477a8d2b94a126a1db9f5ecd0..e08c63eea6c54207ab92c901f182eeacc72ee32e 100644 (file)
@@ -5,6 +5,4 @@ To be addressed before 7.17.1 (planned release: November 2007)
 
 100 - icc segmentation faults
 
-101 - known bug #47, if a CONNECT response is larger than BUFSIZE
-
 103 -
index 2b2fffb715fa7e52bf15f3e659c24c3342d0a054..63839689aaee57157291d4692087de2664e2219b 100644 (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
 may have been fixed since this was written!
 
-47. If a CONNECT response is larger than BUFSIZE when the connection is meant
-  to be kept alive, the function will return prematurely and will confuse the
-  rest of the HTTP protocol code.
+48. If a CONNECT response-headers are larger than BUFSIZE (16KB) when the
+  connection is meant to be kept alive (like for NTLM proxy auth), the
+  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.
   getaddrinfo() sorts the response list which effectively kills how libcurl
index 90f56f1ba89319d4ae21e6ab3b4fe659d32b5c18..babd406d8d052a0ba1b1bc73bdaf8d38b3f80506 100644 (file)
@@ -1342,6 +1342,8 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn,
 
             if(keepon > TRUE) {
               /* This means we are currently ignoring a response-body */
+
+              nread = 0; /* make next read start over in the read buffer */
               if(cl) {
                 /* A Content-Length based body: simply count down the counter
                    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]) ||
                      ('\n' == line_start[0])) {
                     /* 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 we get a 407 response code with content length
                          when we have no auth problem, we must ignore the