mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
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.
This commit is contained in:
parent
f3bc8e6ce1
commit
32bc30e210
7
CHANGES
7
CHANGES
@ -6,6 +6,13 @@
|
|||||||
|
|
||||||
Changelog
|
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)
|
Daniel (24 January 2006)
|
||||||
- Michal Marek provided a patch for FTP that makes libcurl continue to try
|
- 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
|
PASV even after EPSV returned a positive response code, if libcurl failed to
|
||||||
|
@ -18,6 +18,9 @@ This release includes the following changes:
|
|||||||
|
|
||||||
This release includes the following bugfixes:
|
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 Try PASV after failing to connect to the port the EPSV response contained
|
||||||
o -P [IP] with ipv6-enabled curl
|
o -P [IP] with ipv6-enabled curl
|
||||||
o -P [hostname] with ipv6-disabled curl
|
o -P [hostname] with ipv6-disabled curl
|
||||||
@ -51,6 +54,6 @@ advice from friends like these:
|
|||||||
|
|
||||||
Dov Murik, Jean Jacques Drouin, Andres Garcia, Yang Tse, Gisle Vanem, Dan
|
Dov Murik, Jean Jacques Drouin, Andres Garcia, Yang Tse, Gisle Vanem, Dan
|
||||||
Fandrich, Alexander Lazic, Michael Jahn, Andrew Benham, Bryan Henderson,
|
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)
|
Thanks! (and sorry if I forgot to mention someone)
|
||||||
|
@ -1765,17 +1765,18 @@ CURLcode Curl_follow(struct SessionHandle *data,
|
|||||||
size_t newlen;
|
size_t newlen;
|
||||||
char *newest;
|
char *newest;
|
||||||
|
|
||||||
if ((data->set.maxredirs != -1) &&
|
if(!retry) {
|
||||||
(data->set.followlocation >= data->set.maxredirs)) {
|
if ((data->set.maxredirs != -1) &&
|
||||||
failf(data,"Maximum (%d) redirects followed", data->set.maxredirs);
|
(data->set.followlocation >= data->set.maxredirs)) {
|
||||||
return CURLE_TOO_MANY_REDIRECTS;
|
failf(data,"Maximum (%d) redirects followed", data->set.maxredirs);
|
||||||
}
|
return CURLE_TOO_MANY_REDIRECTS;
|
||||||
|
}
|
||||||
|
|
||||||
if(!retry)
|
|
||||||
/* mark the next request as a followed location: */
|
/* mark the next request as a followed location: */
|
||||||
data->state.this_is_a_follow = TRUE;
|
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) {
|
if(data->set.http_auto_referer) {
|
||||||
/* We are asked to automatically set the previous URL as the
|
/* We are asked to automatically set the previous URL as the
|
||||||
|
Loading…
Reference in New Issue
Block a user