[Pkg-utopia-maintainers] Bug#567067: libavahi-core6: avahi incorrectly ignores mDNS response records containing link-local addresses
Tommaso Colombo
zibo86 at hotmail.com
Wed Jan 27 03:00:05 UTC 2010
Package: libavahi-core6
Version: 0.6.25-3
Severity: normal
Tags: patch
Patch "30_dont_reflect_link-local_addresses.patch" added in revision 0.6.25-3 introduced a regression that causes the mDNS response handler to completely ignore records with link-local addresses. To reproduce this bug just try to use avahi-resolve-host-name to lookup an host with a link-local IP address. The attached patch seems to resolve the bug.
The upstream bug report is at: http://avahi.org/ticket/300.
Regards,
Tommaso Colombo
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libavahi-core6 depends on:
ii libavahi-common3 0.6.25-3 Avahi common library
ii libc6 2.10.2-5 Embedded GNU C Library: Shared lib
libavahi-core6 recommends no packages.
libavahi-core6 suggests no packages.
-- no debconf information
-------------- next part --------------
>From 43ea314b2c548da83cb8c5e3e1d8380bb7ef0e8d Mon Sep 17 00:00:00 2001
From: Tommaso Colombo <colombo at icascan4.pv.infn.it>
Date: Wed, 27 Jan 2010 02:43:11 +0100
Subject: [PATCH] core: Don't ignore records with link-local addresss
Fix a regression introduced by commit 2ea7e99ed0dcfd371fef5aeecd3de77da1dfcd4f that caused the mDNS response handler to completely ignore records with link-local addresses.
---
avahi-core/server.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/avahi-core/server.c b/avahi-core/server.c
index 8955af9..aa3c6b5 100644
--- a/avahi-core/server.c
+++ b/avahi-core/server.c
@@ -666,10 +666,10 @@ static void handle_response_packet(AvahiServer *s, AvahiDnsPacket *p, AvahiInter
break;
}
- if (!avahi_key_is_pattern(record->key) && !avahi_record_is_link_local_address(record)) {
+ if (!avahi_key_is_pattern(record->key)) {
if (handle_conflict(s, i, record, cache_flush)) {
- if (!from_local_iface)
+ if (!from_local_iface && !avahi_record_is_link_local_address(record))
reflect_response(s, i, record, cache_flush);
avahi_cache_update(i->cache, record, cache_flush, a);
avahi_response_scheduler_incoming(i->response_scheduler, record, cache_flush);
--
1.6.6
More information about the Pkg-utopia-maintainers
mailing list