Changelog
+Daniel Stenberg (10 Jan 2009)
+- Emil Romanus fixed:
+
+ When using the multi interface over HTTP and the server returns a Location
+ header, the running easy handle will get stuck in the CURLM_STATE_PERFORM
+ state, leaving the external event loop stuck waiting for data from the
+ ingoing socket (when using the curl_multi_socket_action stuff). While this
+ bug was pretty hard to find, it seems to require only a one-line fix. The
+ break statement on line 1374 in multi.c caused the function to skip the call
+ to multistate().
+
+ How to reproduce this bug? Well, that's another question. evhiperfifo.c in
+ the examples directory chokes on this bug only _sometimes_, probably
+ depending on how fast the URLs are added. One way of testing the bug out is
+ writing to hiper.fifo from more than one source at the same time.
+
Daniel Fandrich (7 Jan 2009)
- Unified much of the SessionHandle initialization done in Curl_open() and
- curl_easy_reset() by creating Curl_init_userdefined(). This had the side effect
- of fixing curl_easy_reset() so it now also resets CURLOPT_FTP_FILEMETHOD and
- CURLOPT_SSL_SESSIONID_CACHE
+ curl_easy_reset() by creating Curl_init_userdefined(). This had the side
+ effect of fixing curl_easy_reset() so it now also resets
+ CURLOPT_FTP_FILEMETHOD and CURLOPT_SSL_SESSIONID_CACHE
Daniel Stenberg (7 Jan 2009)
- Rob Crittenden did once again provide an NSS update:
o TTL "leak" in the DNS cache
o improved NSS initing
o curl_easy_reset now resets more options
+ o rare Location: follow bug with the multi interface
This release includes the following known bugs:
Yang Tse, Daniel Fandrich, Jim Meyering, Christian Krause, Andreas Wurf,
Markus Koetter, Josef Wolf, Vlad Grachov, Pawel Kierski, Igor Novoseltsev,
Fred Machado, Ken Hirsch, Keshav Krity, Patrick Monnerat, Mark Karpeles,
- Anthony Bryan, Peter Korsgaard, Phil Lisiecki, Bas Mevissen, Rob Crittenden
+ Anthony Bryan, Peter Korsgaard, Phil Lisiecki, Bas Mevissen, Rob Crittenden,
+ Emil Romanus
Thanks! (and sorry if I forgot to mention someone)
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
easy->result = Curl_follow(easy->easy_handle, newurl, FOLLOW_FAKE);
if (easy->result)
free(newurl);
- break;
}
multistate(easy, CURLM_STATE_DONE);