Am Donnerstag, den 29.07.2010, 18:46 +0200 schrieb Michael Biebl:
> the only change in libavahi-client between 0.6.26 and 0.6.27 is:
> 
> git log v0.6.26..v0.6.27 -- avahi-client
> commit 25f352679488de6f22486bd068ea3cd448e8f1ac
> Author: Lennart Poettering <lenn...@poettering.net>
> Date:   Tue Jul 13 05:01:47 2010 +0200
> 
>     client: update libavahi-client so that it can deal with auto-activated 
> avahi
> daemons
> 
> 
> Coud you try to revert that patch [1] and test if that fixes your problem.
> From looking at the change though, it seems no related to your Bonjour problem
> in pidgin.
Reverting the changes in 0.6.27-1 in avahi-client/client.c fixes the
issue. I tested it with one pidgin instance running on my host system
and a second pidgin instance in a virtualbox debian sid, with bridged
networking. Everything works fine, no complaints of pidging anymore.

I attach the debdiff output to this mail.

Greetings from Debconf10 ;) - Fuddl
diff -Nru avahi-0.6.27/debian/changelog avahi-0.6.27/debian/changelog
--- avahi-0.6.27/debian/changelog	2010-07-25 17:24:40.000000000 -0400
+++ avahi-0.6.27/debian/changelog	2010-07-29 13:13:42.000000000 -0400
@@ -1,3 +1,9 @@
+avahi (0.6.27-2) unstable; urgency=low
+
+  * Revert avahi-client to version 0.6.26 (Closes: #590760)
+
+ -- Bruno "Fuddl" Kleinert <fu...@debian.org>  Thu, 29 Jul 2010 13:12:40 -0400
+
 avahi (0.6.27-1) unstable; urgency=low
 
   * New upstream release.
diff -Nru avahi-0.6.27/debian/patches/revert-avahi-client-to-0.6.26.diff avahi-0.6.27/debian/patches/revert-avahi-client-to-0.6.26.diff
--- avahi-0.6.27/debian/patches/revert-avahi-client-to-0.6.26.diff	1969-12-31 19:00:00.000000000 -0500
+++ avahi-0.6.27/debian/patches/revert-avahi-client-to-0.6.26.diff	2010-07-29 13:08:50.000000000 -0400
@@ -0,0 +1,37 @@
+diff --git b/avahi-client/client.c a/avahi-client/client.c
+index 2b29480..6435723 100644
+--- b/avahi-client/client.c
++++ a/avahi-client/client.c
+@@ -141,10 +141,9 @@ static DBusHandlerResult filter_func(DBusConnection *bus, DBusMessage *message,
+ 
+         if (strcmp(name, AVAHI_DBUS_NAME) == 0) {
+ 
+-            if (old[0] &&
+-                avahi_client_is_connected(client)) {
++            if (avahi_client_is_connected(client)) {
+ 
+-                /* Regardless if the server lost its name or
++                /* Regardless if the server lost or acquired its name or
+                  * if the name was transfered: our services are no longer
+                  * available, so we disconnect ourselves */
+                 avahi_client_set_errno(client, AVAHI_ERR_DISCONNECTED);
+@@ -523,7 +522,7 @@ AvahiClient *avahi_client_new(const AvahiPoll *poll_api, AvahiClientFlags flags,
+         goto fail;
+     }
+ 
+-    if (!dbus_connection_add_filter(client->bus, filter_func, client, NULL)) {
++    if (!dbus_connection_add_filter (client->bus, filter_func, client, NULL)) {
+         if (ret_error)
+             *ret_error = AVAHI_ERR_NO_MEMORY;
+         goto fail;
+@@ -560,7 +559,9 @@ AvahiClient *avahi_client_new(const AvahiPoll *poll_api, AvahiClientFlags flags,
+     if (dbus_error_is_set(&error))
+         goto fail;
+ 
+-    if (!dbus_bus_start_service_by_name(client->bus, AVAHI_DBUS_NAME, 0, NULL, &error)) {
++
++    if (!(dbus_bus_name_has_owner(client->bus, AVAHI_DBUS_NAME, &error)) ||
++        dbus_error_is_set(&error)) {
+ 
+         /* We free the error so its not set, that way the fail target
+          * will return the NO_DAEMON error rather than a DBUS error */
diff -Nru avahi-0.6.27/debian/patches/series avahi-0.6.27/debian/patches/series
--- avahi-0.6.27/debian/patches/series	2010-07-13 08:50:38.000000000 -0400
+++ avahi-0.6.27/debian/patches/series	2010-07-29 13:10:02.000000000 -0400
@@ -1,2 +1,3 @@
 # Debian patches for Avahi
 01_avahi-daemon.conf.patch
+revert-avahi-client-to-0.6.26.diff

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to