[PATCH 1/1] Fix musl build issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 7893aed..742be63 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

��.n��������+%������w��{.n����z��׫�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux