From 53108806af58264196b188f2f9ac8d128b8dc239 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 14 Jan 2008 22:02:14 +0000 Subject: [PATCH] Joe Malicki filed bug report #1871269 (http://curl.haxx.se/bug/view.cgi?id=1871269) and we could fix his hang- problem that occurred when doing a large HTTP POST request with the response-body read from a callback. --- CHANGES | 6 ++++++ RELEASE-NOTES | 4 +++- lib/http.c | 4 +++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index e52589147..560f1791b 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,12 @@ Changelog +Daniel S (14 Jan 2008) +- Joe Malicki filed bug report #1871269 + (http://curl.haxx.se/bug/view.cgi?id=1871269) and we could fix his hang- + problem that occurred when doing a large HTTP POST request with the + response-body read from a callback. + Daniel S (12 Jan 2008) - I re-arranged the curl --help output. All the options are now sorted on their long option names and all descriptions are one-liners. diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 58e6def27..10d05e71f 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -52,6 +52,7 @@ This release includes the following bugfixes: o allows more spaces in WWW/Proxy-Authenticate: headers o curl-config --libs skips /usr/lib64 o range support for file:// transfers + o libcurl hang with huge POST request and request-body read from callback This release includes the following known bugs: @@ -74,6 +75,7 @@ advice from friends like these: Emil Romanus, Alessandro Vesely, Ray Pekowski, Spacen Jasset, Andrew Moise, Gilles Blanc, David Wright, Vikram Saxena, Mateusz Loskot, Gary Maxwell, Dmitry Kurochkin, Mohun Biswas, Richard Atterer, Maxim Perenesenko, - Daniel Egger, Jeff Johnson, Nikitinskit Dmitriy, Georg Lippitsch, Eric Landes + Daniel Egger, Jeff Johnson, Nikitinskit Dmitriy, Georg Lippitsch, Eric Landes, + Joe Malicki Thanks! (and sorry if I forgot to mention someone) diff --git a/lib/http.c b/lib/http.c index fd58c06cc..1dcdc0f91 100644 --- a/lib/http.c +++ b/lib/http.c @@ -2705,8 +2705,10 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) /* set the pointer to mark that we will send the post body using the read callback, but only if we're not in authenticate negotiation */ - if(!conn->bits.authneg) + if(!conn->bits.authneg) { http->postdata = (char *)&http->postdata; + http->postsize = postsize; + } } } /* issue the request */