summaryrefslogtreecommitdiff
path: root/lisp/auth-source.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-08-04 16:09:48 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-08-04 16:09:48 +0200
commit262f57842adabe7ec1447be93b2bc7f8bcdd53b9 (patch)
treec4b72076e6a56a5df88c343972f79d9f9ca59300 /lisp/auth-source.el
parent0116c660c22eb8c13c0c6eddc8cf61db0c22ca7b (diff)
downloademacs-262f57842adabe7ec1447be93b2bc7f8bcdd53b9.tar.gz
Allow auth-source-netrc-parse to return all lines
* lisp/auth-source.el (auth-source-netrc-parse): If host/user/port is nil, don't require those to match.
Diffstat (limited to 'lisp/auth-source.el')
-rw-r--r--lisp/auth-source.el46
1 files changed, 26 insertions, 20 deletions
diff --git a/lisp/auth-source.el b/lisp/auth-source.el
index a36386101af..55dbaab3eed 100644
--- a/lisp/auth-source.el
+++ b/lisp/auth-source.el
@@ -925,27 +925,33 @@ Note that the MAX parameter is used so we can exit the parse early."
(cached (cdr-safe (assoc file auth-source-netrc-cache)))
(cached-mtime (plist-get cached :mtime))
(cached-secrets (plist-get cached :secret))
- (check (lambda(alist)
+ (check (lambda (alist)
(and alist
- (auth-source-search-collection
- host
- (or
- (auth-source--aget alist "machine")
- (auth-source--aget alist "host")
- t))
- (auth-source-search-collection
- user
- (or
- (auth-source--aget alist "login")
- (auth-source--aget alist "account")
- (auth-source--aget alist "user")
- t))
- (auth-source-search-collection
- port
- (or
- (auth-source--aget alist "port")
- (auth-source--aget alist "protocol")
- t))
+ (or
+ (null host)
+ (auth-source-search-collection
+ host
+ (or
+ (auth-source--aget alist "machine")
+ (auth-source--aget alist "host")
+ t)))
+ (or
+ (null user)
+ (auth-source-search-collection
+ user
+ (or
+ (auth-source--aget alist "login")
+ (auth-source--aget alist "account")
+ (auth-source--aget alist "user")
+ t)))
+ (or
+ (null port)
+ (auth-source-search-collection
+ port
+ (or
+ (auth-source--aget alist "port")
+ (auth-source--aget alist "protocol")
+ t)))
(or
;; the required list of keys is nil, or
(null require)