diff options
Diffstat (limited to 'package/socat/0004-xio-tun-remove-if_tun.h-kernel-header.patch')
| -rw-r--r-- | package/socat/0004-xio-tun-remove-if_tun.h-kernel-header.patch | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/package/socat/0004-xio-tun-remove-if_tun.h-kernel-header.patch b/package/socat/0004-xio-tun-remove-if_tun.h-kernel-header.patch new file mode 100644 index 0000000000..7704123f30 --- /dev/null +++ b/package/socat/0004-xio-tun-remove-if_tun.h-kernel-header.patch @@ -0,0 +1,91 @@ +From 1c141194e3587cc8124e5f4512dc3030e5a104b1 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@gmail.com> +Date: Sun, 28 Aug 2016 22:06:09 +0200 +Subject: [PATCH] xio-tun: remove if_tun.h kernel header + +xio-tun mixes userspace and kernel headers. + +http://wiki.musl-libc.org/wiki/FAQ#Q:_why_am_i_getting_.22error:_redefinition_of_struct_ethhdr.2Ftcphdr.2Fetc.22_.3F + +Signed-off-by: Romain Naour <romain.naour@gmail.com> +--- + config.h.in | 3 --- + configure.in | 8 +------- + sysincludes.h | 3 --- + xio-tun.c | 6 ++++++ + 4 files changed, 7 insertions(+), 13 deletions(-) + +diff --git a/config.h.in b/config.h.in +index 9058bf8..ed0962c 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -258,9 +258,6 @@ + /* Define if you have the <linux/errqueue.h> header file. */ + #undef HAVE_LINUX_ERRQUEUE_H + +-/* Define if you have the <linux/if_tun.h> header file. */ +-#undef HAVE_LINUX_IF_TUN_H +- + /* Define if you have the <netpacket/packet.h> header file. */ + #undef HAVE_NETPACKET_PACKET_H + +diff --git a/configure.in b/configure.in +index 1d2e76f..27bb3d5 100644 +--- a/configure.in ++++ b/configure.in +@@ -78,7 +78,7 @@ AC_CHECK_HEADERS(arpa/nameser.h) + + AC_HEADER_RESOLV() + +-AC_CHECK_HEADERS(termios.h linux/if_tun.h) ++AC_CHECK_HEADERS(termios.h) + AC_CHECK_HEADERS(net/if_dl.h) + AC_CHECK_HEADERS(linux/types.h) + AC_CHECK_HEADER(linux/errqueue.h, AC_DEFINE(HAVE_LINUX_ERRQUEUE_H), [], [#include <sys/time.h> +@@ -680,12 +680,6 @@ AC_ARG_ENABLE(tun, [ --disable-tun disable TUN/TAP support], + esac], + [AC_MSG_RESULT(yes); WITH_TUN=1 ]) + +-# +-if ! test "$ac_cv_header_linux_if_tun_h" = 'yes'; then +- AC_MSG_WARN(include file linux/if_tun.h not found, disabling TUN) +- WITH_TUN= +-fi +-# + if test -n "$WITH_TUN"; then + AC_DEFINE(WITH_TUN) + fi +diff --git a/sysincludes.h b/sysincludes.h +index 98dff77..28067f4 100644 +--- a/sysincludes.h ++++ b/sysincludes.h +@@ -142,9 +142,6 @@ + #if HAVE_NETINET_IF_ETHER_H + #include <netinet/if_ether.h> + #endif +-#if HAVE_LINUX_IF_TUN_H +-#include <linux/if_tun.h> +-#endif + + #if HAVE_TERMIOS_H && _WITH_TERMIOS + #include <termios.h> +diff --git a/xio-tun.c b/xio-tun.c +index 0628d27..f965a7e 100644 +--- a/xio-tun.c ++++ b/xio-tun.c +@@ -14,6 +14,12 @@ + + #include "xio-tun.h" + ++/* TUNSETIFF flags from if_tun.h kernel header */ ++#define IFF_TUN 0x0001 ++#define IFF_TAP 0x0002 ++#define IFF_NO_PI 0x1000 ++ ++#define TUNSETIFF _IOW('T', 202, int) + + static int xioopen_tun(int argc, const char *argv[], struct opt *opts, int xioflags, xiofile_t *fd, unsigned groups, int dummy1, int dummy2, int dummy3); + +-- +2.5.5 + |

