Bug 13891 - AcceptDBusTube returns NULL with 1-1 D-Bus tube
Summary: AcceptDBusTube returns NULL with 1-1 D-Bus tube
Alias: None
Product: Telepathy
Classification: Unclassified
Component: gabble (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
Depends on: 15454
  Show dependency treegraph
Reported: 2008-01-02 04:04 UTC by Guillaume Desmottes
Modified: 2008-11-04 02:38 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Note You need to log in before you can comment on or make changes to this bug.
Description Guillaume Desmottes 2008-01-02 04:04:35 UTC
When accepting a 1-1 D-Bus tube (so without muc) AcceptDBusTube returns NULL instead of the address of the D-Bus server.
See FIXME in tubes-channel.c for details.
Comment 1 Alban Crequy 2008-04-11 03:27:30 UTC
A workaround is to call GetDBusTubeAddress() to get the address of the D-Bus server after the signal TubeStateChanged is received with the state Tube_State_Open.
Comment 2 Guillaume Desmottes 2008-04-11 04:02:08 UTC
yeah that works.
Actually I'm wondering if AcceptDBusTube shouldn't return anything and user have to wait for tube opening to get its address. Don't know.
Comment 3 Alban Crequy 2008-04-11 10:14:09 UTC
I agree: AcceptDBusTube shouldn't return the address.

I opened a bug on telepathy-spec: Bug #15454.
Comment 4 Alban Crequy 2008-10-21 07:57:00 UTC
The spec does not need to change. I have a fix for Gabble:

+/* There is two step to enable receiving a D-Bus connection from the local
+ * application:
+ * - listen on the socket
+ * - add the socket in the mainloop
+ *
+ * We need to know the socket path to return from the AcceptDBusTube D-Bus
+ * call but the socket in the mainloop must be added only when we are ready
+ * to receive connections, that is when the bytestream is fully open with the
+ * remote contact.
Comment 5 Simon McVittie 2008-11-04 02:38:09 UTC
Fixed in 0.7.12

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.