cron2 has uploaded a new patch set (#3) to the change originally created by 
flichtenheld. ( http://gerrit.openvpn.net/c/openvpn/+/1408?usp=email )

The following approvals got outdated and were removed:
Code-Review+2 by cron2


Change subject: Linux: Assume we have a kernel that was release in the last 15 
years
......................................................................

Linux: Assume we have a kernel that was release in the last 15 years

Just assume that we have all the linux headers that
were part of linux since 2.6 (or 2.4 in some cases).

Simplifies configuration.

Change-Id: Ie460eec488a8781e3b1ee4f8b2ae2090729ed175
Signed-off-by: Frank Lichtenheld <[email protected]>
Acked-by: Gert Doering <[email protected]>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1408
Message-Id: <[email protected]>
URL: 
https://www.mail-archive.com/[email protected]/msg34738.html
Signed-off-by: Gert Doering <[email protected]>
---
M CMakeLists.txt
M config.h.cmake.in
M configure.ac
M src/openvpn/mtu.c
M src/openvpn/mtu.h
M src/openvpn/options.c
M src/openvpn/socket.c
M src/openvpn/syshead.h
M src/openvpn/tun.c
M src/openvpn/tun.h
10 files changed, 19 insertions(+), 87 deletions(-)


  git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/08/1408/3

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e812145..c4d50e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -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)
diff --git a/config.h.cmake.in b/config.h.cmake.in
index 1c443ab..bf1899c 100644
--- a/config.h.cmake.in
+++ b/config.h.cmake.in
@@ -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

diff --git a/configure.ac b/configure.ac
index 44c7b65..030f8de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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])

diff --git a/src/openvpn/mtu.c b/src/openvpn/mtu.c
index 9e152df..e080ea9 100644
--- a/src/openvpn/mtu.c
+++ b/src/openvpn/mtu.c
@@ -274,6 +274,8 @@

 #if EXTENDED_SOCKET_ERROR_CAPABILITY

+#include <linux/errqueue.h>
+
 struct probehdr
 {
     uint32_t ttl;
diff --git a/src/openvpn/mtu.h b/src/openvpn/mtu.h
index 3bbff6f..b690149 100644
--- a/src/openvpn/mtu.h
+++ b/src/openvpn/mtu.h
@@ -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
diff --git a/src/openvpn/options.c b/src/openvpn/options.c
index 62f84dd..5e73196 100644
--- a/src/openvpn/options.c
+++ b/src/openvpn/options.c
@@ -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);
@@ -6518,7 +6518,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
diff --git a/src/openvpn/socket.c b/src/openvpn/socket.c
index 747c7a7..46bedf4 100644
--- a/src/openvpn/socket.c
+++ b/src/openvpn/socket.c
@@ -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);
diff --git a/src/openvpn/syshead.h b/src/openvpn/syshead.h
index 90045a9..c6f2608 100644
--- a/src/openvpn/syshead.h
+++ b/src/openvpn/syshead.h
@@ -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)
diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c
index 06b7ae5..7c61dcf 100644
--- a/src/openvpn/tun.c
+++ b/src/openvpn/tun.c
@@ -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,
diff --git a/src/openvpn/tun.h b/src/openvpn/tun.h
index e13f99f..876f147 100644
--- a/src/openvpn/tun.h
+++ b/src/openvpn/tun.h
@@ -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);

-- 
To view, visit http://gerrit.openvpn.net/c/openvpn/+/1408?usp=email
To unsubscribe, or for help writing mail filters, visit 
http://gerrit.openvpn.net/settings?usp=email

Gerrit-MessageType: newpatchset
Gerrit-Project: openvpn
Gerrit-Branch: master
Gerrit-Change-Id: Ie460eec488a8781e3b1ee4f8b2ae2090729ed175
Gerrit-Change-Number: 1408
Gerrit-PatchSet: 3
Gerrit-Owner: flichtenheld <[email protected]>
Gerrit-Reviewer: cron2 <[email protected]>
Gerrit-Reviewer: plaisthos <[email protected]>
Gerrit-CC: openvpn-devel <[email protected]>
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to