diff options
author | Sven Wegener <swegener@gentoo.org> | 2011-03-17 07:14:41 +0000 |
---|---|---|
committer | Sven Wegener <swegener@gentoo.org> | 2011-03-17 07:14:41 +0000 |
commit | 34de1fad281598dc9485325f6a311e133c060d20 (patch) | |
tree | dbcd51e1fa6578bdb92fd92e53034d9c905e1cf4 /net-dns | |
parent | Version bump, bug #358971. (diff) | |
download | gentoo-2-34de1fad281598dc9485325f6a311e133c060d20.tar.gz gentoo-2-34de1fad281598dc9485325f6a311e133c060d20.tar.bz2 gentoo-2-34de1fad281598dc9485325f6a311e133c060d20.zip |
Update netlink patch from git.
(Portage version: 2.2.0_alpha26/cvs/Linux x86_64)
Diffstat (limited to 'net-dns')
-rw-r--r-- | net-dns/avahi/ChangeLog | 6 | ||||
-rw-r--r-- | net-dns/avahi/files/netlink-request-all-matches-when-requesting-interface.patch | 53 |
2 files changed, 31 insertions, 28 deletions
diff --git a/net-dns/avahi/ChangeLog b/net-dns/avahi/ChangeLog index 34cb227a56f9..0060d1ee2fc8 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.201 2011/03/17 07:11:31 swegener Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dns/avahi/ChangeLog,v 1.202 2011/03/17 07:14:41 swegener Exp $ + + 17 Mar 2011; Sven Wegener <swegener@gentoo.org> + files/netlink-request-all-matches-when-requesting-interface.patch: + Update netlink patch from git. *avahi-0.6.29 (17 Mar 2011) 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 index 2cd1afd19b3c..877d97c74ed8 100644 --- 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 @@ -1,32 +1,34 @@ -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 +From: Pablo Neira Ayuso <pablo@netfilter.org> +Date: Fri, 18 Feb 2011 17:58:21 +0000 (+0100) +Subject: netlink: fix wrong use of netlink flags for dump operations +X-Git-Tag: v0.6.29~17 +X-Git-Url: http://git.0pointer.de/?p=avahi.git;a=commitdiff_plain;h=65cb5c100eb1e5891f145be0b89aaa3c2d2e4317 -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. +netlink: fix wrong use of netlink flags for dump operations -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: +The avahi-daemon uses a wrong flag combination to operate with +rtnetlink. This patch fixes the problems. - 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> +No need to set NLM_F_ACK since the dump operation already includes +the trailing NLMSG_DONE message that informs about the end of the +dump operation. --- - avahi-core/iface-linux.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) +diff --git a/avahi-autoipd/iface-linux.c b/avahi-autoipd/iface-linux.c +index fc27829..83e9e41 100644 +--- a/avahi-autoipd/iface-linux.c ++++ b/avahi-autoipd/iface-linux.c +@@ -262,7 +262,7 @@ int iface_get_initial_state(State *state) { + n->nlmsg_len = NLMSG_LENGTH(sizeof(*ifi)); + n->nlmsg_type = RTM_GETLINK; + n->nlmsg_seq = seq; +- n->nlmsg_flags = NLM_F_MATCH|NLM_F_REQUEST|NLM_F_ACK; ++ n->nlmsg_flags = NLM_F_REQUEST|NLM_F_DUMP; + n->nlmsg_pid = 0; + + ifi = NLMSG_DATA(n); diff --git a/avahi-core/iface-linux.c b/avahi-core/iface-linux.c -index a1b7f73..9a0bbb6 100644 +index a1b7f73..4d12f73 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 @@ -34,10 +36,7 @@ index a1b7f73..9a0bbb6 100644 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_flags = NLM_F_REQUEST|NLM_F_DUMP; n->nlmsg_pid = 0; gen = NLMSG_DATA(n); --- -1.7.1 - |