summaryrefslogtreecommitdiff
path: root/lisp/url/url-parse.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/url/url-parse.el')
-rw-r--r--lisp/url/url-parse.el17
1 files changed, 11 insertions, 6 deletions
diff --git a/lisp/url/url-parse.el b/lisp/url/url-parse.el
index 950f666e9c7..71c03bf1edd 100644
--- a/lisp/url/url-parse.el
+++ b/lisp/url/url-parse.el
@@ -178,20 +178,25 @@ TYPE USER PASSWORD HOST PORTSPEC FILENAME TARGET ATTRIBUTES FULLNESS."
`(let* ((urlobj (url-generic-parse-url url))
(bit (funcall ,method urlobj))
(methods (list 'url-recreate-url
- 'url-host)))
+ 'url-host))
+ auth-info)
(while (and (not bit) (> (length methods) 0))
- (setq bit
- (auth-source-user-or-password
- ,lookfor (funcall (pop methods) urlobj) (url-type urlobj))))
+ (setq auth-info (auth-source-search
+ :max 1
+ :host (funcall (pop methods) urlobj)
+ :port (url-type urlobj)))
+ (setq bit (plist-get (nth 0 auth-info) ,lookfor))
+ (when (functionp bit)
+ (setq bit (funcall bit))))
bit))
(defun url-user-for-url (url)
"Attempt to use .authinfo to find a user for this URL."
- (url-bit-for-url 'url-user "login" url))
+ (url-bit-for-url 'url-user :user url))
(defun url-password-for-url (url)
"Attempt to use .authinfo to find a password for this URL."
- (url-bit-for-url 'url-password "password" url))
+ (url-bit-for-url 'url-password :secret url))
(provide 'url-parse)