GNU bug report logs -
#15520
24.3; secrets.el secrets-create-item has wrong dbus arguments (fix included)
Previous Next
Reported by: Nicolas Petton <petton.nicolas <at> gmail.com>
Date: Thu, 3 Oct 2013 20:30:08 UTC
Severity: normal
Found in version 24.3
Fixed in version 24.4
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
In secrets.el, secrets-create-item has the wrong label property for the
created item, and the secret struct is not built correctly.
Here's a new version that fixes the issue.
(defun secrets-create-item (collection item password &rest attributes)
"Create a new item in COLLECTION with label ITEM and password
PASSWORD.
ATTRIBUTES are key-value pairs set for the created item. The
keys are keyword symbols, starting with a colon. Example:
\(secrets-create-item \"Tramp collection\" \"item\" \"geheim\"
:method \"sudo\" :user \"joe\" :host \"remote-host\"\)
The object path of the created item is returned."
(unless (member item (secrets-list-items collection))
(let ((collection-path (secrets-unlock-collection collection))
result props)
(unless (secrets-empty-path collection-path)
;; Create attributes list.
(while (consp (cdr attributes))
(unless (keywordp (car attributes))
(error 'wrong-type-argument (car attributes)))
(setq props (add-to-list
'props
(list :dict-entry
(substring (symbol-name (car attributes)) 1)
(cadr attributes))
'append)
attributes (cddr attributes)))
;; Create the item.
(setq result
(dbus-call-method
:session secrets-service collection-path
secrets-interface-collection "CreateItem"
;; Properties.
(append
`(:array
(:dict-entry "org.freedesktop.Secret.Item.Label" (:variant ,item)))
(when props
`((:dict-entry
"org.freedesktop.Secret.Item.Attributes" (:variant ,(append
'(:array) props))))))
;; Secret.
`(:struct :object-path ,secrets-session-path
,(dbus-string-to-byte-array "")
,(dbus-string-to-byte-array password)
"text/plain")
;; Do not replace. Replace does not seem to work.
nil))
(secrets-prompt (cadr result))
;; Return the object path.
(car result)))))
This bug report was last modified 11 years and 252 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.