From: Michael Albinus Date: Tue, 17 Mar 2015 09:18:10 +0000 (+0100) Subject: Change test for ControlPath in order to avoid DNS timeouts. X-Git-Tag: emacs-25.0.90~2564^2~149 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=508049aae95c42a3e6fe989ff403bf7cb6f88433;p=emacs.git Change test for ControlPath in order to avoid DNS timeouts. Fixes: debbugs:20015 * net/tramp-sh.el (tramp-ssh-controlmaster-options): Change test for ControlPath in order to avoid DNS timeouts. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cbd1bce25e8..96478223d49 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2015-03-17 Michael Albinus + + * net/tramp-sh.el (tramp-ssh-controlmaster-options): Change test + for ControlPath in order to avoid DNS timeouts. (Bug#20015) + 2015-03-16 Alan Mackenzie Edebug: Allow "S" to work during trace mode. Fixes debbugs #20074. diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 73ad8c7e4ef..b6c47bcb7bb 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -4565,7 +4565,7 @@ Gateway hops are already opened." ;; In case the host name is not used for the remote shell ;; command, the user could be misguided by applying a random - ;; hostname. + ;; host name. (let* ((v (car target-alist)) (method (tramp-file-name-method v)) (host (tramp-file-name-host v))) @@ -4611,9 +4611,13 @@ Gateway hops are already opened." (setq tramp-ssh-controlmaster-options "-o ControlMaster=auto"))) (unless (zerop (length tramp-ssh-controlmaster-options)) (with-temp-buffer + ;; When we use a non-existing host name, we could run + ;; into DNS timeouts. So we use "localhost" with an + ;; improper port, expecting nobody runs sshd on the + ;; telnet port. (tramp-call-process vec "ssh" nil t nil - "-o" "ControlPath=%C" "host.does.not.exist") + "-p" "23" "-o" "ControlPath=%C" "localhost") (goto-char (point-min)) (setq tramp-ssh-controlmaster-options (if (search-forward-regexp "unknown.+key" nil t)