[Authentication] Move GetSecrets, SetSecrets and related
Michael Albinus
michael.albinus at gmx.de
Tue Dec 8 08:27:34 PST 2009
Stef Walter <stef-list-Kw7WoRPxbEs9XoPSrs7Ehg at public.gmane.org> writes:
> Some changes, patch included.
>
> * I've implemented GetSecret, SetSecret on the item interface.
> * The Secret struct has an object path to the session used
> to encode it instead of a the algorithm (which was rather
> useless as Michael pointed out).
> * Added secret parameter to CreateItem so it's not a two
> step process.
> * Move GetSecrets to Service interface.
> * Updated documentation.
>
> Unless there are objections, I'll be committing this change. Thanks for
> looking it over.
I'm using git commit f3e360f119c6361940d2e4aecbd93395973688c1 (Wed Nov
25 01:48:08 2009 +0000). "GetSecret" is still on "org.freedesktop.Secrets.Service".
I get the following error on "GetSecret":
process 10395: arguments to dbus_message_iter_open_container() were incorrect, assertion "(type == DBUS_TYPE_STRUCT && contained_signature == NULL) || (type == DBUS_TYPE_DICT_ENTRY && contained_signature == NULL) || (type == DBUS_TYPE_VARIANT && contained_signature != NULL) || (type == DBUS_TYPE_ARRAY && contained_signature != NULL)" failed in file dbus-message.c line 2393.
This is normally a bug in some application using the D-Bus library.
I could debug it down to
---
#0 gkd_secret_secret_append (secret=0x8141500, iter=0xbffff398)
at gkd-secret-secret.c:90
#1 0x08065d4d in item_method_get_secret (self=0x8111c90, message=0x8128a18)
at gkd-secret-objects.c:317
#2 item_message_handler (self=0x8111c90, message=0x8128a18)
at gkd-secret-objects.c:371
#3 gkd_secret_objects_dispatch (self=0x8111c90, message=0x8128a18)
at gkd-secret-objects.c:847
#4 0x0805e307 in service_dispatch_message (self=0x811f0c0, message=0x8128a18)
at gkd-secret-service.c:570
#5 0x0805f1d3 in gkd_secret_service_filter_handler (conn=0x8127188,
message=0x8128a18, user_data=0x811f0c0) at gkd-secret-service.c:648
#6 0x00ebec8d in dbus_connection_dispatch () from /lib/libdbus-1.so.3
#7 0x080ea02d in message_queue_dispatch (source=0x8128b40, callback=0,
user_data=0x0) at egg-dbus.c:75
#8 0x00216e78 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#9 0x0021a720 in ?? () from /lib/libglib-2.0.so.0
#10 0x0021ab8f in g_main_loop_run () from /lib/libglib-2.0.so.0
#11 0x08054342 in main (argc=1, argv=0xbffff8c4) at gkr-daemon.c:869
---
dbus-monitor output is
---
method call sender=:1.130 -> dest=org.freedesktop.secrets serial=182 path=/org/freedesktop/secrets; interface=org.freedesktop.Secrets.Service; member=OpenSession
method call sender=:1.191 -> dest=org.freedesktop.DBus serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
string ":1.130"
method return sender=:1.191 -> dest=:1.130 reply_serial=182
object path "/org/freedesktop/secrets/session/s1"
method call sender=:1.130 -> dest=org.freedesktop.secrets serial=183 path=/org/freedesktop/secrets; interface=org.freedesktop.Secrets.Service; member=Unlock
array [
object path "/org/freedesktop/secrets/collection/login"
]
method return sender=:1.191 -> dest=:1.130 reply_serial=183
array [
]
object path "/org/freedesktop/secrets/prompt/p1"
method call sender=:1.130 -> dest=org.freedesktop.DBus serial=184 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
string "org.freedesktop.secrets"
method call sender=:1.130 -> dest=org.freedesktop.DBus serial=185 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string "type='signal',interface='org.freedesktop.Secrets.Prompt',member='Completed',sender=':1.191',path='/org/freedesktop/secrets/prompt/p1'"
method call sender=:1.130 -> dest=org.freedesktop.secrets serial=186 path=/org/freedesktop/secrets/prompt/p1; interface=org.freedesktop.Secrets.Prompt; member=Prompt
string "window-id"
method return sender=:1.191 -> dest=:1.130 reply_serial=186
signal sender=:1.191 -> dest=:1.130 serial=10 path=/org/freedesktop/secrets/prompt/p1; interface=org.freedesktop.Secrets.Prompt; member=Completed
variant array [
object path "/org/freedesktop/secrets/collection/login"
]
boolean false
method call sender=:1.130 -> dest=org.freedesktop.DBus serial=187 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ReleaseName
string "org.freedesktop.secrets"
method call sender=:1.130 -> dest=org.freedesktop.secrets serial=188 path=/org/freedesktop/secrets/collection/login/16; interface=org.freedesktop.Secrets.Service; member=GetSecret
object path "/org/freedesktop/secrets/session/s1"
method return sender=:1.191 -> dest=:1.130 reply_serial=188
object path "/org/freedesktop/secrets/session/s1"
---
Just to let you know ...
> Cheers,
>
> Stef
Best regards, Michael.
More information about the Authentication
mailing list