rpms/telepathy-salut/OLPC-3 salut-chmod-unix-socket.patch, NONE, 1.1 salut-debug.patch, NONE, 1.1 salut-olpc-no-dbus-uid-check.patch, NONE, 1.1 telepathy-salut.spec, 1.18, 1.19

Morgan Collett (morgan) fedora-extras-commits at redhat.com
Thu Jul 3 09:34:18 UTC 2008


Author: morgan

Update of /cvs/pkgs/rpms/telepathy-salut/OLPC-3
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv15878

Modified Files:
	telepathy-salut.spec 
Added Files:
	salut-chmod-unix-socket.patch salut-debug.patch 
	salut-olpc-no-dbus-uid-check.patch 
Log Message:
Add OLPC patches to disable security for rainbow

salut-chmod-unix-socket.patch:

--- NEW FILE salut-chmod-unix-socket.patch ---
diff -rN -u old-telepathy-salut-rainbow/src/tube-stream.c new-telepathy-salut-rainbow/src/tube-stream.c
--- old-telepathy-salut-rainbow/src/tube-stream.c	2007-12-11 16:03:02.000000000 +0100
+++ new-telepathy-salut-rainbow/src/tube-stream.c	2007-12-11 16:03:02.000000000 +0100
@@ -637,6 +637,9 @@
               "Error binding socket: %s", g_strerror (errno));
           return FALSE;
         }
+
+      /* Everyone can use the socket */
+      chmod (addr.sun_path, 0777);
     }
   else if (priv->address_type == TP_SOCKET_ADDRESS_TYPE_IPV4)
     {


salut-debug.patch:

--- NEW FILE salut-debug.patch ---
Fri Mar 28 09:02:42 GMT 2008  Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
  * muc-channel: add debug info about membership management
--- old-telepathy-salut-0.2/src/salut-muc-channel.c	2008-03-28 10:26:16.578430935 +0000
+++ new-telepathy-salut-0.2/src/salut-muc-channel.c	2008-03-28 10:26:16.606432685 +0000
@@ -265,6 +265,8 @@
   SalutMucChannel *self = SALUT_MUC_CHANNEL (user_data);
   SalutMucChannelPrivate *priv = SALUT_MUC_CHANNEL_GET_PRIVATE (self);
 
+  DEBUG ("Didn't receive muc senders. Timeout expired, "
+      "adding myself as member anyway");
   salut_muc_channel_add_self_to_members (self);
   priv->timeout = 0;
 
@@ -278,10 +280,17 @@
   SalutMucChannelPrivate *priv = SALUT_MUC_CHANNEL_GET_PRIVATE (self);
 
   if (priv->creator)
-    salut_muc_channel_add_self_to_members (self);
+    {
+      DEBUG ("I created this muc. Adding myself as member now");
+      salut_muc_channel_add_self_to_members (self);
+    }
   else
-    priv->timeout = g_timeout_add (CONNECTED_TIMEOUT, connected_timeout_cb,
-        self);
+    {
+      DEBUG ("I didn't create this muc. Waiting for senders before adding "
+          "myself as member");
+      priv->timeout = g_timeout_add (CONNECTED_TIMEOUT, connected_timeout_cb,
+          self);
+    }
 
   salut_muc_channel_publish_service  (self);
 }
@@ -1173,7 +1182,10 @@
   salut_muc_channel_add_members (self, senders);
   if (!tp_handle_set_is_member (self->group.members,
       base_connection->self_handle))
-    salut_muc_channel_add_self_to_members (self);
+    {
+      DEBUG ("Got new senders. Adding myself as member");
+      salut_muc_channel_add_self_to_members (self);
+    }
 }
 
 static void


salut-olpc-no-dbus-uid-check.patch:

--- NEW FILE salut-olpc-no-dbus-uid-check.patch ---
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;
 }
 



Index: telepathy-salut.spec
===================================================================
RCS file: /cvs/pkgs/rpms/telepathy-salut/OLPC-3/telepathy-salut.spec,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- telepathy-salut.spec	25 Jun 2008 21:23:08 -0000	1.18
+++ telepathy-salut.spec	3 Jul 2008 09:33:31 -0000	1.19
@@ -1,12 +1,15 @@
 Name:           telepathy-salut
 Version:        0.2.3
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Link-local XMPP telepathy connection manager
 
 Group:          Applications/Communications
 License:        LGPLv2+
 URL:            http://telepathy.freedesktop.org/wiki/FrontPage
 Source0:        http://telepathy.freedesktop.org/releases/%{name}/%{name}-%{version}.tar.gz
+Patch0:         salut-olpc-no-dbus-uid-check.patch
+Patch1:         salut-chmod-unix-socket.patch
+Patch2:         salut-debug.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  dbus-devel >= 1.1.0
@@ -31,6 +34,9 @@
 
 %prep
 %setup -q
+%patch0 -p1 -b .dbus-uid
+%patch1 -p1 -b .chmod-socket
+%patch2 -p1 -b .debug-6782
 
 
 %build
@@ -56,6 +62,9 @@
 %{_mandir}/man8/%{name}.8.gz
 
 %changelog
+* Thu Jul 3 2008 Morgan Collett <morgan at laptop.org> - 0.2.3-3
+- Add OLPC patches to disable security for rainbow
+
 * Wed Jun 25 2008 Morgan Collett <morgan at laptop.org> - 0.2.3-2
 - Enable OLPC config
 




More information about the fedora-extras-commits mailing list