diff -rN -up old-telepathy-gabble/src/tube-dbus.c new-telepathy-gabble/src/tube-dbus.c --- old-telepathy-gabble/src/tube-dbus.c 2007-11-15 13:39:37.923570564 -0500 +++ new-telepathy-gabble/src/tube-dbus.c 2007-11-15 13:39:37.923570564 -0500 @@ -216,6 +216,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, @@ -243,6 +251,13 @@ 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 Gabble. 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; /* We may have received messages to deliver before the local connection is