summaryrefslogtreecommitdiff
path: root/lisp/net
diff options
context:
space:
mode:
authorTed Zlatanov <tzz@lifelogs.com>2011-02-12 11:51:02 -0600
committerTed Zlatanov <tzz@lifelogs.com>2011-02-12 11:51:02 -0600
commit563790b6db1fed5d81809ca826e19685b78461f4 (patch)
tree0115ee56f0b0046fca7b41b293c192ac06df3dc6 /lisp/net
parent50fd938f33c9c5e91a407595ad9609379e46d11a (diff)
downloademacs-563790b6db1fed5d81809ca826e19685b78461f4.tar.gz
Use `auto-source-search' instead of `auto-source-user-or-password'.
* mail/smtpmail.el: Autoload `auto-source-search' instead of `auto-source-user-or-password. (smtpmail-try-auth-methods): Use it. * net/imap-hash.el: Autoload `auto-source-search' instead of `auto-source-user-or-password. (imap-hash-open-connection): Use it. * net/tramp-imap.el: Autoload `auto-source-search' instead of `auto-source-user-or-password. (tramp-imap-passphrase-callback-function): Use it. * net/tramp.el (tramp-default-method): Also check if `auth-source-search' is bound. (tramp-read-passwd): Use `auth-source-search' instead of `auto-source-user-or-password'. * url-parse.el (url-bit-for-url, url-user-for-url) (url-password-for-url): Use `auto-source-search' instead of `auto-source-user-or-password'. * url-auth.el: Autoload `auto-source-search' instead of `auto-source-user-or-password'. (url-basic-auth, url-digest-auth, url-do-auth-source-search): Use it.
Diffstat (limited to 'lisp/net')
-rw-r--r--lisp/net/imap-hash.el13
-rw-r--r--lisp/net/tramp-imap.el12
-rw-r--r--lisp/net/tramp.el24
3 files changed, 36 insertions, 13 deletions
diff --git a/lisp/net/imap-hash.el b/lisp/net/imap-hash.el
index d21b714d950..a07277cee68 100644
--- a/lisp/net/imap-hash.el
+++ b/lisp/net/imap-hash.el
@@ -43,7 +43,7 @@
(require 'imap)
(require 'sendmail) ; for mail-header-separator
(require 'message)
-(autoload 'auth-source-user-or-password "auth-source")
+(autoload 'auth-source-search "auth-source")
;; retrieve these headers
(defvar imap-hash-headers
@@ -267,13 +267,14 @@ The function is passed the message headers (see `imap-hash-get-headers')."
(imap-hash-password iht))))
;; this will not be needed if auth-need is t
(auth-info (when auth-need
- (auth-source-user-or-password
- '("login" "password")
- server port)))
+ (nth 0 (auth-source-search :host server :port port))))
(auth-user (or (imap-hash-user iht)
- (nth 0 auth-info)))
+ (plist-get auth-info :user)))
(auth-passwd (or (imap-hash-password iht)
- (nth 1 auth-info)))
+ (plist-get auth-info :secret)))
+ (auth-passwd (if (functionp auth-passwd)
+ (funcall auth-passwd)
+ auth-passwd))
(imap-logout-timeout nil))
;; (debug "opening server: opened+state" (imap-opened) imap-state)
diff --git a/lisp/net/tramp-imap.el b/lisp/net/tramp-imap.el
index 3a536103c3d..4157265b0e1 100644
--- a/lisp/net/tramp-imap.el
+++ b/lisp/net/tramp-imap.el
@@ -56,7 +56,7 @@
(require 'assoc)
(require 'tramp)
-(autoload 'auth-source-user-or-password "auth-source")
+(autoload 'auth-source-search "auth-source")
(autoload 'epg-context-operation "epg")
(autoload 'epg-context-set-armor "epg")
(autoload 'epg-context-set-passphrase-callback "epg")
@@ -639,8 +639,14 @@ HANDBACK is just carried through.
KEY-ID can be 'SYM or 'PIN among others."
(let* ((server tramp-current-host)
(port "tramp-imap") ; this is NOT the server password!
- (auth-passwd
- (auth-source-user-or-password "password" server port)))
+ (auth-passwd (plist-get
+ (nth 0 (auth-source-search :max 1
+ :host server
+ :port port))
+ :secret))
+ (auth-passwd (if (functionp auth-passwd)
+ (funcall auth-passwd)
+ auth-passwd)))
(or
(copy-sequence auth-passwd)
;; If we cache the passphrase and we have one.
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 8584d4ddc92..5d0f3935884 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -297,6 +297,7 @@ shouldn't return t when it isn't."
(executable-find "pscp"))
(if (or (fboundp 'password-read)
(fboundp 'auth-source-user-or-password)
+ (fboundp 'auth-source-search)
;; Pageant is running.
(tramp-compat-process-running-p "Pageant"))
"pscp"
@@ -307,6 +308,7 @@ shouldn't return t when it isn't."
((tramp-detect-ssh-controlmaster) "scpc")
((or (fboundp 'password-read)
(fboundp 'auth-source-user-or-password)
+ (fboundp 'auth-source-search)
;; ssh-agent is running.
(getenv "SSH_AUTH_SOCK")
(getenv "SSH_AGENT_PID"))
@@ -3519,7 +3521,8 @@ Invokes `password-read' if available, `read-passwd' else."
(or prompt
(with-current-buffer (process-buffer proc)
(tramp-check-for-regexp proc tramp-password-prompt-regexp)
- (format "%s for %s " (capitalize (match-string 1)) key)))))
+ (format "%s for %s " (capitalize (match-string 1)) key))))
+ auth-info auth-passwd)
(with-parsed-tramp-file-name key nil
(prog1
(or
@@ -3527,9 +3530,22 @@ Invokes `password-read' if available, `read-passwd' else."
(and (boundp 'auth-sources)
(tramp-get-connection-property v "first-password-request" nil)
;; Try with Tramp's current method.
- (tramp-compat-funcall
- 'auth-source-user-or-password
- "password" tramp-current-host tramp-current-method))
+ (if (fboundp 'auth-source-search)
+ (progn
+ (setq auth-info
+ (tramp-compat-funcall
+ 'auth-source-search
+ :max 1
+ :user (or tramp-current-user t)
+ :host tramp-current-host
+ :port tramp-current-method))
+ (setq auth-passwd (plist-get (nth 0 auth-info) :secret))
+ (setq auth-passwd (if (functionp auth-passwd)
+ (funcall auth-passwd)
+ auth-passwd)))
+ (tramp-compat-funcall
+ 'auth-source-user-or-password
+ "password" tramp-current-host tramp-current-method)))
;; Try the password cache.
(when (functionp 'password-read)
(unless (tramp-get-connection-property