Blame view

buildroot/buildroot-2016.08.1/package/arptables/0004-Fix-musl-build-issue.patch 2.03 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
  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