mdnsresponder: fix loss of unicast packets (thx Markus Stenberg)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@39645 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
060ed2e622
commit
b550b5570a
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=mDNSResponder
|
PKG_NAME:=mDNSResponder
|
||||||
PKG_VERSION:=544
|
PKG_VERSION:=544
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE:=mDNSResponder-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=mDNSResponder-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=http://opensource.apple.com/tarballs/mDNSResponder/
|
PKG_SOURCE_URL:=http://opensource.apple.com/tarballs/mDNSResponder/
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
From 094714725481da5cfbeaa9e4c713633f3fd0dcc4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Markus Stenberg <markus.stenberg@iki.fi>
|
||||||
|
Date: Wed, 19 Feb 2014 19:21:40 +0200
|
||||||
|
Subject: mdnsresponder: [PATCH] Binding IPv6 sockets to interface
|
||||||
|
|
||||||
|
Due to link-local addresses, otherwise responses may wind up in wrong
|
||||||
|
places and mdnsd is quite confused.
|
||||||
|
|
||||||
|
---
|
||||||
|
.../patches/003-ipv6-bind-to-interface.patch | 22 ++++++++++++++++++++
|
||||||
|
1 file changed, 22 insertions(+)
|
||||||
|
create mode 100644 net/mdnsresponder/patches/003-ipv6-bind-to-interface.patch
|
||||||
|
|
||||||
|
diff --git a/net/mdnsresponder/patches/003-ipv6-bind-to-interface.patch b/net/mdnsresponder/patches/003-ipv6-bind-to-interface.patch
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..c65221e
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/net/mdnsresponder/patches/003-ipv6-bind-to-interface.patch
|
||||||
|
@@ -0,0 +1,22 @@
|
||||||
|
+diff -ur mDNSResponder-544.source/mDNSPosix/mDNSPosix.c mDNSResponder-544/mDNSPosix/mDNSPosix.c
|
||||||
|
+--- mDNSResponder-544.source/mDNSPosix/mDNSPosix.c 2013-12-14 22:54:24.000000000 +0200
|
||||||
|
++++ mDNSResponder-544/mDNSPosix/mDNSPosix.c 2014-02-19 18:59:55.000000000 +0200
|
||||||
|
+@@ -784,6 +784,17 @@
|
||||||
|
+ if (err < 0) { err = errno; perror("setsockopt - IPV6_MULTICAST_HOPS"); }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
++#ifdef __linux__
|
||||||
|
++#ifdef SO_BINDTODEVICE
|
||||||
|
++ if (err == 0)
|
||||||
|
++ {
|
||||||
|
++ char ifname[IFNAMSIZ];
|
||||||
|
++ if (if_indextoname(interfaceIndex, ifname))
|
||||||
|
++ err = setsockopt(*sktPtr, SOL_SOCKET, SO_BINDTODEVICE, ifname, strlen(ifname));
|
||||||
|
++ }
|
||||||
|
++#endif /* SO_BINDTODEVICE */
|
||||||
|
++#endif /* __linux__ */
|
||||||
|
++
|
||||||
|
+ // And start listening for packets
|
||||||
|
+ if (err == 0)
|
||||||
|
+ {
|
||||||
|
+Only in mDNSResponder-544/mDNSPosix: mDNSPosix.c~
|
||||||
|
--
|
||||||
|
1.7.9.5
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user