After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 677186 - Most of the Secret Service interfaces aren't listed in introspection data.
Most of the Secret Service interfaces aren't listed in introspection data.
Status: RESOLVED DUPLICATE of bug 676001
Product: gnome-keyring
Classification: Core
Component: general
3.4.x
Other Linux
: Normal normal
: ---
Assigned To: GNOME keyring maintainer(s)
GNOME keyring maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2012-05-31 13:10 UTC by Dmitry Shachnev
Modified: 2012-06-04 20:18 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Dmitry Shachnev 2012-05-31 13:10:34 UTC
(Originally discussed at https://bugs.freedesktop.org/show_bug.cgi?id=50370.)

Secret Service API consists of 5 DBus interfaces: org.freedesktop.Secret.{Service,Collection,Item,Session,Prompt}.

Functions for all these interfaces should be listed in introspection data.

My test case (in Python):

>>> service_obj = bus.get_object('org.freedesktop.secrets', '/org/freedesktop/secrets')
>>> introspectable = dbus.Interface(service_obj, 'org.freedesktop.DBus.Introspectable')
>>> print(introspectable.Introspect())

Result on Debian sid with gnome-keyring 3.4.1-4 (http://paste.debian.net/171732/) — only org.freedesktop.Secret.Collection methods are listed;

Result on Ubuntu precise with gnome-keyring 3.2.2-2ubuntu4: http://paste.debian.net/172182/ — only org.freedesktop.Secret.Service methods are listed.

As a particular case, this causes python-keyring to not work with gnome-keyring >= 3.4 (dbus-python doesn't know which signatures do Service.Unlock and Service.OpenSession methods have) — see also https://answers.launchpad.net/polly/+question/195167 for that.
Comment 1 Stef Walter 2012-06-04 20:18:05 UTC
I think this is a duplicate of bug #676001.

In addition AFAIK, Introspect() should not return information for all interfaces present in a service, just the interfaces for the object whose path that Introspect() is called on.

*** This bug has been marked as a duplicate of bug 676001 ***