diff options
author | Jörg Krause <joerg.krause@embedded.rocks> | 2015-12-02 05:33:03 +0100 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-12-17 22:07:53 +0100 |
commit | fdfd17c7e19889ac61a449df373421f4dfefda85 (patch) | |
tree | 21760a62d6c9d5e7ddb4f258ca885e8f125dcaf3 /package/arptables | |
parent | c8b9f095f0c1cbb2e5fecdfb31cdb39002e44f24 (diff) | |
download | buildroot-fdfd17c7e19889ac61a449df373421f4dfefda85.tar.gz buildroot-fdfd17c7e19889ac61a449df373421f4dfefda85.zip |
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>
Diffstat (limited to 'package/arptables')
-rw-r--r-- | package/arptables/0004-Fix-musl-build-issue.patch | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/package/arptables/0004-Fix-musl-build-issue.patch b/package/arptables/0004-Fix-musl-build-issue.patch new file mode 100644 index 0000000000..e9419b0a96 --- /dev/null +++ b/package/arptables/0004-Fix-musl-build-issue.patch @@ -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 + |