summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wegener <swegener@gentoo.org>2011-01-23 20:24:45 +0000
committerSven Wegener <swegener@gentoo.org>2011-01-23 20:24:45 +0000
commit2479743b30d3016ec7b70a2076ec0036391032e4 (patch)
treec779b79b96ceec24214e12031d3eb3a5aab032e5 /net-dns
parentremoved ez-ipupdate, since related bugs are fixed now (diff)
downloadgentoo-2-2479743b30d3016ec7b70a2076ec0036391032e4.tar.gz
gentoo-2-2479743b30d3016ec7b70a2076ec0036391032e4.tar.bz2
gentoo-2-2479743b30d3016ec7b70a2076ec0036391032e4.zip
Add bugfix patch to support kernels >=2.6.38, bug #352070.
(Portage version: 2.2.0_alpha18/cvs/Linux x86_64)
Diffstat (limited to 'net-dns')
-rw-r--r--net-dns/avahi/ChangeLog6
-rw-r--r--net-dns/avahi/avahi-0.6.28.ebuild6
-rw-r--r--net-dns/avahi/files/netlink-request-all-matches-when-requesting-interface.patch43
3 files changed, 52 insertions, 3 deletions
diff --git a/net-dns/avahi/ChangeLog b/net-dns/avahi/ChangeLog
index a7d92dd14596..c278e92fb952 100644
--- a/net-dns/avahi/ChangeLog
+++ b/net-dns/avahi/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for net-dns/avahi
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dns/avahi/ChangeLog,v 1.191 2011/01/23 20:20:36 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dns/avahi/ChangeLog,v 1.192 2011/01/23 20:24:45 swegener Exp $
+
+ 23 Jan 2011; Sven Wegener <swegener@gentoo.org> avahi-0.6.28.ebuild,
+ +files/netlink-request-all-matches-when-requesting-interface.patch:
+ Add bugfix patch to support kernels >=2.6.38, bug #352070.
23 Jan 2011; Sven Wegener <swegener@gentoo.org> -avahi-0.6.24-r2.ebuild,
-files/avahi-0.6.24-CVE-2009-0758.patch, -avahi-0.6.25.ebuild:
diff --git a/net-dns/avahi/avahi-0.6.28.ebuild b/net-dns/avahi/avahi-0.6.28.ebuild
index 26395de6ca93..fe770c7371e0 100644
--- a/net-dns/avahi/avahi-0.6.28.ebuild
+++ b/net-dns/avahi/avahi-0.6.28.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-dns/avahi/avahi-0.6.28.ebuild,v 1.5 2010/12/14 00:27:52 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dns/avahi/avahi-0.6.28.ebuild,v 1.6 2011/01/23 20:24:45 swegener Exp $
EAPI="3"
@@ -92,6 +92,8 @@ src_prepare() {
sed -i\
-e "s:\\.\\./\\.\\./\\.\\./doc/avahi-docs/html/:../../../doc/${PF}/html/:" \
doxygen_to_devhelp.xsl || die
+
+ epatch "${FILESDIR}"/netlink-request-all-matches-when-requesting-interface.patch
}
src_configure() {
diff --git a/net-dns/avahi/files/netlink-request-all-matches-when-requesting-interface.patch b/net-dns/avahi/files/netlink-request-all-matches-when-requesting-interface.patch
new file mode 100644
index 000000000000..2cd1afd19b3c
--- /dev/null
+++ b/net-dns/avahi/files/netlink-request-all-matches-when-requesting-interface.patch
@@ -0,0 +1,43 @@
+From 882da7d7385e51024bc64a08a21cfd86cc55f3d1 Mon Sep 17 00:00:00 2001
+From: Andy Whitcroft <apw@canonical.com>
+Date: Tue, 18 Jan 2011 10:30:58 +0000
+Subject: [PATCH] netlink: request all matches when requesting interface and address lists
+
+When requesting the a full list of interfaces and addresses for the machine
+avahi uses a wild card netlink search. This is done via a NLM_F_ROOT
+request. However we do not correctly request NLM_F_MATCH indicating
+we want all matches. This leads to the requests returning EINVAL on
+v2.6.38-rc1 and later kernels and to the daemon hanging during startup.
+
+Prior to v2.6.38-rc1 bugs in the kernel caused NLM_F_ROOT to incorrectly
+imply NLM_F_MATCH, see the commit below for details:
+
+ commit 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf
+ Author: Jan Engelhardt <jengelh@medozas.de>
+ Date: Fri Jan 7 03:15:05 2011 +0000
+
+ netlink: test for all flags of the NLM_F_DUMP composite
+
+Add the missing NLM_F_MATCH.
+
+Signed-off-by: Andy Whitcroft <apw@canonical.com>
+---
+ avahi-core/iface-linux.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/avahi-core/iface-linux.c b/avahi-core/iface-linux.c
+index a1b7f73..9a0bbb6 100644
+--- a/avahi-core/iface-linux.c
++++ b/avahi-core/iface-linux.c
+@@ -53,7 +53,7 @@ static int netlink_list_items(AvahiNetlink *nl, uint16_t type, unsigned *ret_seq
+ n = (struct nlmsghdr*) req;
+ n->nlmsg_len = NLMSG_LENGTH(sizeof(struct rtgenmsg));
+ n->nlmsg_type = type;
+- n->nlmsg_flags = NLM_F_ROOT|NLM_F_REQUEST;
++ n->nlmsg_flags = NLM_F_MATCH|NLM_F_ROOT|NLM_F_REQUEST;
+ n->nlmsg_pid = 0;
+
+ gen = NLMSG_DATA(n);
+--
+1.7.1
+