Fix bug#49289 also for other auth-source backends

* lisp/auth-source.el (auth-info-password): Revert commit 59261e6f4f.
(auth-source-secrets-create, auth-source-plstore-create):
Search also for :user.  (Bug#49289)
This commit is contained in:
Michael Albinus 2024-06-18 16:43:53 +02:00
parent 59261e6f4f
commit ce85d3811d

View file

@ -874,9 +874,9 @@ while \(:host t) would find all host entries."
(defun auth-info-password (auth-info) (defun auth-info-password (auth-info)
"Return the :secret password from the AUTH-INFO." "Return the :secret password from the AUTH-INFO."
(let ((secret (plist-get auth-info :secret))) (let ((secret (plist-get auth-info :secret)))
(while (functionp secret) (if (functionp secret)
(setq secret (funcall secret))) (funcall secret)
secret)) secret)))
(defun auth-source-pick-first-password (&rest spec) (defun auth-source-pick-first-password (&rest spec)
"Pick the first secret found by applying `auth-source-search' to SPEC." "Pick the first secret found by applying `auth-source-search' to SPEC."
@ -1698,7 +1698,7 @@ authentication tokens:
items)) items))
(cl-defun auth-source-secrets-create (&rest spec (cl-defun auth-source-secrets-create (&rest spec
&key backend host port create &key backend host port create user
&allow-other-keys) &allow-other-keys)
(let* ((base-required '(host user port secret label)) (let* ((base-required '(host user port secret label))
;; we know (because of an assertion in auth-source-search) that the ;; we know (because of an assertion in auth-source-search) that the
@ -1706,6 +1706,7 @@ authentication tokens:
(create-extra (if (eq t create) nil create)) (create-extra (if (eq t create) nil create))
(current-data (car (auth-source-search :max 1 (current-data (car (auth-source-search :max 1
:host host :host host
:user user
:port port))) :port port)))
(required (append base-required create-extra)) (required (append base-required create-extra))
(collection (oref backend source)) (collection (oref backend source))
@ -2160,7 +2161,7 @@ entries for git.gnus.org:
items)) items))
(cl-defun auth-source-plstore-create (&rest spec (cl-defun auth-source-plstore-create (&rest spec
&key backend host port create &key backend host port create user
&allow-other-keys) &allow-other-keys)
(let* ((base-required '(host user port secret)) (let* ((base-required '(host user port secret))
(base-secret '(secret)) (base-secret '(secret))
@ -2170,9 +2171,11 @@ entries for git.gnus.org:
(create-extra-secret (plist-get create :encrypted)) (create-extra-secret (plist-get create :encrypted))
(create-extra (if (eq t create) nil (create-extra (if (eq t create) nil
(or (append (plist-get create :unencrypted) (or (append (plist-get create :unencrypted)
create-extra-secret) create))) create-extra-secret)
create)))
(current-data (car (auth-source-search :max 1 (current-data (car (auth-source-search :max 1
:host host :host host
:user user
:port port))) :port port)))
(required (append base-required create-extra)) (required (append base-required create-extra))
(required-secret (append base-secret create-extra-secret)) (required-secret (append base-secret create-extra-secret))