From ea014d857fb14699a46f37201ecefcb7735f2667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= <des@FreeBSD.org> Date: Mon, 21 Aug 2000 07:18:31 +0000 Subject: [PATCH] Grok 125 replies to passive RETR. This fixes an interoperability bug with Microsoft FTP Service. Reported by: asmodai, eivind --- lib/libfetch/ftp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/libfetch/ftp.c b/lib/libfetch/ftp.c index 7da413fd77bf..78e2de1edf5f 100644 --- a/lib/libfetch/ftp.c +++ b/lib/libfetch/ftp.c @@ -76,6 +76,7 @@ #define FTP_ANONYMOUS_USER "ftp" #define FTP_ANONYMOUS_PASSWORD "ftp" +#define FTP_CONNECTION_ALREADY_OPEN 125 #define FTP_OPEN_DATA_CONNECTION 150 #define FTP_OK 200 #define FTP_FILE_STATUS 213 @@ -452,7 +453,7 @@ _ftp_transfer(int cd, char *oper, char *file, if (verbose) _fetch_info("initiating transfer"); e = _ftp_cmd(cd, "%s %s", oper, _ftp_filename(file)); - if (e != FTP_OPEN_DATA_CONNECTION) + if (e != FTP_CONNECTION_ALREADY_OPEN && e != FTP_OPEN_DATA_CONNECTION) goto ouch; } else {