diff mbox

package/arptables: add patch to fix musl build issue

Message ID 1449030783-19533-1-git-send-email-joerg.krause@embedded.rocks
State Accepted
Headers show

Commit Message

Jörg Krause Dec. 2, 2015, 4:33 a.m. UTC
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>
---
 package/arptables/0004-Fix-musl-build-issue.patch | 71 +++++++++++++++++++++++
 1 file changed, 71 insertions(+)
 create mode 100644 package/arptables/0004-Fix-musl-build-issue.patch

Comments

Thomas Petazzoni Dec. 17, 2015, 9:08 p.m. UTC | #1
Dear Jörg Krause,

On Wed,  2 Dec 2015 05:33:03 +0100, Jörg Krause wrote:
> 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>
> ---
>  package/arptables/0004-Fix-musl-build-issue.patch | 71 +++++++++++++++++++++++
>  1 file changed, 71 insertions(+)
>  create mode 100644 package/arptables/0004-Fix-musl-build-issue.patch

Applied, thanks.

Thomas
diff mbox

Patch

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 0000000..e9419b0
--- /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
+