Commit 50f38118 authored by Michael Albinus's avatar Michael Albinus
Browse files

net/tramp.el (tramp-ssh-controlmaster-options): Use "%C"

Fixes: debbugs:19702

* net/tramp.el (tramp-ssh-controlmaster-options): Use "%C" for
ControlPath if possible.
parent 43b82baa
2015-02-02 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-ssh-controlmaster-options): Use "%C" for
ControlPath if possible. (Bug#19702)
2015-02-02 Glenn Morris <rgm@gnu.org>
 
* emacs-lisp/authors.el (authors-obsolete-files-regexps)
......
......@@ -311,17 +311,25 @@ useful only in combination with `tramp-default-proxies-alist'.")
(let ((result "")
(case-fold-search t))
(ignore-errors
(with-temp-buffer
(call-process "ssh" nil t nil "-o" "ControlMaster")
(goto-char (point-min))
(when (search-forward-regexp "missing.+argument" nil t)
(setq result "-o ControlPath=%t.%%r@%%h:%%p -o ControlMaster=auto")))
(unless (zerop (length result))
(when (executable-find "ssh")
(with-temp-buffer
(call-process "ssh" nil t nil "-o" "ControlPersist")
(call-process "ssh" nil t nil "-o" "ControlMaster")
(goto-char (point-min))
(when (search-forward-regexp "missing.+argument" nil t)
(setq result (concat result " -o ControlPersist=no"))))))
(setq result "-o ControlMaster=auto")))
(unless (zerop (length result))
(with-temp-buffer
(call-process
"ssh" nil t nil "-o" "ControlPath=%C" "host.does.not.exist")
(goto-char (point-min))
(if (search-forward-regexp "unknown.+key" nil t)
(setq result (concat result " -o ControlPath=%t.%%r@%%h:%%p"))
(setq result (concat result " -o ControlPath=%t.%%C"))))
(with-temp-buffer
(call-process "ssh" nil t nil "-o" "ControlPersist")
(goto-char (point-min))
(when (search-forward-regexp "missing.+argument" nil t)
(setq result (concat result " -o ControlPersist=no")))))))
result)
"Call ssh to detect whether it supports the Control* arguments.
Return a string to be used in `tramp-methods'.")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment