diff -rN -up old-telepathy-salut/src/tube-dbus.c new-telepathy-salut/src/tube-dbus.c --- old-telepathy-salut/src/tube-dbus.c 2007-11-15 13:33:51.902677010 -0500 +++ new-telepathy-salut/src/tube-dbus.c 2007-11-15 13:33:51.902677010 -0500 @@ -252,6 +252,14 @@ out: return DBUS_HANDLER_RESULT_HANDLED; } +static dbus_bool_t +allow_all_connections (DBusConnection *conn, + unsigned long uid, + void *data) +{ + return TRUE; +} + static void new_connection_cb (DBusServer *server, DBusConnection *conn, @@ -270,6 +278,13 @@ new_connection_cb (DBusServer *server, dbus_connection_ref (conn); dbus_connection_setup_with_g_main (conn, NULL); dbus_connection_add_filter (conn, filter_cb, tube, NULL); + + /* OLPC have a security system making applications running under + * a different uid than Salut. So we have to explicitely allow connections + * from all uid. */ + dbus_connection_set_unix_user_function (conn, allow_all_connections, + NULL, NULL); + priv->dbus_conn = conn; }