- Update to 2.29.91

This commit is contained in:
Bastien Nocera 2010-02-15 12:56:01 +00:00
parent 464fffd1e9
commit 26ea68e54c
6 changed files with 8 additions and 363 deletions

View File

@ -1 +1 @@
gnome-bluetooth-2.29.3.tar.bz2 gnome-bluetooth-2.29.91.tar.bz2

View File

@ -1,264 +0,0 @@
From 201b71d13882bf963d41845b88401ce5f90c7a9b Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Mon, 14 Dec 2009 11:58:54 +0000
Subject: [PATCH 1/2] Fix memory leaks when using dbus_g_method_get_sender()
---
lib/bluetooth-agent.c | 64 ++++++++++++++++++++++++++++++++++++------------
lib/obex-agent.c | 32 ++++++++++++++++++------
2 files changed, 72 insertions(+), 24 deletions(-)
diff --git a/lib/bluetooth-agent.c b/lib/bluetooth-agent.c
index 00e8dcb..a08eb9c 100644
--- a/lib/bluetooth-agent.c
+++ b/lib/bluetooth-agent.c
@@ -80,14 +80,18 @@ static gboolean bluetooth_agent_request_pin_code(BluetoothAgent *agent,
const char *path, DBusGMethodInvocation *context)
{
BluetoothAgentPrivate *priv = BLUETOOTH_AGENT_GET_PRIVATE(agent);
- const char *sender = dbus_g_method_get_sender(context);
+ char *sender = dbus_g_method_get_sender(context);
DBusGProxy *device;
gboolean result = FALSE;
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE)
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
return FALSE;
+ }
+
+ g_free (sender);
if (priv->pincode_func) {
if (priv->adapter != NULL)
@@ -110,14 +114,18 @@ static gboolean bluetooth_agent_request_passkey(BluetoothAgent *agent,
const char *path, DBusGMethodInvocation *context)
{
BluetoothAgentPrivate *priv = BLUETOOTH_AGENT_GET_PRIVATE(agent);
- const char *sender = dbus_g_method_get_sender(context);
+ char *sender = dbus_g_method_get_sender(context);
DBusGProxy *device;
gboolean result = FALSE;
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE)
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
return FALSE;
+ }
+
+ g_free (sender);
if (priv->passkey_func) {
if (priv->adapter != NULL)
@@ -141,14 +149,18 @@ static gboolean bluetooth_agent_display_passkey(BluetoothAgent *agent,
DBusGMethodInvocation *context)
{
BluetoothAgentPrivate *priv = BLUETOOTH_AGENT_GET_PRIVATE(agent);
- const char *sender = dbus_g_method_get_sender(context);
+ char *sender = dbus_g_method_get_sender(context);
DBusGProxy *device;
gboolean result = FALSE;
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE)
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
return FALSE;
+ }
+
+ g_free (sender);
if (priv->display_func) {
if (priv->adapter != NULL)
@@ -172,14 +184,18 @@ static gboolean bluetooth_agent_request_confirmation(BluetoothAgent *agent,
DBusGMethodInvocation *context)
{
BluetoothAgentPrivate *priv = BLUETOOTH_AGENT_GET_PRIVATE(agent);
- const char *sender = dbus_g_method_get_sender(context);
+ char *sender = dbus_g_method_get_sender(context);
DBusGProxy *device;
gboolean result = FALSE;
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE)
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
return FALSE;
+ }
+
+ g_free (sender);
if (priv->confirm_func) {
if (priv->adapter != NULL)
@@ -203,14 +219,18 @@ static gboolean bluetooth_agent_authorize(BluetoothAgent *agent,
DBusGMethodInvocation *context)
{
BluetoothAgentPrivate *priv = BLUETOOTH_AGENT_GET_PRIVATE(agent);
- const char *sender = dbus_g_method_get_sender(context);
+ char *sender = dbus_g_method_get_sender(context);
DBusGProxy *device;
gboolean result = FALSE;
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE)
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
return FALSE;
+ }
+
+ g_free (sender);
if (priv->authorize_func) {
if (priv->adapter != NULL)
@@ -233,12 +253,16 @@ static gboolean bluetooth_agent_confirm_mode(BluetoothAgent *agent,
const char *mode, DBusGMethodInvocation *context)
{
BluetoothAgentPrivate *priv = BLUETOOTH_AGENT_GET_PRIVATE(agent);
- const char *sender = dbus_g_method_get_sender(context);
+ char *sender = dbus_g_method_get_sender(context);
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE)
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
return FALSE;
+ }
+
+ g_free (sender);
dbus_g_method_return(context);
@@ -249,13 +273,17 @@ static gboolean bluetooth_agent_cancel(BluetoothAgent *agent,
DBusGMethodInvocation *context)
{
BluetoothAgentPrivate *priv = BLUETOOTH_AGENT_GET_PRIVATE(agent);
- const char *sender = dbus_g_method_get_sender(context);
+ char *sender = dbus_g_method_get_sender(context);
gboolean result = FALSE;
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE)
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
return FALSE;
+ }
+
+ g_free (sender);
if (priv->cancel_func)
result = priv->cancel_func(context, priv->cancel_data);
@@ -267,12 +295,16 @@ static gboolean bluetooth_agent_release(BluetoothAgent *agent,
DBusGMethodInvocation *context)
{
BluetoothAgentPrivate *priv = BLUETOOTH_AGENT_GET_PRIVATE(agent);
- const char *sender = dbus_g_method_get_sender(context);
+ char *sender = dbus_g_method_get_sender(context);
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE)
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
return FALSE;
+ }
+
+ g_free (sender);
g_object_unref(agent);
diff --git a/lib/obex-agent.c b/lib/obex-agent.c
index 714dc6a..38b2fde 100644
--- a/lib/obex-agent.c
+++ b/lib/obex-agent.c
@@ -73,13 +73,17 @@ static gboolean obex_agent_request(ObexAgent *agent, const char *path,
DBusGMethodInvocation *context)
{
ObexAgentPrivate *priv = OBEX_AGENT_GET_PRIVATE(agent);
- const char *sender = dbus_g_method_get_sender(context);
+ char *sender = dbus_g_method_get_sender(context);
gboolean result = FALSE;
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE)
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
return FALSE;
+ }
+
+ g_free (sender);
if (priv->request_func) {
DBusGProxy *proxy;
@@ -102,13 +106,17 @@ static gboolean obex_agent_progress(ObexAgent *agent, const char *path,
guint64 transferred, DBusGMethodInvocation *context)
{
ObexAgentPrivate *priv = OBEX_AGENT_GET_PRIVATE(agent);
- const char *sender = dbus_g_method_get_sender(context);
+ char *sender = dbus_g_method_get_sender(context);
gboolean result = FALSE;
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE)
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
return FALSE;
+ }
+
+ g_free (sender);
if (priv->progress_func) {
DBusGProxy *proxy;
@@ -130,13 +138,17 @@ static gboolean obex_agent_complete(ObexAgent *agent, const char *path,
DBusGMethodInvocation *context)
{
ObexAgentPrivate *priv = OBEX_AGENT_GET_PRIVATE(agent);
- const char *sender = dbus_g_method_get_sender(context);
+ char *sender = dbus_g_method_get_sender(context);
gboolean result = FALSE;
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE)
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
return FALSE;
+ }
+
+ g_free (sender);
if (priv->complete_func) {
DBusGProxy *proxy;
@@ -158,13 +170,17 @@ static gboolean obex_agent_release(ObexAgent *agent,
DBusGMethodInvocation *context)
{
ObexAgentPrivate *priv = OBEX_AGENT_GET_PRIVATE(agent);
- const char *sender = dbus_g_method_get_sender(context);
+ char *sender = dbus_g_method_get_sender(context);
gboolean result = FALSE;
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE)
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
return FALSE;
+ }
+
+ g_free (sender);
if (priv->release_func)
result = priv->release_func(context, priv->release_data);
--
1.6.5.2

View File

@ -1,49 +0,0 @@
From ed95cf3ab7b4ab65127b014a80b971188a3b02da Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Mon, 14 Dec 2009 12:58:31 +0000
Subject: [PATCH 2/2] Fix crash when obex-client isn't running already
When obex-client isn't running yet, we can't get a name owner
for the service. But we'd still get a callback from the service
when trying to use it, and crash trying to compare the sender
with a NULL string.
Instead, set the owner's dbus name if we don't already have one
in obex_agent_request().
See: https://bugzilla.redhat.com/show_bug.cgi?id=544881
---
lib/obex-agent.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/lib/obex-agent.c b/lib/obex-agent.c
index 38b2fde..276fcb3 100644
--- a/lib/obex-agent.c
+++ b/lib/obex-agent.c
@@ -78,13 +78,19 @@ static gboolean obex_agent_request(ObexAgent *agent, const char *path,
DBG("agent %p sender %s", agent, sender);
- if (g_str_equal(sender, priv->busname) == FALSE) {
+ if (priv->busname == NULL) {
+ /* When we get called the first time, if OBEX_SERVICE
+ * was not available, we get its name here */
+ priv->busname = sender;
+ } else {
+ if (g_str_equal(sender, priv->busname) == FALSE) {
+ g_free (sender);
+ return FALSE;
+ }
+
g_free (sender);
- return FALSE;
}
- g_free (sender);
-
if (priv->request_func) {
DBusGProxy *proxy;
--
1.6.5.2

View File

@ -1,32 +0,0 @@
diff -up gnome-bluetooth-2.29.3/configure.ac.libs gnome-bluetooth-2.29.3/configure.ac
--- gnome-bluetooth-2.29.3/configure.ac.libs 2010-02-14 14:16:25.875934606 -0500
+++ gnome-bluetooth-2.29.3/configure.ac 2010-02-14 14:31:24.977904087 -0500
@@ -123,12 +123,14 @@ PKG_CHECK_MODULES(WIZARD,
dbus-glib-1 >= $DBUS_GLIB_REQUIRED
gmodule-export-2.0
gtk+-2.0
- unique-1.0)
+ unique-1.0
+ x11)
dnl Requires for the input helper
PKG_CHECK_MODULES(INPUT,
xi
- gtk+-2.0)
+ gtk+-2.0
+ x11)
dnl Requires for the public library
PKG_CHECK_MODULES(LIBGNOMEBT,
diff -up gnome-bluetooth-2.29.3/lib/Makefile.am.libs gnome-bluetooth-2.29.3/lib/Makefile.am
--- gnome-bluetooth-2.29.3/lib/Makefile.am.libs 2010-02-14 14:00:40.224154013 -0500
+++ gnome-bluetooth-2.29.3/lib/Makefile.am 2010-02-14 14:01:10.183903796 -0500
@@ -39,7 +39,7 @@ libgnome_bluetooth_la_SOURCES = \
bluetooth-chooser-combo.c \
bluetooth-chooser-combo.h
-libgnome_bluetooth_la_LIBADD = $(LIBGNOMEBT_LIBS)
+libgnome_bluetooth_la_LIBADD = $(LIBGNOMEBT_LIBS) -lm
libgnome_bluetooth_la_LDFLAGS = \
-version-info $(GNOMEBT_LT_VERSION) \

View File

@ -1,6 +1,6 @@
Name: gnome-bluetooth Name: gnome-bluetooth
Version: 2.29.3 Version: 2.29.91
Release: 5%{?dist} Release: 1%{?dist}
Summary: Bluetooth graphical utilities Summary: Bluetooth graphical utilities
Group: Applications/Communications Group: Applications/Communications
@ -24,8 +24,6 @@ BuildRequires: intltool desktop-file-utils gettext gtk-doc
BuildRequires: gir-repository-devel BuildRequires: gir-repository-devel
BuildRequires: gobject-introspection-devel BuildRequires: gobject-introspection-devel
BuildRequires: autoconf automake libtool
BuildRequires: gnome-common
Obsoletes: bluez-pin Obsoletes: bluez-pin
Provides: dbus-bluez-pin-helper Provides: dbus-bluez-pin-helper
@ -41,12 +39,6 @@ Requires: pulseaudio-module-bluetooth
Requires(post): desktop-file-utils Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils Requires(postun): desktop-file-utils
# https://bugzilla.redhat.com/show_bug.cgi?id=544881
Patch0: 0001-Fix-memory-leaks-when-using-dbus_g_method_get_sender.patch
Patch1: 0002-Fix-crash-when-obex-client-isn-t-running-already.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=609937
Patch2: gnome-bluetooth-libs.patch
%description %description
The gnome-bluetooth package contains graphical utilities to setup, The gnome-bluetooth package contains graphical utilities to setup,
monitor and use Bluetooth devices. monitor and use Bluetooth devices.
@ -70,7 +62,7 @@ Obsoletes: gnome-bluetooth-devel < 2.27.1-4
Provides: gnome-bluetooth-devel = %{version} Provides: gnome-bluetooth-devel = %{version}
%description libs-devel %description libs-devel
This package contains the libraries amd header files that are needed This package contains the libraries and header files that are needed
for writing applications that require a Bluetooth device selection widget. for writing applications that require a Bluetooth device selection widget.
%package moblin %package moblin
@ -84,11 +76,6 @@ This package contains the Moblin user interface for gnome-bluetooth.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1 -b .libs
autoreconf -i -f
%build %build
%configure --disable-desktop-update --disable-icon-update %configure --disable-desktop-update --disable-icon-update
@ -231,6 +218,9 @@ fi
%{_bindir}/bluetooth-panel %{_bindir}/bluetooth-panel
%changelog %changelog
* Mon Feb 15 2010 Bastien Nocera <bnocera@redhat.com> 2.29.91-1
- Update to 2.29.91
* Sun Feb 14 2010 Matthias Clasen <mclasen@redhat.com> 2.29.3-5 * Sun Feb 14 2010 Matthias Clasen <mclasen@redhat.com> 2.29.3-5
- Add missing libs - Add missing libs

View File

@ -1 +1 @@
03cd99b9d781ad794472d3921a83c049 gnome-bluetooth-2.29.3.tar.bz2 d3755b5104b4e1c2e96cf00a234ebc7f gnome-bluetooth-2.29.91.tar.bz2