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