1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
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
|