;;; ange-ftp.el --- transparent FTP support for GNU Emacs
-;; Copyright (C) 1989-1996, 1998, 2000-2013 Free Software Foundation,
-;; Inc.
+;; Copyright (C) 1989-1996, 1998, 2000-2013 Free Software Foundation, Inc.
;; Author: Andy Norman (ange@hplb.hpl.hp.com)
;; Maintainer: FSF
"Regular expression matching the start of a multiline FTP reply.")
(defvar ange-ftp-good-msgs
- "^220 \\|^230 \\|^226 \\|^25. \\|^221 \\|^200 \\|^[Hh]ash mark"
+ "^220 \\|^230 \\|^226 \\|^25. \\|^221 \\|^200 \\|^[Hh]ash mark\\|^Remote directory:"
"Regular expression matching FTP \"success\" messages.")
;; CMS and the odd VMS machine say 200 Port rather than 200 PORT.
"^504 Unknown security mechanism\\|"
"^530 Please login with USER and PASS\\|" ; non kerberized vsFTPd
"^534 Kerberos Authentication not enabled\\|"
- "^22[789] .*[Pp]assive\\|^200 EPRT\\|^500 .*EPRT")
+ "^22[789] .*[Pp]assive\\|^200 EPRT\\|^500 .*EPRT\\|^500 .*EPSV")
"Regular expression matching FTP messages that can be ignored."
:group 'ange-ftp
+ :version "24.4" ; add EPSV
:type 'regexp)
(defcustom ange-ftp-fatal-msgs
(if (car result)
(save-match-data
(and (or (string-match "\"\\([^\"]*\\)\"" line)
+ ;; Some clients cache the value and return it in
+ ;; this way without asking the server. (Bug#15058)
+ (string-match "^Remote directory: \\(.*\\)" line)
(string-match " \\([^ ]+\\) " line)) ; stone-age VMS servers!
(setq dir (match-string 1 line)))))
(cons dir line)))