Changelog
+Daniel (30 January 2006)
+- Based on an error report by Philippe Vaucher, we no longer count a retried
+ connection setup as a follow-redirect. It turns out 1) this fails when a FTP
+ connection is re-setup and 2) it does make the max-redirs counter behave
+ wrong. This fix was not verified since the reporter vanished, but I believe
+ this is the right fix nonetheless.
+
Daniel (24 January 2006)
- Michal Marek provided a patch for FTP that makes libcurl continue to try
PASV even after EPSV returned a positive response code, if libcurl failed to
This release includes the following bugfixes:
+ o re-creating a dead connection is no longer counted internally as a followed
+ redirect and thus prevents a weird error that would occur if a FTP
+ connection died on an attempted re-use
o Try PASV after failing to connect to the port the EPSV response contained
o -P [IP] with ipv6-enabled curl
o -P [hostname] with ipv6-disabled curl
Dov Murik, Jean Jacques Drouin, Andres Garcia, Yang Tse, Gisle Vanem, Dan
Fandrich, Alexander Lazic, Michael Jahn, Andrew Benham, Bryan Henderson,
- David Shaw, Jon Turner, Duane Cathey, Michal Marek
+ David Shaw, Jon Turner, Duane Cathey, Michal Marek, Philippe Vaucher
Thanks! (and sorry if I forgot to mention someone)
size_t newlen;
char *newest;
- if ((data->set.maxredirs != -1) &&
- (data->set.followlocation >= data->set.maxredirs)) {
- failf(data,"Maximum (%d) redirects followed", data->set.maxredirs);
- return CURLE_TOO_MANY_REDIRECTS;
- }
+ if(!retry) {
+ if ((data->set.maxredirs != -1) &&
+ (data->set.followlocation >= data->set.maxredirs)) {
+ failf(data,"Maximum (%d) redirects followed", data->set.maxredirs);
+ return CURLE_TOO_MANY_REDIRECTS;
+ }
- if(!retry)
/* mark the next request as a followed location: */
data->state.this_is_a_follow = TRUE;
- data->set.followlocation++; /* count location-followers */
+ data->set.followlocation++; /* count location-followers */
+ }
if(data->set.http_auto_referer) {
/* We are asked to automatically set the previous URL as the