package/arptables: add patch to fix musl build issue
Due to clashes in the namespace between the Linux Kernel headers and the netinet headers building arptables with the musl C library fails. Best advice from the musl developers is to not include both headers in a userspace tool (see the thread on the musl mailing list [1], especially [2]). Since arptables only requires a few definitions from the Linux Kernel headers we opt-out the clashing header files and define the needed definitions. Patch sent upstream [3]. Fixes: http://autobuild.buildroot.net/results/b72/b721e4fa24a0728c20fd2ec0663c2b5981387642/ http://autobuild.buildroot.net/results/4e9/4e9e0ed9454d258ef4333e847dc394ff22378ca4/ http://autobuild.buildroot.net/results/b39/b3951f700ab1664e06e14d95964875fc8e3dd8f4/ http://autobuild.buildroot.net/results/716/716e81f49f8894b7248f394919c8f22efb908277/ [1] http://www.openwall.com/lists/musl/2012/10/09/1 [2] http://www.openwall.com/lists/musl/2012/10/11/1 [3] http://marc.info/?l=netfilter&m=144903021705206&w=2 Cc: Brendan Heading <brendanheading@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
c8b9f095f0
commit
fdfd17c7e1
71
package/arptables/0004-Fix-musl-build-issue.patch
Normal file
71
package/arptables/0004-Fix-musl-build-issue.patch
Normal file
@ -0,0 +1,71 @@
|
||||
From cbf84a0bc377c6a368d30571f37ebfab27784697 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
|
||||
Date: Wed, 2 Dec 2015 04:57:33 +0100
|
||||
Subject: [PATCH 4/4] Fix musl build issue
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Due to clashes in the namespace between the Linux Kernel headers and the
|
||||
netinet headers building arptables with the musl C library fails.
|
||||
|
||||
Best advice from the musl developers is to not include both headers in a
|
||||
userspace tool (see the thread on the musl mailing list [1], especially [2]).
|
||||
|
||||
Since arptables only requires a few definitions from the Linux Kernel headers
|
||||
we opt-out the clashing header files and define the needed definitions.
|
||||
|
||||
[1] http://www.openwall.com/lists/musl/2012/10/09/1
|
||||
[2] http://www.openwall.com/lists/musl/2012/10/11/1
|
||||
|
||||
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
|
||||
---
|
||||
extensions/arpt_CLASSIFY.c | 7 +++++++
|
||||
include/linux/netfilter_arp.h | 11 +++++++++++
|
||||
2 files changed, 18 insertions(+)
|
||||
|
||||
diff --git a/extensions/arpt_CLASSIFY.c b/extensions/arpt_CLASSIFY.c
|
||||
index cb5770b..c58129f 100644
|
||||
--- a/extensions/arpt_CLASSIFY.c
|
||||
+++ b/extensions/arpt_CLASSIFY.c
|
||||
@@ -21,7 +21,14 @@
|
||||
#include <stdio.h>
|
||||
#include <getopt.h>
|
||||
#include <arptables.h>
|
||||
+
|
||||
+#ifdef __KERNEL__
|
||||
#include <linux/netfilter/xt_CLASSIFY.h>
|
||||
+#else
|
||||
+struct xt_classify_target_info {
|
||||
+ uint32_t priority;
|
||||
+};
|
||||
+#endif
|
||||
|
||||
#define TC_H_MAJ_MASK (0xFFFF0000U)
|
||||
#define TC_H_MIN_MASK (0x0000FFFFU)
|
||||
diff --git a/include/linux/netfilter_arp.h b/include/linux/netfilter_arp.h
|
||||
index 92bc6dd..2a63e82 100644
|
||||
--- a/include/linux/netfilter_arp.h
|
||||
+++ b/include/linux/netfilter_arp.h
|
||||
@@ -5,7 +5,18 @@
|
||||
* (C)2002 Rusty Russell IBM -- This code is GPL.
|
||||
*/
|
||||
|
||||
+#ifdef __KERNEL__
|
||||
#include <linux/netfilter.h>
|
||||
+#else
|
||||
+/* Responses from hook functions. */
|
||||
+#define NF_DROP 0
|
||||
+#define NF_ACCEPT 1
|
||||
+#define NF_STOLEN 2
|
||||
+#define NF_QUEUE 3
|
||||
+#define NF_REPEAT 4
|
||||
+#define NF_STOP 5
|
||||
+#define NF_MAX_VERDICT NF_STOP
|
||||
+#endif
|
||||
|
||||
/* There is no PF_ARP. */
|
||||
#define NF_ARP 0
|
||||
--
|
||||
2.6.2
|
||||
|
Loading…
Reference in New Issue
Block a user