--- a/ChangeLog Fri Jan 21 09:04:27 2011 +0000
+++ b/ChangeLog Fri Jan 21 14:18:17 2011 +0000
@@ -1,3 +1,23 @@
+2011-01-21 Padraig O'Briain <[email protected]>
+
+ * base-specs/avahi.spec:
+ * patches/avahi-01-config-bonjour.diff:
+ * patches/avahi-02-browse-service.diff:
+ * patches/avahi-03-entry.diff:
+ * patches/avahi-04-internal.diff:
+ * patches/avahi-05-resolve-service.diff:
+ * patches/avahi-06-server.diff:
+ * patches/avahi-07-daemon.diff:
+ * patches/avahi-08-man-page.diff:
+ * patches/avahi-09-resolve-host-name.diff:
+ * patches/avahi-10-resolve-address.diff:
+ * patches/avahi-11-browse-domain.diff:
+ * patches/avahi-12-browse.diff:
+ * patches/avahi-13-remove-debug-trap.diff:
+ * patches/avahi-15-secure-dbus-dest.diff:
+ * specs/SUNWavahi-bridge-dsd.spec: Update to version 0.6.28; fixes
+ bugster 7008368.
+
2011-01-21 Simon Jin <[email protected]>
* base-specs/libgweather.spec:update license
--- a/base-specs/avahi.spec Fri Jan 21 09:04:27 2011 +0000
+++ b/base-specs/avahi.spec Fri Jan 21 14:18:17 2011 +0000
@@ -11,7 +11,7 @@
Name: avahi
License: LGPL v2
Group: System/Libraries
-Version: 0.6.25
+Version: 0.6.28
Release: 1
Distribution: Java Desktop System
Vendor: Avahi
@@ -122,6 +122,7 @@
--localstatedir=%{_localstatedir} \
--mandir=%{_mandir} \
--with-distro=none \
+ --disable-gtk3 \
--disable-qt3 \
--disable-qt4 \
--disable-mono \
@@ -170,6 +171,7 @@
rm -rf $RPM_BUILD_ROOT%{_mandir}/man5
rm -rf $RPM_BUILD_ROOT%{_mandir}/man8
rm -rf $RPM_BUILD_ROOT%{_mandir}/man1/avahi-bookmarks.1
+rm -rf $RPM_BUILD_ROOT%{_datadir}/dbus-1/system-services
%post
@@ -179,6 +181,8 @@
/sbin/ldconfig
%changelog
+* Fri Jan 21 2011 - [email protected]
+- Update to 0.6.28.
* Wed Nov 10 2010 - [email protected]
- Add license tag.
* Mon oct 05 2009 - [email protected]
--- a/patches/avahi-01-config-bonjour.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-01-config-bonjour.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,6 +1,24 @@
---- /usr/tmp/clean/avahi-0.6.22/configure.ac 2007-12-17 15:35:51.000000000 +0000
-+++ avahi-0.6.22/configure.ac 2008-06-06 08:54:18.794453000 +0100
-@@ -148,6 +148,17 @@
+--- /usr/tmp/clean/avahi-0.6.28/configure.ac 2010-10-05 00:33:15.689579806 +0100
++++ avahi-0.6.28/configure.ac 2011-01-21 09:13:07.100772101 +0000
+@@ -23,7 +23,7 @@
+ AC_CONFIG_SRCDIR([avahi-core/server.c])
+ AC_CONFIG_MACRO_DIR([common])
+ AC_CONFIG_HEADERS([config.h])
+-AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax])
++AM_INIT_AUTOMAKE([foreign 1.10 -Wall -Wno-portability tar-pax])
+
+ AC_SUBST(PACKAGE_URL, [http://avahi.org/])
+
+@@ -43,7 +43,7 @@
+
+ AC_CANONICAL_HOST
+
+-AM_SILENT_RULES([yes])
++#AM_SILENT_RULES([yes])
+
+ AC_CHECK_PROG([STOW], [stow], [yes], [no])
+
+@@ -153,6 +153,17 @@
ACX_PTHREAD(,AC_MSG_ERROR([Missing POSIX Threads support]))
#
--- a/patches/avahi-02-browse-service.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-02-browse-service.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,6 +1,6 @@
---- /usr/tmp/clean/avahi-0.6.21/avahi-core/browse-service.c 2006-08-31 18:18:03.000000000 +0100
-+++ avahi-0.6.21/avahi-core/browse-service.c 2007-09-20 10:19:21.368616000 +0100
-@@ -23,10 +23,14 @@
+--- avahi-0.6.28/avahi-core/browse-service.c.orig 2010-08-26 01:51:38.983153000 +0100
++++ avahi-0.6.28/avahi-core/browse-service.c 2011-01-20 09:22:41.808471289 +0000
+@@ -21,10 +21,14 @@
#include <config.h>
#endif
@@ -15,7 +15,7 @@
#include <avahi-common/error.h>
#include "browse.h"
-@@ -42,9 +46,131 @@
+@@ -40,9 +44,131 @@
AvahiSServiceBrowserCallback callback;
void* userdata;
@@ -147,7 +147,7 @@
static void record_browser_callback(
AvahiSRecordBrowser*rr,
AvahiIfIndex interface,
-@@ -104,7 +230,11 @@
+@@ -102,7 +228,11 @@
AVAHI_CHECK_VALIDITY_RETURN_NULL(server, AVAHI_IF_VALID(interface), AVAHI_ERR_INVALID_INTERFACE);
AVAHI_CHECK_VALIDITY_RETURN_NULL(server, AVAHI_PROTO_VALID(protocol), AVAHI_ERR_INVALID_PROTOCOL);
AVAHI_CHECK_VALIDITY_RETURN_NULL(server, !domain || avahi_is_valid_domain_name(domain), AVAHI_ERR_INVALID_DOMAIN_NAME);
@@ -159,10 +159,10 @@
AVAHI_CHECK_VALIDITY_RETURN_NULL(server, avahi_is_valid_service_type_generic(service_type), AVAHI_ERR_INVALID_SERVICE_TYPE);
if (!domain)
-@@ -134,6 +264,16 @@
+@@ -132,6 +262,16 @@
goto fail;
}
-
+
+#ifdef HAVE_BONJOUR
+ b->protocol = protocol;
+ b->interface = interface;
@@ -176,7 +176,7 @@
if (!(k = avahi_key_new(n, AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_PTR))) {
avahi_server_set_errno(server, AVAHI_ERR_NO_MEMORY);
goto fail;
-@@ -143,6 +283,7 @@
+@@ -141,6 +281,7 @@
goto fail;
avahi_key_unref(k);
@@ -184,8 +184,8 @@
return b;
-@@ -165,5 +306,21 @@
-
+@@ -163,5 +304,21 @@
+
avahi_free(b->domain_name);
avahi_free(b->service_type);
+#ifdef HAVE_BONJOUR
--- a/patches/avahi-03-entry.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-03-entry.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,6 +1,6 @@
---- /usr/tmp/clean/avahi-0.6.12/avahi-core/entry.c 2006-03-02 01:30:17.000000000 +0000
-+++ avahi-0.6.12/avahi-core/entry.c 2006-08-28 14:26:37.958555000 +0100
-@@ -52,6 +52,33 @@
+--- /usr/tmp/clean/avahi-0.6.28/avahi-core/entry.c 2010-08-26 01:51:38.985153000 +0100
++++ avahi-0.6.28/avahi-core/entry.c 2011-01-20 12:01:24.322248863 +0000
+@@ -50,6 +50,33 @@
#include "rr-util.h"
#include "domain-util.h"
@@ -34,7 +34,7 @@
static void transport_flags_from_domain(AvahiServer *s, AvahiPublishFlags *flags, const char *domain) {
assert(flags);
assert(domain);
-@@ -71,13 +98,146 @@
+@@ -69,13 +96,146 @@
*flags |= AVAHI_PUBLISH_USE_WIDE_AREA;
}
@@ -181,7 +181,7 @@
/* Remove from linked list */
AVAHI_LLIST_REMOVE(AvahiEntry, entries, s->entries, e);
-@@ -104,6 +264,15 @@
+@@ -102,6 +262,15 @@
while (g->entries)
avahi_entry_free(s, g->entries);
@@ -197,17 +197,17 @@
if (g->register_time_event)
avahi_time_event_free(g->register_time_event);
-@@ -141,6 +310,21 @@
+@@ -139,6 +308,21 @@
s->need_entry_cleanup = 0;
}
+#ifdef HAVE_BONJOUR
+ if (s->need_service_cleanup) {
+ AvahiService *as, *next;
-+
++
+ for (as = s->services; as; as = next) {
+ next = as->services_next;
-+
++
+ if (as->dead)
+ avahi_service_free(s, as);
+ }
@@ -218,17 +218,8 @@
+
if (s->need_browser_cleanup)
avahi_browser_cleanup(s);
- }
-@@ -226,7 +410,7 @@
- int is_first = 1;
-
- /* Update and existing record */
--
-+
- /* Find the first matching entry */
- for (e = avahi_hashmap_lookup(s->entries_by_key, r->key); e; e = e->by_key_next) {
- if (!e->dead && e->group == g && e->interface == interface && e->protocol == protocol)
-@@ -237,8 +421,54 @@
+
+@@ -245,8 +429,54 @@
/* Hmm, nothing found? */
if (!e) {
@@ -283,7 +274,7 @@
}
/* Update the entry */
-@@ -248,6 +478,36 @@
+@@ -256,6 +486,36 @@
/* Announce our changes when needed */
if (!avahi_record_equal_no_ttl(old_record, r) && (!g || g->state != AVAHI_ENTRY_GROUP_UNCOMMITED)) {
@@ -320,7 +311,7 @@
/* Remove the old entry from all caches, if needed */
if (!(e->flags & AVAHI_PUBLISH_UNIQUE))
-@@ -255,6 +515,7 @@
+@@ -263,6 +523,7 @@
/* Reannounce our updated entry */
avahi_reannounce_entry(s, e);
@@ -328,7 +319,7 @@
}
/* If we were the first entry in the list, we need to update the key */
-@@ -265,6 +526,14 @@
+@@ -273,6 +534,14 @@
} else {
AvahiEntry *t;
@@ -342,13 +333,13 @@
+#endif
/* Add a new record */
-
-@@ -299,7 +568,69 @@
+
+@@ -307,7 +576,69 @@
if (g)
- AVAHI_LLIST_PREPEND(AvahiEntry, by_group, g->entries, e);
-
+ AVAHI_LLIST_PREPEND(AvahiEntry, by_group, g->entries, e);
+
+#ifdef HAVE_BONJOUR
-+ e->recordref = NULL;
++ e->recordref = NULL;
+ if (!g->record_connection) {
+ if (DNSServiceCreateConnection(&g->record_connection) != kDNSServiceErr_NoError) {
+ avahi_entry_free(s, e);
@@ -384,7 +375,7 @@
+ ret = DNSServiceRegisterRecord(g->record_connection,
+ &e->recordref,
+ bflags,
-+ interface == AVAHI_IF_UNSPEC ?
++ interface == AVAHI_IF_UNSPEC ?
+ kDNSServiceInterfaceIndexAny :
+ interface,
+ record_name,
@@ -413,19 +404,17 @@
}
return e;
-@@ -575,7 +906,10 @@
+@@ -583,6 +914,9 @@
AvahiRecord *r = NULL;
int ret = AVAHI_OK;
AvahiEntry *srv_entry = NULL, *txt_entry = NULL, *ptr_entry = NULL, *enum_entry = NULL;
--
+#ifdef HAVE_BONJOUR
+ AvahiService *as;
+#endif
-+
+
assert(s);
assert(type);
- assert(name);
-@@ -595,6 +929,36 @@
+@@ -603,6 +937,36 @@
if (!domain)
domain = s->domain_name;
@@ -462,7 +451,7 @@
if (!host)
host = s->host_name_fqdn;
-@@ -659,6 +1023,7 @@
+@@ -667,6 +1031,7 @@
ret = avahi_server_errno(s);
goto fail;
}
@@ -470,26 +459,7 @@
fail:
if (ret != AVAHI_OK && !(flags & AVAHI_PUBLISH_UPDATE)) {
-@@ -938,6 +1303,18 @@
- return e;
- }
-
-+#ifdef HAVE_BONJOUR
-+static void server_cleanup_time_event_callback(AVAHI_GCC_UNUSED AvahiTimeEvent *e, void* userdata) {
-+ AvahiServer *s = userdata;
-+ assert(s);
-+
-+ avahi_time_event_free(s->cleanup_time_event);
-+ s->cleanup_time_event = NULL;
-+
-+ avahi_cleanup_dead_entries(s);
-+}
-+#endif
-+
- int avahi_server_add_dns_server_address(
- AvahiServer *s,
- AvahiSEntryGroup *g,
-@@ -1005,7 +1382,11 @@
+@@ -1013,7 +1378,11 @@
if (g->state == state)
return;
@@ -501,7 +471,7 @@
if (g->state == AVAHI_ENTRY_GROUP_ESTABLISHED) {
-@@ -1050,6 +1431,10 @@
+@@ -1063,6 +1432,10 @@
g->register_time.tv_sec = 0;
g->register_time.tv_usec = 0;
AVAHI_LLIST_HEAD_INIT(AvahiEntry, g->entries);
@@ -512,14 +482,14 @@
AVAHI_LLIST_PREPEND(AvahiSEntryGroup, groups, s->groups, g);
return g;
-@@ -1057,16 +1442,26 @@
+@@ -1087,16 +1460,26 @@
void avahi_s_entry_group_free(AvahiSEntryGroup *g) {
AvahiEntry *e;
+#ifdef HAVE_BONJOUR
+ AvahiService *s;
+#endif
-
+
assert(g);
assert(g->server);
@@ -539,15 +509,15 @@
if (g->register_time_event) {
avahi_time_event_free(g->register_time_event);
-@@ -1077,9 +1472,17 @@
-
+@@ -1107,11 +1490,17 @@
+
g->server->need_group_cleanup = 1;
g->server->need_entry_cleanup = 1;
+#ifdef HAVE_BONJOUR
+ g->server->need_service_cleanup = 1;
-+ if (!g->server->cleanup_time_event)
-+ g->server->cleanup_time_event = avahi_time_event_new(g->server->time_event_queue, NULL, server_cleanup_time_event_callback, g->server);
+#endif
+
+ schedule_cleanup(g->server);
}
static void entry_group_commit_real(AvahiSEntryGroup *g) {
@@ -557,7 +527,7 @@
assert(g);
gettimeofday(&g->register_time, NULL);
-@@ -1089,8 +1492,15 @@
+@@ -1121,8 +1510,15 @@
if (g->dead)
return;
@@ -573,7 +543,7 @@
}
static void entry_group_register_time_event_callback(AVAHI_GCC_UNUSED AvahiTimeEvent *e, void* userdata) {
-@@ -1143,16 +1553,29 @@
+@@ -1175,16 +1571,28 @@
void avahi_s_entry_group_reset(AvahiSEntryGroup *g) {
AvahiEntry *e;
@@ -581,7 +551,7 @@
+ AvahiService *s;
+#endif
assert(g);
-
+
for (e = g->entries; e; e = e->by_group_next) {
if (!e->dead) {
+#ifndef HAVE_BONJOUR
@@ -597,13 +567,12 @@
+ s->dead = 1;
+ }
+ g->server->need_service_cleanup = 1;
-+ if (!g->server->cleanup_time_event)
-+ g->server->cleanup_time_event = avahi_time_event_new(g->server->time_event_queue, NULL, server_cleanup_time_event_callback, g->server);
+#endif
++
g->n_probing = 0;
-
+
avahi_s_entry_group_change_state(g, AVAHI_ENTRY_GROUP_UNCOMMITED);
-@@ -1195,12 +1618,23 @@
+@@ -1222,12 +1630,23 @@
int avahi_s_entry_group_is_empty(AvahiSEntryGroup *g) {
AvahiEntry *e;
--- a/patches/avahi-04-internal.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-04-internal.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,6 +1,6 @@
---- /usr/tmp/clean/avahi-0.6.10/avahi-core/internal.h 2006-02-20 16:20:39.000000000 +0000
-+++ avahi-0.6.10/avahi-core/internal.h 2006-05-25 16:55:38.318495000 +0100
-@@ -24,6 +24,10 @@
+--- /usr/tmp/clean/avahi-0.6.28/avahi-core/internal.h 2010-08-26 01:51:38.988153000 +0100
++++ avahi-0.6.28/avahi-core/internal.h 2011-01-20 12:06:07.798532060 +0000
+@@ -22,6 +22,10 @@
/** A locally registered DNS resource record */
typedef struct AvahiEntry AvahiEntry;
@@ -11,7 +11,7 @@
#include <avahi-common/llist.h>
#include <avahi-common/watch.h>
-@@ -73,6 +77,10 @@
+@@ -72,6 +76,10 @@
AvahiIfIndex interface;
AvahiProtocol protocol;
@@ -22,8 +22,8 @@
AVAHI_LLIST_FIELDS(AvahiEntry, entries);
AVAHI_LLIST_FIELDS(AvahiEntry, by_key);
AVAHI_LLIST_FIELDS(AvahiEntry, by_group);
-@@ -98,6 +106,11 @@
-
+@@ -97,6 +105,11 @@
+
AVAHI_LLIST_FIELDS(AvahiSEntryGroup, groups);
AVAHI_LLIST_HEAD(AvahiEntry, entries);
+#ifdef HAVE_BONJOUR
@@ -34,7 +34,7 @@
};
struct AvahiServer {
-@@ -107,6 +120,10 @@
+@@ -106,6 +119,10 @@
AvahiServerConfig config;
AVAHI_LLIST_HEAD(AvahiEntry, entries);
@@ -45,14 +45,13 @@
AvahiHashmap *entries_by_key;
AVAHI_LLIST_HEAD(AvahiSEntryGroup, groups);
-@@ -122,6 +139,10 @@
+@@ -121,6 +138,9 @@
AVAHI_LLIST_HEAD(AvahiSDNSServerBrowser, dns_server_browsers);
int need_entry_cleanup, need_group_cleanup, need_browser_cleanup;
+#ifdef HAVE_BONJOUR
+ int need_service_cleanup;
-+ AvahiTimeEvent *cleanup_time_event;
+#endif
-
- AvahiTimeEventQueue *time_event_queue;
-
+
+ /* Used for scheduling RR cleanup */
+ AvahiTimeEvent *cleanup_time_event;
--- a/patches/avahi-05-resolve-service.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-05-resolve-service.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,6 +1,6 @@
---- /usr/tmp/clean/avahi-0.6.12/avahi-core/resolve-service.c 2006-04-01 01:48:59.000000000 +0100
-+++ avahi-0.6.12/avahi-core/resolve-service.c 2006-08-28 14:40:21.749772000 +0100
-@@ -27,6 +27,10 @@
+--- /usr/tmp/clean/avahi-0.6.28/avahi-core/resolve-service.c 2010-08-26 01:51:38.991153000 +0100
++++ avahi-0.6.28/avahi-core/resolve-service.c 2011-01-20 12:36:38.289095469 +0000
+@@ -25,6 +25,10 @@
#include <stdio.h>
#include <stdlib.h>
@@ -11,7 +11,7 @@
#include <avahi-common/domain.h>
#include <avahi-common/timeval.h>
#include <avahi-common/malloc.h>
-@@ -61,9 +65,302 @@
+@@ -59,9 +63,303 @@
AvahiTimeEvent *time_event;
@@ -47,18 +47,18 @@
+ switch (event) {
+ case AVAHI_RESOLVER_FAILURE:
+
-+ r->callback(r,
-+ r->interface,
-+ r->protocol,
-+ event,
-+ r->service_name,
-+ r->service_type,
-+ r->domain_name,
-+ NULL,
-+ NULL,
-+ 0,
-+ NULL,
-+ flags,
++ r->callback(r,
++ r->interface,
++ r->protocol,
++ event,
++ r->service_name,
++ r->service_type,
++ r->domain_name,
++ NULL,
++ NULL,
++ 0,
++ NULL,
++ flags,
+ r->userdata);
+ break;
+
@@ -85,18 +85,18 @@
+ flags = 0;
+ if (avahi_domain_equal(r->server->host_name_fqdn, r->host))
+ flags |= AVAHI_LOOKUP_RESULT_LOCAL;
-+ r->callback(r,
-+ r->interface,
-+ r->protocol,
-+ event,
-+ r->service_name,
-+ r->service_type,
-+ r->domain_name,
-+ r->host,
-+ r->address_record ? &a : NULL,
-+ r->port,
-+ r->txt_record ? r->txt_record->data.txt.string_list : NULL,
-+ flags,
++ r->callback(r,
++ r->interface,
++ r->protocol,
++ event,
++ r->service_name,
++ r->service_type,
++ r->domain_name,
++ r->host,
++ r->address_record ? &a : NULL,
++ r->port,
++ r->txt_record ? r->txt_record->data.txt.string_list : NULL,
++ flags,
+ r->userdata);
+ break;
+ }
@@ -152,6 +152,7 @@
+ break;
+ default:
+ abort();
++
+ }
+
+ if (changed &&
@@ -187,21 +188,21 @@
+ r->watch = NULL;
+ }
+ DNSServiceRefDeallocate(r->client);
-+ r->client = NULL;
++ r->client = NULL;
+ } else if (client == r->client_a) {
+ if (r->watch_a) {
+ r->server->poll_api->watch_free(r->watch_a);
+ r->watch_a = NULL;
+ }
+ DNSServiceRefDeallocate(r->client_a);
-+ r->client_a = NULL;
++ r->client_a = NULL;
+ } else if (client == r->client_a6) {
+ if (r->watch_a6) {
+ r->server->poll_api->watch_free(r->watch_a6);
+ r->watch_a6 = NULL;
+ }
+ DNSServiceRefDeallocate(r->client_a6);
-+ r->client_a6 = NULL;
++ r->client_a6 = NULL;
+ }
+ avahi_server_set_errno(r->server, AVAHI_ERR_DISCONNECTED);
+ finish(r, AVAHI_RESOLVER_FAILURE);
@@ -293,9 +294,9 @@
+static void avahi_resolve_service_start(AvahiServer *s, AvahiSServiceResolver *r) {
+ DNSServiceErrorType ret;
+
-+ ret = DNSServiceResolve(&r->client,
++ ret = DNSServiceResolve(&r->client,
+ 0,
-+ r->interface == AVAHI_IF_UNSPEC ?
++ r->interface == AVAHI_IF_UNSPEC ?
+ kDNSServiceInterfaceIndexAny :
+ r->interface,
+ r->service_name,
@@ -313,8 +314,8 @@
+
static void finish(AvahiSServiceResolver *r, AvahiResolverEvent event) {
AvahiLookupResultFlags flags;
-
-@@ -142,6 +439,7 @@
+
+@@ -140,6 +438,7 @@
}
}
}
@@ -322,7 +323,7 @@
static void time_event_callback(AvahiTimeEvent *e, void *userdata) {
AvahiSServiceResolver *r = userdata;
-@@ -165,6 +463,7 @@
+@@ -163,6 +462,7 @@
r->time_event = avahi_time_event_new(r->server->time_event_queue, &tv, time_event_callback, r);
}
@@ -330,7 +331,7 @@
static void record_browser_callback(
AvahiSRecordBrowser*rr,
AvahiIfIndex interface,
-@@ -376,6 +675,7 @@
+@@ -374,6 +674,7 @@
break;
}
}
@@ -338,7 +339,7 @@
AvahiSServiceResolver *avahi_s_service_resolver_new(
AvahiServer *server,
-@@ -435,6 +735,17 @@
+@@ -433,6 +734,17 @@
r->time_event = NULL;
AVAHI_LLIST_PREPEND(AvahiSServiceResolver, resolver, server->service_resolvers, r);
@@ -356,18 +357,18 @@
k = avahi_key_new(n, AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_SRV);
r->record_browser_srv = avahi_s_record_browser_new(server, interface, protocol, k, flags & ~(AVAHI_LOOKUP_NO_TXT|AVAHI_LOOKUP_NO_ADDRESS), record_browser_callback, r);
avahi_key_unref(k);
-@@ -454,6 +765,7 @@
+@@ -452,6 +764,7 @@
return NULL;
}
}
+#endif
start_timeout(r);
-
-@@ -484,6 +796,29 @@
+
+@@ -482,6 +795,29 @@
if (r->address_record)
avahi_record_unref(r->address_record);
-
+
+#ifdef HAVE_BONJOUR
+ if (r->defer_time_event) {
+ avahi_time_event_free(r->defer_time_event);
--- a/patches/avahi-06-server.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-06-server.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,6 +1,28 @@
---- /usr/tmp/clean/avahi-0.6.12/avahi-core/server.c 2006-06-21 22:51:19.000000000 +0100
-+++ avahi-0.6.12/avahi-core/server.c 2006-08-21 10:49:46.941313000 +0100
-@@ -1330,6 +1334,10 @@
+--- /usr/tmp/clean/avahi-0.6.28/avahi-core/server.c 2010-08-26 01:51:38.993153000 +0100
++++ avahi-0.6.28/avahi-core/server.c 2011-01-20 12:44:02.347982322 +0000
+@@ -1074,7 +1074,9 @@
+
+ s->state = state;
+
++#ifndef HAVE_BONJOUR
+ avahi_interface_monitor_update_rrs(s->monitor, 0);
++#endif
+
+ if (s->callback)
+ s->callback(s, state, s->userdata);
+@@ -1211,9 +1213,11 @@
+ server_set_state(s, AVAHI_SERVER_REGISTERING);
+ s->n_host_rr_pending ++; /** Make sure that the state isn't changed tp AVAHI_SERVER_RUNNING too early */
+
++#ifndef HAVE_BONJOUR
+ register_hinfo(s);
+ register_browse_domain(s);
+ avahi_interface_monitor_update_rrs(s->monitor, 0);
++#endif
+
+ assert(s->n_host_rr_pending > 0);
+ s->n_host_rr_pending --;
+@@ -1373,6 +1377,10 @@
else
avahi_server_config_init(&s->config);
@@ -11,7 +33,16 @@
if ((e = setup_sockets(s)) < 0) {
if (error)
*error = e;
-@@ -1384,6 +1393,12 @@
+@@ -1382,7 +1390,7 @@
+
+ return NULL;
+ }
+-
++#endif
+ s->n_host_rr_pending = 0;
+ s->need_entry_cleanup = 0;
+ s->need_group_cleanup = 0;
+@@ -1428,6 +1436,12 @@
s->local_service_cookie = (uint32_t) rand() * (uint32_t) rand();
} while (s->local_service_cookie == AVAHI_SERVICE_COOKIE_INVALID);
@@ -24,7 +55,15 @@
if (s->config.enable_wide_area) {
s->wide_area_lookup_engine = avahi_wide_area_engine_new(s);
avahi_wide_area_set_servers(s->wide_area_lookup_engine, s->config.wide_area_servers, s->config.n_wide_area_servers);
-@@ -1428,7 +1444,8 @@
+@@ -1438,6 +1452,7 @@
+
+ s->monitor = avahi_interface_monitor_new(s);
+ avahi_interface_monitor_sync(s->monitor);
++#endif
+
+ register_localhost(s);
+ register_stuff(s);
+@@ -1472,7 +1487,8 @@
while(s->entries)
avahi_entry_free(s, s->entries);
@@ -34,7 +73,17 @@
while (s->groups)
avahi_entry_group_free(s, s->groups);
-@@ -1477,6 +1495,11 @@
+@@ -1485,7 +1501,8 @@
+
+ if (s->wide_area_lookup_engine)
+ avahi_wide_area_engine_free(s->wide_area_lookup_engine);
+- avahi_multicast_lookup_engine_free(s->multicast_lookup_engine);
++ if (s->multicast_lookup_engine)
++ avahi_multicast_lookup_engine_free(s->multicast_lookup_engine);
+
+ if (s->cleanup_time_event)
+ avahi_time_event_free(s->cleanup_time_event);
+@@ -1524,6 +1541,11 @@
avahi_server_config_free(&s->config);
@@ -46,55 +95,3 @@
avahi_free(s);
}
-diff -ruN avahi-0.6.25.orig/avahi-core/server.c avahi-0.6.25/avahi-core/server.c
---- avahi-0.6.25.orig/avahi-core/server.c 2009-07-28 13:57:19.200269501 +0100
-+++ avahi-0.6.25/avahi-core/server.c 2009-07-28 14:01:54.826596123 +0100
-@@ -1083,7 +1083,9 @@
-
- s->state = state;
-
-+#ifndef HAVE_BONJOUR
- avahi_interface_monitor_update_rrs(s->monitor, 0);
-+#endif
-
- if (s->callback)
- s->callback(s, state, s->userdata);
-@@ -1220,9 +1222,11 @@
- server_set_state(s, AVAHI_SERVER_REGISTERING);
- s->n_host_rr_pending ++; /** Make sure that the state isn't changed tp AVAHI_SERVER_RUNNING too early */
-
-+#ifndef HAVE_BONJOUR
- register_hinfo(s);
- register_browse_domain(s);
- avahi_interface_monitor_update_rrs(s->monitor, 0);
-+#endif
-
- s->n_host_rr_pending --;
-
-@@ -1393,7 +1397,7 @@
-
- return NULL;
- }
--
-+#endif
- s->n_host_rr_pending = 0;
- s->need_entry_cleanup = 0;
- s->need_group_cleanup = 0;
-@@ -1454,6 +1458,7 @@
-
- s->monitor = avahi_interface_monitor_new(s);
- avahi_interface_monitor_sync(s->monitor);
-+#endif
-
- register_localhost(s);
- register_stuff(s);
-@@ -1502,7 +1507,8 @@
-
- if (s->wide_area_lookup_engine)
- avahi_wide_area_engine_free(s->wide_area_lookup_engine);
-- avahi_multicast_lookup_engine_free(s->multicast_lookup_engine);
-+ if (s->multicast_lookup_engine)
-+ avahi_multicast_lookup_engine_free(s->multicast_lookup_engine);
-
- avahi_time_event_queue_free(s->time_event_queue);
-
--- a/patches/avahi-07-daemon.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-07-daemon.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,6 +1,6 @@
---- /usr/tmp/clean/avahi-0.6.25/avahi-daemon/main.c 2008-12-12 21:36:15.000000000 +0000
-+++ avahi-0.6.25/avahi-daemon/main.c 2009-08-04 08:17:02.469032000 +0100
-@@ -75,7 +75,9 @@
+--- /usr/tmp/clean/avahi-0.6.28/avahi-daemon/main.c 2010-08-26 01:51:39.000153000 +0100
++++ avahi-0.6.28/avahi-daemon/main.c 2011-01-20 14:40:47.924814317 +0000
+@@ -73,7 +73,9 @@
#include "setproctitle.h"
#include "main.h"
@@ -10,7 +10,7 @@
#include "static-services.h"
#include "static-hosts.h"
#include "ini-file-parser.h"
-@@ -132,11 +134,13 @@
+@@ -134,11 +136,13 @@
#define RESOLV_CONF "/etc/resolv.conf"
#define BROWSE_DOMAINS_MAX 16
@@ -24,7 +24,7 @@
static DaemonConfig config;
-@@ -148,6 +152,7 @@
+@@ -150,6 +154,7 @@
return strlen(s) >= l && strncmp(s, prefix, l) == 0;
}
@@ -32,15 +32,15 @@
static int load_resolv_conf(void) {
int ret = -1;
FILE *f;
-@@ -331,6 +336,7 @@
-
+@@ -334,6 +339,7 @@
avahi_server_set_browse_domains(avahi_server, l);
+ avahi_string_list_free(l);
}
+#endif
static void server_callback(AvahiServer *s, AvahiServerState state, void *userdata) {
DaemonConfig *c = userdata;
-@@ -356,7 +362,7 @@
+@@ -359,7 +365,7 @@
static_service_add_to_server();
static_hosts_add_to_server();
@@ -49,7 +49,7 @@
remove_dns_server_entry_groups();
if (c->publish_resolv_conf && resolv_conf_name_servers && resolv_conf_name_servers[0])
-@@ -366,6 +372,7 @@
+@@ -369,6 +375,7 @@
dns_servers_entry_group = add_dns_servers(s, dns_servers_entry_group, c->publish_dns_servers);
simple_protocol_restart_queries();
@@ -57,7 +57,7 @@
break;
case AVAHI_SERVER_COLLISION: {
-@@ -375,7 +382,9 @@
+@@ -376,7 +383,9 @@
static_service_remove_from_server();
static_hosts_remove_from_server();
@@ -66,8 +66,8 @@
+#endif
n = avahi_alternative_host_name(avahi_server_get_host_name(s));
- avahi_log_warn("Host name conflict, retrying with <%s>", n);
-@@ -397,7 +406,9 @@
+
+@@ -405,7 +414,9 @@
static_service_remove_from_server();
static_hosts_remove_from_server();
@@ -77,7 +77,7 @@
break;
-@@ -417,9 +428,11 @@
+@@ -425,9 +436,11 @@
" -r --reload Request a running daemon to reload static services\n"
" -c --check Return 0 if a daemon is already running\n"
" -V --version Show version\n"
@@ -89,7 +89,7 @@
" --no-drop-root Don't drop privileges\n"
#ifdef ENABLE_CHROOT
" --no-chroot Don't chroot()\n"
-@@ -448,11 +461,15 @@
+@@ -456,11 +469,15 @@
{ "daemonize", no_argument, NULL, 'D' },
{ "kill", no_argument, NULL, 'k' },
{ "version", no_argument, NULL, 'V' },
@@ -105,7 +105,7 @@
{ "no-drop-root", no_argument, NULL, OPTION_NO_DROP_ROOT },
#ifdef ENABLE_CHROOT
{ "no-chroot", no_argument, NULL, OPTION_NO_CHROOT },
-@@ -464,7 +481,11 @@
+@@ -472,7 +489,11 @@
assert(c);
@@ -117,7 +117,7 @@
switch(o) {
case 's':
-@@ -482,6 +503,7 @@
+@@ -490,6 +511,7 @@
case 'V':
c->command = DAEMON_VERSION;
break;
@@ -125,7 +125,7 @@
case 'f':
avahi_free(c->config_file);
c->config_file = avahi_strdup(optarg);
-@@ -489,12 +511,15 @@
+@@ -497,12 +519,15 @@
case 'r':
c->command = DAEMON_RELOAD;
break;
@@ -141,15 +141,15 @@
case OPTION_NO_DROP_ROOT:
c->drop_root = 0;
break;
-@@ -528,6 +553,7 @@
- return *s == 'y' || *s == 'Y' || *s == '1' || *s == 't' || *s == 'T';
+@@ -576,6 +601,7 @@
+ return 0;
}
+#ifndef HAVE_BONJOUR
static int load_config_file(DaemonConfig *c) {
int r = -1;
AvahiIniFile *f;
-@@ -739,6 +765,7 @@
+@@ -845,6 +871,7 @@
return r;
}
@@ -157,7 +157,7 @@
static void log_function(AvahiLogLevel level, const char *txt) {
-@@ -859,6 +886,7 @@
+@@ -965,6 +992,7 @@
static_service_add_to_server();
static_hosts_add_to_server();
@@ -165,7 +165,7 @@
if (resolv_conf_entry_group)
avahi_s_entry_group_reset(resolv_conf_entry_group);
-@@ -869,6 +897,7 @@
+@@ -975,6 +1003,7 @@
if (config.publish_resolv_conf && resolv_conf_name_servers && resolv_conf_name_servers[0])
resolv_conf_entry_group = add_dns_servers(avahi_server, resolv_conf_entry_group, resolv_conf_name_servers);
@@ -173,7 +173,7 @@
}
#ifdef HAVE_INOTIFY
-@@ -956,8 +985,12 @@
+@@ -1062,8 +1091,12 @@
break;
case SIGUSR1:
@@ -186,9 +186,9 @@
break;
default:
-@@ -985,8 +1018,10 @@
+@@ -1103,8 +1136,10 @@
- assert(c);
+ ignore_signal(SIGPIPE);
+#ifndef HAVE_BONJOUR
if (!(nss_support = avahi_nss_support()))
@@ -197,7 +197,7 @@
if (!(simple_poll_api = avahi_simple_poll_new())) {
avahi_log_error("Failed to create main loop object.");
-@@ -1005,8 +1040,10 @@
+@@ -1123,8 +1158,10 @@
goto finish;
}
@@ -208,7 +208,7 @@
#ifdef HAVE_DBUS
if (c->enable_dbus) {
-@@ -1070,7 +1107,9 @@
+@@ -1193,7 +1230,9 @@
}
#endif
@@ -218,7 +218,7 @@
#ifdef ENABLE_CHROOT
static_service_load(config.use_chroot);
static_hosts_load(config.use_chroot);
-@@ -1084,8 +1123,10 @@
+@@ -1207,8 +1246,10 @@
goto finish;
}
@@ -229,7 +229,7 @@
if (c->daemonize) {
daemon_retval_send(0);
-@@ -1114,10 +1155,12 @@
+@@ -1238,10 +1279,12 @@
static_hosts_remove_from_server();
static_hosts_free_all();
@@ -242,7 +242,7 @@
#ifdef HAVE_DBUS
if (c->enable_dbus)
-@@ -1428,8 +1471,10 @@
+@@ -1555,8 +1598,10 @@
goto finish;
}
@@ -253,7 +253,7 @@
if (config.daemonize) {
daemon_retval_init();
-@@ -1516,9 +1561,13 @@
+@@ -1648,9 +1693,13 @@
avahi_server_config_free(&config.server_config);
avahi_free(config.config_file);
--- a/patches/avahi-08-man-page.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-08-man-page.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,64 +1,3 @@
---- /usr/tmp/clean/avahi-0.6.19/man/Makefile.am Wed May 9 15:30:24 2007
-+++ avahi-0.6.19/man/Makefile.am Wed Jun 13 15:22:13 2007
-@@ -47,6 +47,11 @@
- avahi-autoipd.action.8.xml \
- bssh.1.xml
-
-+if HAVE_BONJOUR
-+noinst_DATA += \
-+ avahi-daemon-bridge-dsd.1.xml
-+endif
-+
- CLEANFILES = \
- $(noinst_DATA)
-
-@@ -80,6 +85,15 @@
- endif
- endif
-
-+if HAVE_BONJOUR
-+man_MANS += \
-+ avahi-daemon-bridge-dsd.1
-+
-+avahi-daemon-bridge-dsd.1.xml: avahi-daemon-bridge-dsd.1.xml.in Makefile
-+ sed -e 's,@PACKAGE_BUGREPORT\@,$(PACKAGE_BUGREPORT),g' \
-+ -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' $< > $@
-+endif
-+
- avahi-browse.1.xml: avahi-browse.1.xml.in Makefile
- sed -e 's,@PACKAGE_BUGREPORT\@,$(PACKAGE_BUGREPORT),g' \
- -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' $< > $@
-@@ -155,6 +169,11 @@
-
- CLEANFILES += $(man_MANS)
-
-+if HAVE_BONJOUR
-+avahi-daemon-bridge-dsd.1: avahi-daemon-bridge-dsd.1.xml Makefile
-+ xmltoman $< > $@
-+endif
-+
- avahi-browse.1: avahi-browse.1.xml Makefile
- xmltoman $< > $@
-
-@@ -230,6 +249,10 @@
- xmltoman.xsl \
- xmltoman.dtd
-
-+if HAVE_BONJOUR
-+EXTRA_DIST += \
-+ avahi-daemon-bridge-dsd.1.xml.in
-+endif
-
- if HAVE_DBUS
-
- install-exec-local:
- mkdir -p $(DESTDIR)/$(mandir)/man1 && \
- cd $(DESTDIR)/$(mandir)/man1 && \
-- rm -f avahi-resolve-host-name.1 avahi-resolve-address.1 avahi-browse-domains.1 avahi-publish-address.1 avahi-publish-service.1 && \
-+ rm -f avahi-resolve-host-name.1 avahi-resolve-address.1 avahi-browse-domains.1 avahi-publish-address.1 avahi-publish-service.1 bvnc.1 && \
- $(LN_S) avahi-resolve.1 avahi-resolve-host-name.1 && \
- $(LN_S) avahi-resolve.1 avahi-resolve-address.1 && \
- $(LN_S) avahi-browse.1 avahi-browse-domains.1 && \
--- /dev/null 2007-06-13 17:00:01.000000000 +0100
+++ avahi-0.6.19/man/avahi-daemon-bridge-dsd.1 2007-06-13 17:07:14.447743000 +0100
@@ -0,0 +1,61 @@
@@ -358,3 +297,44 @@
.SH SEE ALSO
\fBavahi-browse(1)\f1, \fBssh(1)\f1, \fBvncviewer(1)\f1
.SH COMMENTS
+--- /usr/tmp/clean/avahi-0.6.28/man/Makefile.am 2010-08-26 01:51:39.039153001 +0100
++++ avahi-0.6.28/man/Makefile.am 2011-01-20 14:48:39.364580063 +0000
+@@ -45,6 +45,11 @@
+ avahi-autoipd.action.8.xml \
+ bssh.1.xml
+
++if HAVE_BONJOUR
++noinst_DATA += \
++ avahi-daemon-bridge-dsd.1.xml
++endif
++
+ CLEANFILES = \
+ $(noinst_DATA)
+
+@@ -81,6 +86,15 @@
+ endif
+ endif
+
++if HAVE_BONJOUR
++man_MANS += \
++ avahi-daemon-bridge-dsd.1
++
++avahi-daemon-bridge-dsd.1.xml: avahi-daemon-bridge-dsd.1.xml.in Makefile
++ sed -e 's,@PACKAGE_BUGREPORT\@,$(PACKAGE_BUGREPORT),g' \
++ -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' $< > $@
++endif
++
+ %.xml: %.xml.in Makefile
+ $(AM_V_GEN) sed -e 's,@pkgsysconfdir\@,$(pkgsysconfdir),g' \
+ -e 's,@servicedir\@,$(servicedir),g' \
+@@ -130,6 +144,10 @@
+ xmltoman.xsl \
+ xmltoman.dtd
+
++if HAVE_BONJOUR
++EXTRA_DIST += \
++ avahi-daemon-bridge-dsd.1.xml.in
++endif
+
+ if HAVE_DBUS
+
--- a/patches/avahi-09-resolve-host-name.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-09-resolve-host-name.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,6 +1,6 @@
---- /usr/tmp/clean/avahi-0.6.12/avahi-core/resolve-host-name.c 2006-03-02 01:30:17.000000000 +0000
-+++ avahi-0.6.12/avahi-core/resolve-host-name.c 2006-08-28 14:38:21.577853000 +0100
-@@ -24,6 +24,7 @@
+--- /usr/tmp/clean/avahi-0.6.28/avahi-core/resolve-host-name.c 2010-08-26 01:51:38.991153000 +0100
++++ avahi-0.6.28/avahi-core/resolve-host-name.c 2011-01-20 15:06:17.971781264 +0000
+@@ -22,6 +22,7 @@
#endif
#include <stdlib.h>
@@ -8,7 +8,7 @@
#include <avahi-common/domain.h>
#include <avahi-common/timeval.h>
-@@ -52,6 +53,15 @@
+@@ -50,6 +51,15 @@
AvahiTimeEvent *time_event;
@@ -24,11 +24,20 @@
AVAHI_LLIST_FIELDS(AvahiSHostNameResolver, resolver);
};
-@@ -96,6 +106,168 @@
+@@ -86,7 +96,7 @@
+ break;
+
+ }
+-
++
+ case AVAHI_RESOLVER_FAILURE:
+
+ r->callback(r, r->interface, r->protocol, event, r->host_name, NULL, r->flags, r->userdata);
+@@ -94,6 +104,168 @@
}
}
-+#ifdef HAVE_BONJOUR
++#ifdef HAVE_BONJOUR
+static void resolve_socket_event(AvahiWatch *w, int fd, AvahiWatchEvent events,
+void *userdata) {
+ AvahiSHostNameResolver *r = userdata;
@@ -83,7 +92,7 @@
+ if (r->interface <= 0)
+ r->interface = IfIndex;
+
-+ /*
++ /*
+ * Using Bonjour we cannot determine whether result was obtained from
+ * multicast ot unicast query
+ */
@@ -192,8 +201,8 @@
+
static void time_event_callback(AvahiTimeEvent *e, void *userdata) {
AvahiSHostNameResolver *r = userdata;
-
-@@ -118,6 +290,7 @@
+
+@@ -116,6 +288,7 @@
r->time_event = avahi_time_event_new(r->server->time_event_queue, &tv, time_event_callback, r);
}
@@ -201,7 +210,7 @@
static void record_browser_callback(
AvahiSRecordBrowser*rr,
AvahiIfIndex interface,
-@@ -202,6 +375,7 @@
+@@ -200,6 +373,7 @@
break;
}
}
@@ -209,7 +218,7 @@
AvahiSHostNameResolver *avahi_s_host_name_resolver_new(
AvahiServer *server,
-@@ -248,6 +422,15 @@
+@@ -246,6 +420,15 @@
r->record_browser_aaaa = r->record_browser_a = NULL;
@@ -225,18 +234,18 @@
if (aprotocol == AVAHI_PROTO_INET || aprotocol == AVAHI_PROTO_UNSPEC) {
k = avahi_key_new(host_name, AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_A);
r->record_browser_a = avahi_s_record_browser_new(server, interface, protocol, k, flags, record_browser_callback, r);
-@@ -267,6 +450,7 @@
+@@ -265,6 +448,7 @@
}
assert(r->record_browser_aaaa || r->record_browser_a);
+#endif
start_timeout(r);
-
-@@ -294,6 +478,23 @@
+
+@@ -291,6 +475,22 @@
+
if (r->address_record)
avahi_record_unref(r->address_record);
-
+#ifdef HAVE_BONJOUR
+ if (r->defer_time_event) {
+ avahi_time_event_free(r->defer_time_event);
@@ -253,7 +262,6 @@
+ if (r->client_a6)
+ DNSServiceRefDeallocate(r->client_a6);
+#endif
-+
+
avahi_free(r->host_name);
avahi_free(r);
- }
--- a/patches/avahi-10-resolve-address.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-10-resolve-address.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,6 +1,6 @@
---- /usr/tmp/clean/avahi-0.6.13/avahi-core/resolve-address.c 2006-03-02 00:59:13.000000000 +0000
-+++ avahi-0.6.13/avahi-core/resolve-address.c 2006-08-31 14:00:21.756949000 +0100
-@@ -24,6 +24,7 @@
+--- /usr/tmp/clean/avahi-0.6.28/avahi-core/resolve-address.c 2010-08-26 01:51:38.991153000 +0100
++++ avahi-0.6.28/avahi-core/resolve-address.c 2011-01-20 15:17:11.922176647 +0000
+@@ -22,6 +22,7 @@
#endif
#include <stdlib.h>
@@ -8,7 +8,7 @@
#include <avahi-common/timeval.h>
#include <avahi-common/malloc.h>
-@@ -53,6 +54,13 @@
+@@ -51,6 +52,13 @@
AvahiTimeEvent *time_event;
@@ -22,7 +22,7 @@
AVAHI_LLIST_FIELDS(AvahiSAddressResolver, resolver);
};
-@@ -76,6 +84,99 @@
+@@ -74,6 +82,100 @@
}
}
@@ -37,7 +37,7 @@
+ assert(events & AVAHI_WATCH_IN);
+
+ assert (fd == DNSServiceRefSockFD(r->client));
-+
++
+ ret = DNSServiceProcessResult(r->client);
+ if (ret != kDNSServiceErr_NoError) {
+ if (r->watch) {
@@ -119,10 +119,11 @@
+}
+#endif
+
++
static void time_event_callback(AvahiTimeEvent *e, void *userdata) {
AvahiSAddressResolver *r = userdata;
-
-@@ -97,6 +198,7 @@
+
+@@ -95,6 +197,7 @@
r->time_event = avahi_time_event_new(r->server->time_event_queue, &tv, time_event_callback, r);
}
@@ -130,7 +131,7 @@
static void record_browser_callback(
AvahiSRecordBrowser*rr,
AvahiIfIndex interface,
-@@ -175,6 +277,7 @@
+@@ -173,6 +276,7 @@
break;
}
}
@@ -138,7 +139,7 @@
AvahiSAddressResolver *avahi_s_address_resolver_new(
AvahiServer *server,
-@@ -227,6 +330,13 @@
+@@ -225,6 +329,13 @@
r->time_event = NULL;
@@ -152,18 +153,18 @@
if (!(flags & (AVAHI_LOOKUP_USE_MULTICAST|AVAHI_LOOKUP_USE_WIDE_AREA))) {
if (!server->wide_area_lookup_engine || !avahi_wide_area_has_servers(server->wide_area_lookup_engine))
-@@ -243,6 +353,7 @@
+@@ -241,6 +352,7 @@
avahi_s_address_resolver_free(r);
return NULL;
}
+#endif
start_timeout(r);
-
-@@ -266,5 +377,18 @@
+
+@@ -264,5 +376,18 @@
if (r->key)
avahi_key_unref(r->key);
-
+
+#ifdef HAVE_BONJOUR
+ if (r->defer_time_event) {
+ avahi_time_event_free(r->defer_time_event);
--- a/patches/avahi-11-browse-domain.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-11-browse-domain.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,6 +1,6 @@
---- /usr/tmp/clean/avahi-0.6.12/avahi-core/browse-domain.c 2006-01-17 12:25:54.000000000 +0000
-+++ avahi-0.6.12/avahi-core/browse-domain.c 2006-08-28 14:04:34.905548000 +0100
-@@ -28,6 +28,9 @@
+--- /usr/tmp/clean/avahi-0.6.28/avahi-core/browse-domain.c 2010-08-26 01:51:38.982153000 +0100
++++ avahi-0.6.28/avahi-core/browse-domain.c 2011-01-20 15:24:22.639202717 +0000
+@@ -26,6 +26,9 @@
#include <avahi-common/domain.h>
#include <avahi-common/malloc.h>
#include <avahi-common/error.h>
@@ -10,10 +10,10 @@
#include "browse.h"
#include "log.h"
-@@ -47,6 +50,14 @@
+@@ -45,6 +48,14 @@
int all_for_now_scheduled;
-
+
+#ifdef HAVE_BONJOUR
+ AvahiIfIndex interface;
+ AvahiTimeEvent *browse_error_event;
@@ -25,7 +25,7 @@
AVAHI_LLIST_FIELDS(AvahiSDomainBrowser, browser);
};
-@@ -137,6 +148,122 @@
+@@ -135,6 +146,122 @@
avahi_s_domain_browser_free(b);
}
@@ -148,7 +148,7 @@
AvahiSDomainBrowser *avahi_s_domain_browser_new(
AvahiServer *server,
AvahiIfIndex interface,
-@@ -193,6 +320,15 @@
+@@ -191,6 +318,15 @@
AVAHI_LLIST_PREPEND(AvahiSDomainBrowser, browser, server->domain_browsers, b);
@@ -164,16 +164,16 @@
if (!(k = avahi_key_new(n, AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_PTR))) {
avahi_server_set_errno(server, AVAHI_ERR_NO_MEMORY);
goto fail;
-@@ -205,6 +341,7 @@
+@@ -203,6 +339,7 @@
if (type == AVAHI_DOMAIN_BROWSER_BROWSE && b->server->config.browse_domains)
b->defer_event = avahi_time_event_new(server->time_event_queue, NULL, defer_callback, b);
+#endif
-
+
return b;
-
-@@ -227,6 +364,23 @@
-
+
+@@ -225,6 +362,23 @@
+
AVAHI_LLIST_REMOVE(AvahiSDomainBrowser, browser, b->server->domain_browsers, b);
+#ifdef HAVE_BONJOUR
--- a/patches/avahi-12-browse.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-12-browse.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,6 +1,6 @@
---- /usr/tmp/clean/avahi-0.6.13/avahi-core/browse.c 2006-06-22 00:30:49.000000000 +0100
-+++ avahi-0.6.13/avahi-core/browse.c 2006-08-31 13:54:14.293664000 +0100
-@@ -24,6 +24,7 @@
+--- /usr/tmp/clean/avahi-0.6.28/avahi-core/browse.c 2010-08-26 01:51:38.983153000 +0100
++++ avahi-0.6.28/avahi-core/browse.c 2011-01-20 15:27:33.366236170 +0000
+@@ -22,6 +22,7 @@
#endif
#include <stdlib.h>
@@ -8,7 +8,7 @@
#include <avahi-common/timeval.h>
#include <avahi-common/malloc.h>
-@@ -521,6 +522,91 @@
+@@ -519,6 +520,91 @@
}
}
@@ -100,11 +100,10 @@
AvahiSRecordBrowser *avahi_s_record_browser_new(
AvahiServer *server,
AvahiIfIndex interface,
-@@ -561,10 +647,15 @@
- b->root_lookup = NULL;
-
+@@ -560,9 +646,15 @@
+
AVAHI_LLIST_PREPEND(AvahiSRecordBrowser, browser, server->record_browsers, b);
--
+
+#ifdef HAVE_BONJOUR
+ b->watch = NULL;
+ b->client = NULL;
@@ -114,10 +113,10 @@
b->defer_time_event = avahi_time_event_new(server->time_event_queue, NULL, defer_callback, b);
assert(b->defer_time_event);
+#endif
-
+
return b;
}
-@@ -577,6 +668,13 @@
+@@ -575,6 +667,13 @@
b->server->need_browser_cleanup = 1;
browser_cancel(b);
@@ -131,7 +130,7 @@
}
void avahi_s_record_browser_destroy(AvahiSRecordBrowser *b) {
-@@ -610,6 +708,8 @@
+@@ -608,6 +707,8 @@
if (server->wide_area_lookup_engine)
avahi_wide_area_cleanup(server->wide_area_lookup_engine);
@@ -140,9 +139,9 @@
+#endif
}
---- /usr/tmp/clean/avahi-0.6.12/avahi-core/browse.h 2005-10-25 00:44:41.000000000 +0100
-+++ avahi-0.6.12/avahi-core/browse.h 2006-08-24 09:21:09.326626000 +0100
-@@ -52,6 +52,11 @@
+--- /usr/tmp/clean/avahi-0.6.28/avahi-core/browse.h 2010-08-26 01:51:38.983153000 +0100
++++ avahi-0.6.28/avahi-core/browse.h 2011-01-21 09:33:14.663164775 +0000
+@@ -50,6 +50,12 @@
unsigned n_lookups;
AvahiSRBLookup *root_lookup;
@@ -151,6 +150,7 @@
+ DNSServiceRef client;
+ AvahiWatch *watch;
+#endif
++
};
void avahi_browser_cleanup(AvahiServer *server);
--- a/patches/avahi-13-remove-debug-trap.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-13-remove-debug-trap.diff Fri Jan 21 14:18:17 2011 +0000
@@ -34,18 +34,6 @@
avahi_commonincludedir=$(includedir)/avahi-common
avahi_commoninclude_HEADERS = \
---- /usr/tmp/clean/avahi-0.6.23/avahi-discover-standalone/Makefile.am 2008-06-18 00:13:44.000000000 +0100
-+++ avahi-0.6.23/avahi-discover-standalone/Makefile.am 2008-06-25 14:01:51.336793000 +0100
-@@ -22,9 +22,6 @@
- interfaces = \
- avahi-discover.glade
-
--# This cool debug trap works on i386/gcc only
--AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")'
--
- if HAVE_GTK
- if HAVE_GLIB
- bin_PROGRAMS = \
--- /usr/tmp/clean/avahi-0.6.12/avahi-client/Makefile.am 2006-03-01 23:27:45.000000000 +0000
+++ avahi-0.6.12/avahi-client/Makefile.am 2006-08-22 09:37:26.320792000 +0100
@@ -19,9 +19,6 @@
@@ -70,18 +58,6 @@
if HAVE_DBUS
if ENABLE_COMPAT_LIBDNS_SD
---- /usr/tmp/clean/avahi-0.6.12/avahi-dnsconfd/Makefile.am 2005-09-25 21:34:48.000000000 +0100
-+++ avahi-0.6.12/avahi-dnsconfd/Makefile.am 2006-08-22 09:39:43.587928000 +0100
-@@ -28,9 +28,6 @@
- -DAVAHI_SOCKET=\"$(avahi_socket)\" \
- -DAVAHI_DNSCONF_SCRIPT=\"$(pkgsysconfdir)/avahi-dnsconfd.action\"
-
--# This cool debug trap works on i386/gcc only
--AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")'
--
- sbin_PROGRAMS = avahi-dnsconfd
-
- avahi_dnsconfd_SOURCES = main.c
--- /usr/tmp/clean/avahi-0.6.12/avahi-daemon/Makefile.am 2006-03-01 23:51:22.000000000 +0000
+++ avahi-0.6.12/avahi-daemon/Makefile.am 2006-08-22 09:40:28.041468000 +0100
@@ -19,9 +19,6 @@
@@ -169,3 +145,31 @@
timeeventq_test_SOURCES = \
timeeventq-test.c \
timeeventq.h timeeventq.c \
++--- /usr/tmp/clean/avahi-0.6.28/avahi-discover-standalone/Makefile.am 2010-08-
+26 01:51:39.004153001 +0100
+++++ avahi-0.6.28/avahi-discover-standalone/Makefile.am 2011-01-20 15:30:29.0964
+42076 +0000
++@@ -20,9 +20,6 @@
++ interfaces = \
++ avahi-discover.ui
++
++-# This cool debug trap works on i386/gcc only
++-AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")'
++-
++ if HAVE_GTK2OR3
++ if HAVE_GLIB
++ bin_PROGRAMS = \
++--- /usr/tmp/clean/avahi-0.6.28/avahi-dnsconfd/Makefile.am 2010-08-26 01:51
+:39.005153001 +0100
+++++ avahi-0.6.28/avahi-dnsconfd/Makefile.am 2011-01-20 15:32:22.328800575 +0
+000
++@@ -28,9 +28,6 @@
++ -DAVAHI_SOCKET=\"$(avahi_socket)\" \
++ -DAVAHI_DNSCONF_SCRIPT=\"$(pkgsysconfdir)/avahi-dnsconfd.action\"
++
++-# This cool debug trap works on i386/gcc only
++-AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")'
++-
++ sbin_PROGRAMS = avahi-dnsconfd
++
++ avahi_dnsconfd_SOURCES = main.c
--- a/patches/avahi-15-secure-dbus-dest.diff Fri Jan 21 09:04:27 2011 +0000
+++ b/patches/avahi-15-secure-dbus-dest.diff Fri Jan 21 14:18:17 2011 +0000
@@ -1,7 +1,6 @@
-diff -ruN avahi-0.6.25.orig/avahi-daemon/avahi-dbus.conf.in avahi-0.6.25/avahi-daemon/avahi-dbus.conf.in
---- avahi-0.6.25.orig/avahi-daemon/avahi-dbus.conf.in 2009-07-28 14:29:41.471839972 +0100
-+++ avahi-0.6.25/avahi-daemon/avahi-dbus.conf.in 2009-07-28 14:31:32.248188859 +0100
-@@ -20,9 +20,4 @@
+--- /usr/tmp/clean/avahi-0.6.28/avahi-daemon/avahi-dbus.conf.in 2010-08-26 01:51:38.996153000 +0100
++++ avahi-0.6.28/avahi-daemon/avahi-dbus.conf.in 2011-01-20 15:42:21.930449367 +0000
+@@ -20,11 +20,6 @@
send_interface="org.freedesktop.Avahi.Server" send_member="SetHostName"/>
</policy>
@@ -10,4 +9,6 @@
- <allow send_destination="org.freedesktop.Avahi"/>
- <allow receive_sender="org.freedesktop.Avahi"/>
- </policy>
- </busconfig>
+ <policy user="root">
+ <allow send_destination="org.freedesktop.Avahi"/>
+ <allow receive_sender="org.freedesktop.Avahi"/>
--- a/specs/SUNWavahi-bridge-dsd.spec Fri Jan 21 09:04:27 2011 +0000
+++ b/specs/SUNWavahi-bridge-dsd.spec Fri Jan 21 14:18:17 2011 +0000
@@ -137,17 +137,11 @@
%{_datadir}/applications/bssh.desktop
%{_datadir}/applications/bvnc.desktop
%endif
-%{_datadir}/avahi/interfaces/avahi-discover.glade
-%{_datadir}/avahi/introspection/Server.introspect
-%{_datadir}/avahi/introspection/EntryGroup.introspect
-%{_datadir}/avahi/introspection/DomainBrowser.introspect
-%{_datadir}/avahi/introspection/ServiceBrowser.introspect
-%{_datadir}/avahi/introspection/ServiceTypeBrowser.introspect
-%{_datadir}/avahi/introspection/ServiceResolver.introspect
-%{_datadir}/avahi/introspection/AddressResolver.introspect
-%{_datadir}/avahi/introspection/HostNameResolver.introspect
-%{_datadir}/avahi/introspection/RecordBrowser.introspect
+%{_datadir}/avahi/interfaces/avahi-discover.ui
%{_datadir}/avahi/avahi-service.dtd
+%{_datadir}/dbus-1/interfaces/*
+%{_datadir}/gir-1.0/*
+%{_libdir}/girepository-1.0/*
%dir %attr (0755, root, bin) %{_mandir}
%{_mandir}/man1/*
%attr (-, root, bin) %{_libdir}/python*
@@ -179,6 +173,8 @@
%endif
%changelog
+* Fri Jan 21 2011 - [email protected]
+- Update to 0.6.28.
* Thu Dec 2 2010 - [email protected]
- Add dependency on SUNWdbus.
* Wed Nov 10 2010 - [email protected]