where is dbus 1.2 ?
Gavrie Philipson
gavrie at gmail.com
Tue Feb 19 01:20:58 PST 2008
Havoc Pennington <hp at ...> writes:
> Not right now. What I mean by "thought through" is for example, I don't
> know why you would want a bus daemon that allowed anonymous access. So
> step one in thinking it through is to describe (on this list) some of
> the use-cases. Then we could talk about how to add the feature (which
> would presumably be pretty simple, just have the bus daemon call
> set_allow_anonymous() if ANONYMOUS is one of the auth mechanisms, or
> something).
>
> If the feature appears useful and we talk about how to add it, the
> remaining step would be for a volunteer to write a patch (which should
> be a very simple patch).
>
> For the system and session bus, I don't know why ANONYMOUS would be
> useful - so I am guessing you are using the bus daemon for some other
> custom purpose, with a custom config file?
Havoc,
A specific use case for ANONYMOUS access to the D-Bus daemon is when debugging a
remote or embedded system. For example, I am working on an embedded Linux system
that makes use of D-Bus as an IPC mechanism between several processes. The
standard D-Bus daemon is being used.
Since we'd like to use graphical tools such as D-Feet to interactively develop
and debug the D-Bus interfaces of the product, we're using a TCP connection from
the developer's workstation to the D-Bus daemon on the embedded system, with the
ANONYMOUS authentication mechanism. Of course this is with a custom, permissive
system.conf file that is used only for development systems.
To get this to work, I added this trivial patch to the D-Bus daemon:
diff -ruN dbus-1.1.4/dbus/dbus-server-socket.c
dbus-1.1.4-local/dbus/dbus-server-socket.c
--- dbus-1.1.4/dbus/dbus-server-socket.c
+++ dbus-1.1.4-local/dbus/dbus-server-socket.c
@@ -123,6 +123,9 @@
SERVER_UNLOCK (server);
return FALSE;
}
+
+ /* Allow anonymous connections */
+ dbus_connection_set_allow_anonymous(connection, TRUE);
/* See if someone wants to handle this new connection, self-referencing
* for paranoia.
Would this be safe enough to leave in production code? According to the
description of the dbus_connection_set_allow_anonymous function in the code, it
applies only when ANONYMOUS is listed among the authentication mechanisms, which
is not the case on production systems.
-- Gavrie
More information about the dbus
mailing list