diff options
author | des <des@FreeBSD.org> | 2000-08-21 07:18:31 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2000-08-21 07:18:31 +0000 |
commit | 98f58e5a223842d207b0b35da3d34a4a9d6e2176 (patch) | |
tree | bae296708efb53d06f4a9b52aa217997206f7c85 /lib/libfetch | |
parent | 464cafef95cadb82b01eeec4fdc2cc1296b4621e (diff) | |
download | FreeBSD-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.c | 3 |
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 { |