diff options
author | Iku Iwasa <iku.iwasa@gmail.com> | 2019-04-07 17:59:59 +0900 |
---|---|---|
committer | Damien Cassou <damien@cassou.me> | 2019-06-24 09:15:40 +0200 |
commit | 2a0a05789d4734e4b3d18941346ecda9834e7cc9 (patch) | |
tree | e229d71f1d3f97f601a94c1ede4e631435221243 /lisp/auth-source-pass.el | |
parent | a63cbb56dfc6074189407e9e182e807ce058e618 (diff) | |
download | emacs-2a0a05789d4734e4b3d18941346ecda9834e7cc9.tar.gz |
Add auth-source-pass-port-separator option
* lisp/auth-source-pass.el (auth-source-pass-port-separator): New
option to specify separator between host and port, default to
colon (":").
(auth-source-pass--find-match-unambiguous): Adapt to make use of the
new variable.
* test/lisp/auth-source-pass-tests.el: Add corresponding tests.
Diffstat (limited to 'lisp/auth-source-pass.el')
-rw-r--r-- | lisp/auth-source-pass.el | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el index 1fda6982328..626dbf842c1 100644 --- a/lisp/auth-source-pass.el +++ b/lisp/auth-source-pass.el @@ -49,6 +49,11 @@ :type 'directory :version "27.1") +(defcustom auth-source-pass-port-separator ":" + "Separator string between host and port in entry filename." + :type 'string + :version "27.1") + (cl-defun auth-source-pass-search (&rest spec &key backend type host user port &allow-other-keys) @@ -254,9 +259,15 @@ return nil. HOSTNAME should not contain any username or port number." (or - (and user port (auth-source-pass--find-one-by-entry-name (format "%s@%s:%s" user hostname port) user)) - (and user (auth-source-pass--find-one-by-entry-name (format "%s@%s" user hostname) user)) - (and port (auth-source-pass--find-one-by-entry-name (format "%s:%s" hostname port) nil)) + (and user port (auth-source-pass--find-one-by-entry-name + (format "%s@%s%s%s" user hostname auth-source-pass-port-separator port) + user)) + (and user (auth-source-pass--find-one-by-entry-name + (format "%s@%s" user hostname) + user)) + (and port (auth-source-pass--find-one-by-entry-name + (format "%s%s%s" hostname auth-source-pass-port-separator port) + nil)) (auth-source-pass--find-one-by-entry-name hostname user) ;; if that didn't work, remove subdomain: foo.bar.com -> bar.com (let ((components (split-string hostname "\\."))) |