Commit 08fd1829 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

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.
parent 43a46046
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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
+0 −2
Original line number Diff line number Diff line
@@ -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 -
+4 −3
Original line number Diff line number Diff line
@@ -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
+4 −0
Original line number Diff line number Diff line
@@ -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