1From 2e2eab070384834036c1458c669070ed17d81dbe Mon Sep 17 00:00:00 2001
2From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3Date: Wed, 10 Feb 2016 23:15:36 +0100
4Subject: [PATCH] sysdep.c: don't include <linux/if_tun.h> on Linux
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Including <linux/if_tun.h> in sysdep.c is not necessary since sysdep.h
10already includes <netinet/if_ether.h>. And this is actually
11potentially harmful since both files redefine the same 'struct
12ethhdr', causing the following build failure with the musl C library:
13
14In file included from sysdep.h:28:0,
15                 from sysdep.c:71:
16.../buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/netinet/if_ether.h:96:8: error: redefinition of ‘struct ethhdr’
17 struct ethhdr {
18        ^
19In file included from .../buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/if_tun.h:20:0,
20                 from sysdep.c:62:
21.../buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/if_ether.h:138:8: note: originally defined here
22 struct ethhdr {
23        ^
24
25Original patch from:
26http://git.alpinelinux.org/cgit/aports/tree/testing/vpnc/working.patch
27
28Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
29---
30 sysdep.c | 4 +---
31 1 file changed, 1 insertion(+), 3 deletions(-)
32
33diff --git a/sysdep.c b/sysdep.c
34index d8f181d..f83543d 100644
35--- a/sysdep.c
36+++ b/sysdep.c
37@@ -58,13 +58,11 @@
38
39 #if defined(__DragonFly__)
40 #include <net/tun/if_tun.h>
41-#elif defined(__linux__)
42-#include <linux/if_tun.h>
43 #elif defined(__APPLE__)
44 /* no header for tun */
45 #elif defined(__CYGWIN__)
46 #include "tap-win32.h"
47-#else
48+#elif !defined(__linux__)
49 #include <net/if_tun.h>
50 #endif
51
52--
532.6.4
54
55