aboutsummaryrefslogtreecommitdiff
path: root/lib/url.h
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2013-08-05 23:49:53 +0200
committerDaniel Stenberg <daniel@haxx.se>2013-08-06 09:57:59 +0200
commit7cc00d9a832c42a330888aa5c11a2abad1bd5ac0 (patch)
tree6a5cd7dd22df9292abd502fed6b5e25c72bcecbd /lib/url.h
parent230e16dc033a05ad9b2ed8a499f74b69886e0865 (diff)
FTP: when EPSV gets a 229 but fails to connect, retry with PASV
This is a regression as this logic used to work. It isn't clear when it broke, but I'm assuming in 7.28.0 when we went all-multi internally. This likely never worked with the multi interface. As the failed connection is detected once the multi state has reached DO_MORE, the Curl_do_more() function was now expanded somewhat so that the ftp_do_more() function can request to go "back" to the previous state when it makes another attempt - using PASV. Added test case 1233 to verify this fix. It has the little issue that it assumes no service is listening/accepting connections on port 1... Reported-by: byte_bucket in the #curl IRC channel
Diffstat (limited to 'lib/url.h')
-rw-r--r--lib/url.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/url.h b/lib/url.h
index a026e90e8..c0d9c38dc 100644
--- a/lib/url.h
+++ b/lib/url.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2013, 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
@@ -37,7 +37,7 @@ CURLcode Curl_close(struct SessionHandle *data); /* opposite of curl_open() */
CURLcode Curl_connect(struct SessionHandle *, struct connectdata **,
bool *async, bool *protocol_connect);
CURLcode Curl_do(struct connectdata **, bool *done);
-CURLcode Curl_do_more(struct connectdata *, bool *completed);
+CURLcode Curl_do_more(struct connectdata *, int *completed);
CURLcode Curl_done(struct connectdata **, CURLcode, bool premature);
CURLcode Curl_disconnect(struct connectdata *, bool dead_connection);
CURLcode Curl_protocol_connect(struct connectdata *conn, bool *done);