]> git.eshelyaron.com Git - emacs.git/commitdiff
(ange-ftp-try-passive-mode): New user-option.
authorGerd Moellmann <gerd@gnu.org>
Sat, 18 Mar 2000 01:06:46 +0000 (01:06 +0000)
committerGerd Moellmann <gerd@gnu.org>
Sat, 18 Mar 2000 01:06:46 +0000 (01:06 +0000)
(ange-ftp-get-process): If ange-ftp-try-passive-mode is set,
try to use poassive ftp mode.

lisp/ange-ftp.el

index fb0b03b52e0a9a9b0e6af519084e927c649b09bc..695a44fcaa54af57440886cf233d8337f49c5e5b 100644 (file)
@@ -928,6 +928,14 @@ Don't use any other value."
   :group 'ange-ftp
   :type '(choice (const :tag "Suppress" 0)
                 (const :tag "Allow" 1)))
+
+(defcustom ange-ftp-try-passive-mode nil
+  "It t, try to use passive mode in ftp, if the client program
+supports the `passive' command."
+  :group 'ange-ftp
+  :type 'boolean
+  :version 21.1)
+
 \f
 ;;;; ------------------------------------------------------------
 ;;;; Hash table support.
@@ -2089,6 +2097,14 @@ Create a new process if needed."
        ;; Guess at the host type.
        (ange-ftp-guess-host-type host user)
 
+       ;; Try to use passive mode if asked to.
+       (when ange-ftp-try-passive-mode
+         (let ((answer (cdr (ange-ftp-raw-send-cmd
+                             proc "passive" "Trying passive mode..." nil))))
+           (if (string-match "\\?\\|refused" answer)
+               (message "Trying passive mode...ok")
+             (message "Trying passive mode...failed"))))
+
        ;; Run any user-specified hooks.  Note that proc, host and user are
        ;; dynamically bound at this point.
        (run-hooks 'ange-ftp-process-startup-hook))