summaryrefslogtreecommitdiffstats
path: root/lib/libfetch
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2000-08-21 07:18:31 +0000
committerdes <des@FreeBSD.org>2000-08-21 07:18:31 +0000
commit98f58e5a223842d207b0b35da3d34a4a9d6e2176 (patch)
treebae296708efb53d06f4a9b52aa217997206f7c85 /lib/libfetch
parent464cafef95cadb82b01eeec4fdc2cc1296b4621e (diff)
downloadFreeBSD-src-98f58e5a223842d207b0b35da3d34a4a9d6e2176.zip
FreeBSD-src-98f58e5a223842d207b0b35da3d34a4a9d6e2176.tar.gz
Grok 125 replies to passive RETR. This fixes an interoperability bug with
Microsoft FTP Service. Reported by: asmodai, eivind
Diffstat (limited to 'lib/libfetch')
-rw-r--r--lib/libfetch/ftp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libfetch/ftp.c b/lib/libfetch/ftp.c
index 7da413f..78e2de1 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 {
OpenPOWER on IntegriCloud