rpms/dbus/devel dbus-compile-userdb-cache.patch, NONE, 1.1 dbus-fix-guidless-conn-segfault.patch, NONE, 1.1 dbus-hold-ref-during-dispatch.patch, NONE, 1.1 dbus-reinit-addr-after-shutdown.patch, NONE, 1.1 dbus.spec, 1.145, 1.146

Casey Dahlin (sadmac) fedora-extras-commits at redhat.com
Fri May 30 18:38:34 UTC 2008


Author: sadmac

Update of /cvs/pkgs/rpms/dbus/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv8056

Modified Files:
	dbus.spec 
Added Files:
	dbus-compile-userdb-cache.patch 
	dbus-fix-guidless-conn-segfault.patch 
	dbus-hold-ref-during-dispatch.patch 
	dbus-reinit-addr-after-shutdown.patch 
Log Message:
Added patches for fd.o bugs:
15570, 15571, 15588, 15635


dbus-compile-userdb-cache.patch:

--- NEW FILE dbus-compile-userdb-cache.patch ---
>From ff997dd113565bb281c01b10d468e183992630df Mon Sep 17 00:00:00 2001
From: Scott James Remnant <scott at netsplit.com>
Date: Thu, 24 Apr 2008 16:00:16 +0100
Subject: [PATCH] 	* dbus/dbus-userdb-util.c, dbus/dbus-userdb.c: Correct name of
 	macro used in #ifdef block to match that defined by configure,
 	otherwise the userdb cache will never be enabled.

---
 dbus/dbus-userdb-util.c |    2 +-
 dbus/dbus-userdb.c      |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dbus/dbus-userdb-util.c b/dbus/dbus-userdb-util.c
index 30d5083..d03a7c7 100644
--- a/dbus/dbus-userdb-util.c
+++ b/dbus/dbus-userdb-util.c
@@ -223,7 +223,7 @@ _dbus_user_database_lookup_group (DBusUserDatabase *db,
         gid = n;
     }
 
-#ifdef DBUS_ENABLE_USER_CACHE
+#ifdef DBUS_ENABLE_USERDB_CACHE
   if (gid != DBUS_GID_UNSET)
     info = _dbus_hash_table_lookup_ulong (db->groups, gid);
   else
diff --git a/dbus/dbus-userdb.c b/dbus/dbus-userdb.c
index 0e430b2..03d263f 100644
--- a/dbus/dbus-userdb.c
+++ b/dbus/dbus-userdb.c
@@ -143,7 +143,7 @@ _dbus_user_database_lookup (DBusUserDatabase *db,
         uid = n;
     }
 
-#ifdef DBUS_ENABLE_USER_CACHE  
+#ifdef DBUS_ENABLE_USERDB_CACHE  
   if (uid != DBUS_UID_UNSET)
     info = _dbus_hash_table_lookup_ulong (db->users, uid);
   else
-- 
1.5.4.3


dbus-fix-guidless-conn-segfault.patch:

--- NEW FILE dbus-fix-guidless-conn-segfault.patch ---
>From cdf570506b77eca62ac8e5a5bfe2a1db0fbb1123 Mon Sep 17 00:00:00 2001
From: Scott James Remnant <scott at netsplit.com>
Date: Thu, 24 Apr 2008 15:58:34 +0100
Subject: [PATCH] 	* dbus/dbus-connection.c (connection_forget_shared_unlocked):
 	Remove shared connections which lack a GUID from the list that
 	caches those, otherwise references to them will remain after
 	they have been freed.

---
 dbus/dbus-connection.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c
index 3a1670c..5b25534 100644
--- a/dbus/dbus-connection.c
+++ b/dbus/dbus-connection.c
@@ -1671,21 +1671,26 @@ connection_forget_shared_unlocked (DBusConnection *connection)
   if (!connection->shareable)
     return;
   
+  _DBUS_LOCK (shared_connections);
+      
   if (connection->server_guid != NULL)
     {
       _dbus_verbose ("dropping connection to %s out of the shared table\n",
                      connection->server_guid);
       
-      _DBUS_LOCK (shared_connections);
-      
       if (!_dbus_hash_table_remove_string (shared_connections,
                                            connection->server_guid))
         _dbus_assert_not_reached ("connection was not in the shared table");
       
       dbus_free (connection->server_guid);
       connection->server_guid = NULL;
-      _DBUS_UNLOCK (shared_connections);
     }
+  else
+    {
+      _dbus_list_remove (&shared_connections_no_guid, connection);
+    }
+
+  _DBUS_UNLOCK (shared_connections);
   
   /* remove our reference held on all shareable connections */
   _dbus_connection_unref_unlocked (connection);
-- 
1.5.4.3


dbus-hold-ref-during-dispatch.patch:

--- NEW FILE dbus-hold-ref-during-dispatch.patch ---
>From d6ab6476e0986340ea43c1383ff8153ac224a4c9 Mon Sep 17 00:00:00 2001
From: Scott James Remnant <scott at netsplit.com>
Date: Thu, 24 Apr 2008 16:02:11 +0100
Subject: [PATCH] 	* dbus/dbus-connection.c (_dbus_connection_read_write_dispatch):
 	Reference the D-Bus connection during the function call since we
 	call other functions that may free the last reference and we
 	still expect to be able to check the connection after they return
 	to decide our own return value.

---
 dbus/dbus-connection.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c
index 5b25534..517deac 100644
--- a/dbus/dbus-connection.c
+++ b/dbus/dbus-connection.c
@@ -3410,6 +3410,8 @@ _dbus_connection_read_write_dispatch (DBusConnection *connection,
 {
   DBusDispatchStatus dstatus;
   dbus_bool_t no_progress_possible;
+
+  dbus_connection_ref (connection);
   
   dstatus = dbus_connection_get_dispatch_status (connection);
 
@@ -3450,6 +3452,7 @@ _dbus_connection_read_write_dispatch (DBusConnection *connection,
   else
     no_progress_possible = _dbus_connection_get_is_connected_unlocked (connection);
   CONNECTION_UNLOCK (connection);
+  dbus_connection_unref (connection);
   return !no_progress_possible; /* TRUE if we can make more progress */
 }
 
-- 
1.5.4.3


dbus-reinit-addr-after-shutdown.patch:

--- NEW FILE dbus-reinit-addr-after-shutdown.patch ---
>From 7d257984d77cd6eba2ccb7c211e5a6466876ec1c Mon Sep 17 00:00:00 2001
From: Scott James Remnant <scott at netsplit.com>
Date: Thu, 24 Apr 2008 15:50:11 +0100
Subject: [PATCH] 	* dbus/dbus-bus.c (addresses_shutdown_func): Reset initialized back
 	to FALSE after cleaning up the address list so that it will be
 	reinitialized again if D-Bus is used after dbus_shutdown()

---
 dbus/dbus-bus.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/dbus/dbus-bus.c b/dbus/dbus-bus.c
index e159dae..f97cce6 100644
--- a/dbus/dbus-bus.c
+++ b/dbus/dbus-bus.c
@@ -124,6 +124,8 @@ addresses_shutdown_func (void *data)
     }
 
   activation_bus_type = DBUS_BUS_STARTER;
+
+  initialized = FALSE;
 }
 
 static dbus_bool_t
-- 
1.5.4.3



Index: dbus.spec
===================================================================
RCS file: /cvs/pkgs/rpms/dbus/devel/dbus.spec,v
retrieving revision 1.145
retrieving revision 1.146
diff -u -r1.145 -r1.146
--- dbus.spec	12 May 2008 18:57:59 -0000	1.145
+++ dbus.spec	30 May 2008 18:37:44 -0000	1.146
@@ -8,7 +8,7 @@
 Summary: D-BUS message bus
 Name: dbus
 Version: 1.2.1
-Release: 3%{?dist}
+Release: 4%{?dist}
 URL: http://www.freedesktop.org/software/dbus/
 Source0: http://dbus.freedesktop.org/releases/dbus/%{name}-%{version}.tar.gz
 Source1: doxygen_to_devhelp.xsl
@@ -39,6 +39,10 @@
 
 Patch0: dbus-0.60-start-early.patch
 Patch1: dbus-1.0.1-generate-xml-docs.patch
+Patch2: dbus-reinit-addr-after-shutdown.patch
+Patch3: dbus-fix-guidless-conn-segfault.patch
+Patch4: dbus-compile-userdb-cache.patch
+Patch5: dbus-hold-ref-during-dispatch.patch
 
 %description
 
@@ -94,6 +98,10 @@
 
 %patch0 -p1 -b .start-early
 %patch1 -p1 -b .generate-xml-docs
+%patch2 -p1 -b .reinit-addr-after-shutdown
+%patch3 -p1 -b .fix-guidless-conn-segfault
+%patch4 -p1 -b .compile-userdb-cache
+%patch5 -p1 -b .hold-ref-during-dispatch
 
 autoreconf -f -i
 
@@ -222,6 +230,9 @@
 %{_includedir}/*
 
 %changelog
+* Thu May 29 2008 Casey Dahlin <cdahlin at redhat.com> - 1.2.1-4
+- Patches for fd.o bugs 15635, 15571, 15588, 15570
+
 * Mon May 12 2008 Ray Strode <rstrode at redhat.com> - 1.2.1-3
 - drop last patch after discussion on dbus list
 




More information about the fedora-extras-commits mailing list