@@ -145,7 +145,6 @@
set(TARGET_ANDROID YES)
set(ENABLE_ASYNC_PUSH YES)
set(ENABLE_SITNL YES)
- set(HAVE_LINUX_TYPES_H 1)
# Wacky workaround as OpenSSL package detection is otherwise broken (https://stackoverflow.com/questions/45958214/android-cmake-could-not-find-openssl)
list(APPEND CMAKE_FIND_ROOT_PATH ${OPENSSL_ROOT_DIR})
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
@@ -153,9 +152,6 @@
set(ENABLE_ASYNC_PUSH YES)
set(ENABLE_LINUXDCO YES)
set(ENABLE_SITNL YES)
- set(HAVE_DECL_SO_MARK YES)
- set(ENABLE_FEATURE_TUN_PERSIST 1)
- set(HAVE_LINUX_TYPES_H 1)
set(ENABLE_DCO YES)
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
set(TARGET_FREEBSD YES)
@@ -258,8 +254,6 @@
check_include_files(dmalloc.h HAVE_DMALLOC_H)
check_include_files(fcntl.h HAVE_FCNTL_H)
check_include_files(err.h HAVE_ERR_H)
-check_include_files(linux/if_tun.h HAVE_LINUX_IF_TUN_H)
-check_include_files(linux/sockios.h HAVE_LINUX_SOCKIOS_H)
check_include_files(netdb.h HAVE_NETDB_H)
check_include_files("${NETEXTRA};netinet/in6.h" HAVE_NETINET_IN_H)
check_include_files(net/if.h HAVE_NET_IF_H)
@@ -20,9 +20,6 @@
/* Enable debugging support (needed for verb>=4) */
#define ENABLE_DEBUG 1
-/* We have persist tun capability */
-#cmakedefine ENABLE_FEATURE_TUN_PERSIST
-
/* Enable internal fragmentation support */
#define ENABLE_FRAGMENT 1
@@ -92,10 +89,6 @@
/* Define to 1 if you have the `daemon' function. */
#cmakedefine HAVE_DAEMON
-/* Define to 1 if you have the declaration of `SO_MARK', and to 0 if you
-don't. */
-#cmakedefine01 HAVE_DECL_SO_MARK
-
/* Define to 1 if you have the <direct.h> header file. */
#cmakedefine HAVE_DIRECT_H
@@ -166,15 +159,6 @@
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
-/* Define to 1 if you have the <linux/if_tun.h> header file. */
-#cmakedefine HAVE_LINUX_IF_TUN_H
-
-/* Define to 1 if you have the <linux/sockios.h> header file. */
-#cmakedefine HAVE_LINUX_SOCKIOS_H
-
-/* Define to 1 if you have the <linux/types.h> header file. */
-#cmakedefine HAVE_LINUX_TYPES_H
-
/* Define to 1 if you have the <lzo1x.h> header file. */
#define HAVE_LZO1X_H 1
@@ -494,8 +494,8 @@
sys/mman.h sys/file.h sys/wait.h \
unistd.h libgen.h stropts.h \
syslog.h pwd.h grp.h termios.h \
- sys/sockio.h sys/uio.h linux/sockios.h \
- linux/types.h linux/errqueue.h poll.h sys/epoll.h err.h \
+ sys/sockio.h sys/uio.h \
+ poll.h sys/epoll.h err.h \
])
SOCKET_INCLUDES="
@@ -587,12 +587,6 @@
[AC_MSG_ERROR([struct sockaddr_in6 not found, needed for ipv6 transport support.])],
[[${SOCKET_INCLUDES}]]
)
-AC_CHECK_DECLS(
- [SO_MARK],
- ,
- ,
- [[${SOCKET_INCLUDES}]]
-)
saved_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -Wl,--wrap=exit"
@@ -717,16 +711,6 @@
],
[have_tap_header="yes"]
)
-AC_CHECK_DECLS(
- [TUNSETPERSIST],
- [AC_DEFINE([ENABLE_FEATURE_TUN_PERSIST], [1], [We have persist tun capability])],
- ,
- [[
- #ifdef HAVE_LINUX_IF_TUN_H
- #include <linux/if_tun.h>
- #endif
- ]]
-)
CFLAGS="${old_CFLAGS}"
test "${have_tap_header}" = "yes" || AC_MSG_ERROR([no tap header could be found])
@@ -274,6 +274,8 @@
#if EXTENDED_SOCKET_ERROR_CAPABILITY
+#include <linux/errqueue.h>
+
struct probehdr
{
uint32_t ttl;
@@ -262,8 +262,7 @@
/*
* EXTENDED_SOCKET_ERROR_CAPABILITY functions -- print extra error info
- * on socket errors, such as PMTU size. As of 2003.05.11, only works
- * on Linux 2.4+.
+ * on socket errors, such as PMTU size.
*/
#if EXTENDED_SOCKET_ERROR_CAPABILITY
@@ -315,7 +315,7 @@
" or --fragment max value, whichever is lower.\n"
"--sndbuf size : Set the TCP/UDP send buffer size.\n"
"--rcvbuf size : Set the TCP/UDP receive buffer size.\n"
-#if defined(TARGET_LINUX) && HAVE_DECL_SO_MARK
+#if defined(TARGET_LINUX)
"--mark value : Mark encrypted packets being sent with value. The mark value\n"
" can be matched in policy routing and packetfilter rules.\n"
"--bind-dev dev : Bind to the given device when making connection to a peer or\n"
@@ -768,7 +768,7 @@
" (for use with --tls-auth or --tls-crypt)."
#ifdef ENABLE_FEATURE_TUN_PERSIST
"\n"
- "Tun/tap config mode (available with linux 2.4+):\n"
+ "Tun/tap config mode:\n"
"--mktun : Create a persistent tunnel.\n"
"--rmtun : Remove a persistent tunnel.\n"
"--dev tunX|tapX : tun/tap device\n"
@@ -1792,7 +1792,7 @@
SHOW_BOOL(occ);
SHOW_INT(rcvbuf);
SHOW_INT(sndbuf);
-#if defined(TARGET_LINUX) && HAVE_DECL_SO_MARK
+#if defined(TARGET_LINUX)
SHOW_INT(mark);
#endif
SHOW_INT(sockflags);
@@ -6510,7 +6510,7 @@
}
else if (streq(p[0], "mark") && p[1] && !p[2])
{
-#if defined(TARGET_LINUX) && HAVE_DECL_SO_MARK
+#if defined(TARGET_LINUX)
VERIFY_PERMISSION(OPT_P_GENERAL);
options->mark = atoi_warn(p[1], msglevel);
#endif
@@ -524,7 +524,7 @@
static inline void
socket_set_mark(socket_descriptor_t sd, int mark)
{
-#if defined(TARGET_LINUX) && HAVE_DECL_SO_MARK
+#if defined(TARGET_LINUX)
if (mark && setsockopt(sd, SOL_SOCKET, SO_MARK, (void *)&mark, sizeof(mark)) != 0)
{
msg(M_WARN, "NOTE: setsockopt SO_MARK=%d failed", mark);
@@ -185,26 +185,19 @@
#if defined(TARGET_LINUX) || defined(TARGET_ANDROID)
-#ifdef HAVE_LINUX_IF_TUN_H
-#include <linux/if_tun.h>
+#define EXTENDED_SOCKET_ERROR_CAPABILITY 1
+
+#ifdef TARGET_LINUX
+#define ENABLE_FEATURE_TUN_PERSIST
#endif
+#include <linux/if_tun.h>
+#include <linux/sockios.h>
+
#ifdef HAVE_NETINET_IP_H
#include <netinet/ip.h>
#endif
-#ifdef HAVE_LINUX_SOCKIOS_H
-#include <linux/sockios.h>
-#endif
-
-#ifdef HAVE_LINUX_TYPES_H
-#include <linux/types.h>
-#endif
-
-#ifdef HAVE_LINUX_ERRQUEUE_H
-#include <linux/errqueue.h>
-#endif
-
#ifdef HAVE_NETINET_TCP_H
#include <netinet/tcp.h>
#endif
@@ -361,15 +354,6 @@
#endif
/*
- * Do we have the capability to report extended socket errors?
- */
-#if defined(HAVE_LINUX_TYPES_H) && defined(HAVE_LINUX_ERRQUEUE_H)
-#define EXTENDED_SOCKET_ERROR_CAPABILITY 1
-#else
-#define EXTENDED_SOCKET_ERROR_CAPABILITY 0
-#endif
-
-/*
* Does this platform support linux-style IP_PKTINFO
* or bsd-style IP_RECVDSTADDR ?
*/
@@ -397,14 +381,6 @@
#endif
/*
- * Disable ESEC
- */
-#if 0
-#undef EXTENDED_SOCKET_ERROR_CAPABILITY
-#define EXTENDED_SOCKET_ERROR_CAPABILITY 0
-#endif
-
-/*
* Do we have a syslog capability?
*/
#if defined(HAVE_OPENLOG) && defined(HAVE_SYSLOG)
@@ -2055,10 +2055,6 @@
#elif defined(TARGET_LINUX)
-#ifndef HAVE_LINUX_SOCKIOS_H
-#error header file linux/sockios.h required
-#endif
-
#if !PEDANTIC
void
@@ -2186,11 +2182,6 @@
#ifdef ENABLE_FEATURE_TUN_PERSIST
-/* TUNSETGROUP appeared in 2.6.23 */
-#ifndef TUNSETGROUP
-#define TUNSETGROUP _IOW('T', 206, int)
-#endif
-
void
tuncfg(const char *dev, const char *dev_type, const char *dev_node, int persist_mode,
const char *username, const char *groupname, const struct tuntap_options *options,
@@ -278,9 +278,11 @@
int read_tun(struct tuntap *tt, uint8_t *buf, int len);
+#ifdef ENABLE_FEATURE_TUN_PERSIST
void tuncfg(const char *dev, const char *dev_type, const char *dev_node, int persist_mode,
const char *username, const char *groupname, const struct tuntap_options *options,
openvpn_net_ctx_t *ctx);
+#endif
const char *guess_tuntap_dev(const char *dev, const char *dev_type, const char *dev_node,
struct gc_arena *gc);