Subject: bug#15516: 24.3; secrets.el `secrets-create-collection' is broken (fix included)

From: Nicolas Petton <[email-masked]>
Date: Wed, 02 Oct 2013 19:12:31 +0200

In secrets.el, secrets-create-collection is broken (the DBus message
signature is wrong and the collection label is not the right one).

Here's a fixed version of the function:

(defun secrets-create-collection (collection)
  "Create collection labeled COLLECTION if it doesn't exist.
Return the D-Bus object path for collection."
  (let ((collection-path (secrets-collection-path collection)))
    ;; Create the collection.
    (when (secrets-empty-path collection-path)
      (setq collection-path
	    (secrets-prompt
	     (cadr
	      ;; "CreateCollection" returns the prompt path as second arg.
	      (dbus-call-method
	       :session secrets-service secrets-path
	       secrets-interface-service "CreateCollection"
	       `(:array 
		 (:dict-entry "org.freedesktop.Secret.Collection.Label" (:variant ,collection)))
	       "")))))
    ;; Return object path of the collection.
    collection-path))