Loading CHANGES +5 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,11 @@ Changelog Daniel (2 August 2006) - Mark Lentczner fixed how libcurl was not properly doing chunked encoding if the header "Transfer-Encoding: chunked" was set by the application. http://curl.haxx.se/bug/view.cgi?id=1531838 Daniel (1 August 2006) - Maciej Karpiuk fixed a crash that would occur if we passed Curl_strerror() an unknown error number on glibc systems. Loading RELEASE-NOTES +2 −1 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ This release includes the following changes: This release includes the following bugfixes: o chunked encoding when custom header "Transfer-Encoding: chunked" is set o Curl_strerror() crash on unknown errors o changing Content-Type when doing formposts o added CURL_EXTERN to a few recent multi functions that lacked them Loading Loading @@ -51,6 +52,6 @@ advice from friends like these: Dan Fandrich, Peter Silva, Arve Knudsen, Michael Wallner, Toshiyuki Maezawa, Ingmar Runge, Ates Goral, David McCreedy, Jari Sundell, Georg Horn, Gisle Vanem, Yang Tse, Michael Jerris, Dan Nelson, Yves Lejeune, Maciej Karpiuk Maciej Karpiuk, Mark Lentczner Thanks! (and sorry if I forgot to mention someone) lib/http.c +9 −22 Original line number Diff line number Diff line Loading @@ -1684,30 +1684,17 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) return CURLE_OUT_OF_MEMORY; } if(!conn->bits.upload_chunky && (httpreq != HTTPREQ_GET)) { /* not a chunky transfer yet, but data is to be sent */ ptr = checkheaders(data, "Transfer-Encoding:"); if(ptr) { /* Some kind of TE is requested, check if 'chunked' is chosen */ conn->bits.upload_chunky = Curl_compareheader(ptr, "Transfer-Encoding:", "chunked"); te = ""; } } else if(conn->bits.upload_chunky) { /* RFC2616 section 4.4: Messages MUST NOT include both a Content-Length header field and a non-identity transfer-coding. If the message does include a non- identity transfer-coding, the Content-Length MUST be ignored. */ if(!checkheaders(data, "Transfer-Encoding:")) { te = "Transfer-Encoding: chunked\r\n"; } else { te = ""; conn->bits.upload_chunky = FALSE; /* transfer-encoding was disabled, so don't chunkify this! */ } if (httpreq == HTTPREQ_GET) conn->bits.upload_chunky = FALSE; if(conn->bits.upload_chunky) te = "Transfer-Encoding: chunked\r\n"; } Curl_safefree(conn->allocptr.host); Loading Loading
CHANGES +5 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,11 @@ Changelog Daniel (2 August 2006) - Mark Lentczner fixed how libcurl was not properly doing chunked encoding if the header "Transfer-Encoding: chunked" was set by the application. http://curl.haxx.se/bug/view.cgi?id=1531838 Daniel (1 August 2006) - Maciej Karpiuk fixed a crash that would occur if we passed Curl_strerror() an unknown error number on glibc systems. Loading
RELEASE-NOTES +2 −1 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ This release includes the following changes: This release includes the following bugfixes: o chunked encoding when custom header "Transfer-Encoding: chunked" is set o Curl_strerror() crash on unknown errors o changing Content-Type when doing formposts o added CURL_EXTERN to a few recent multi functions that lacked them Loading Loading @@ -51,6 +52,6 @@ advice from friends like these: Dan Fandrich, Peter Silva, Arve Knudsen, Michael Wallner, Toshiyuki Maezawa, Ingmar Runge, Ates Goral, David McCreedy, Jari Sundell, Georg Horn, Gisle Vanem, Yang Tse, Michael Jerris, Dan Nelson, Yves Lejeune, Maciej Karpiuk Maciej Karpiuk, Mark Lentczner Thanks! (and sorry if I forgot to mention someone)
lib/http.c +9 −22 Original line number Diff line number Diff line Loading @@ -1684,30 +1684,17 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) return CURLE_OUT_OF_MEMORY; } if(!conn->bits.upload_chunky && (httpreq != HTTPREQ_GET)) { /* not a chunky transfer yet, but data is to be sent */ ptr = checkheaders(data, "Transfer-Encoding:"); if(ptr) { /* Some kind of TE is requested, check if 'chunked' is chosen */ conn->bits.upload_chunky = Curl_compareheader(ptr, "Transfer-Encoding:", "chunked"); te = ""; } } else if(conn->bits.upload_chunky) { /* RFC2616 section 4.4: Messages MUST NOT include both a Content-Length header field and a non-identity transfer-coding. If the message does include a non- identity transfer-coding, the Content-Length MUST be ignored. */ if(!checkheaders(data, "Transfer-Encoding:")) { te = "Transfer-Encoding: chunked\r\n"; } else { te = ""; conn->bits.upload_chunky = FALSE; /* transfer-encoding was disabled, so don't chunkify this! */ } if (httpreq == HTTPREQ_GET) conn->bits.upload_chunky = FALSE; if(conn->bits.upload_chunky) te = "Transfer-Encoding: chunked\r\n"; } Curl_safefree(conn->allocptr.host); Loading