Branch: refs/heads/master Home: https://github.com/OpenVPN/openvpn Commit: bff413d5c47645b525988a66c138abf7d198e228 https://github.com/OpenVPN/openvpn/commit/bff413d5c47645b525988a66c138abf7d198e228 Author: David Sommerseth <dav...@redhat.com> Date: 2012-04-27 (Fri, 27 Apr 2012)
Changed paths: M configure.ac M src/openvpn/tun.c Log Message: ----------- Clean-up: Presume that Linux is always IPv6 capable at build time These days it is highly unlikely that OpenVPN will be built in a non-IPv6 capable Linux environment. So remove compile-time related macros identifying that. This also solves an issue which was introduced in commit 51bd56f46f55177cf0f8b where HAVE_TUN_PI is no longer detected. The tun_pi struct is defined in linux/if_tun.h, which will be checked for later on. As this struct has history in linux/if_tun.h all back to the beginning of the kernel git tree (2.6.12-rc2, April 2005), it is considered not needed to check for this struct explicit. [ v2: Commit 7c0a2b5f2b4409 modifies some of the checks this patch touches. This patch just adopts to those changes ] Signed-off-by: David Sommerseth <dav...@redhat.com> Acked-by: Gert Doering <g...@greenie.muc.de> Acked-by: Alon Bar-Lev <alon.bar...@gmail.com> Message-Id: 1335521425-23391-1-git-send-email-dav...@redhat.com URL: http://article.gmane.org/gmane.network.openvpn.devel/6351 diff --git a/configure.ac b/configure.ac index 8ac5ac4..e808cb4 100644 --- a/configure.ac +++ b/configure.ac @@ -415,12 +415,6 @@ AC_CHECK_TYPES( [[${SOCKET_INCLUDES}]] ) AC_CHECK_TYPE( - [struct tun_pi], - [AC_DEFINE([HAVE_TUN_PI], [1], [struct tun_pi needed for IPv6 support])], - , - [[${SOCKET_INCLUDES}]] -) -AC_CHECK_TYPE( [struct iphdr], [AC_DEFINE([HAVE_IPHDR], [1], [struct iphdr needed for IPv6 support])], , diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c index 227bfde..633150f 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -1373,14 +1373,6 @@ void delete_route_connected_v6_net(struct tuntap * tt, #error header file linux/sockios.h required #endif -#if defined(HAVE_TUN_PI) && defined(HAVE_IPHDR) && defined(HAVE_IOVEC) && defined(ETH_P_IPV6) && defined(ETH_P_IP) && defined(HAVE_READV) && defined(HAVE_WRITEV) -#define LINUX_IPV6 1 -/* #warning IPv6 ON */ -#else -#define LINUX_IPV6 0 -/* #warning IPv6 OFF */ -#endif - #if !PEDANTIC void @@ -1388,13 +1380,6 @@ void delete_route_connected_v6_net(struct tuntap * tt, { struct ifreq ifr; - /* warn if a very old linux version is used & --tun-ipv6 set - */ -#if LINUX_IPV6 == 0 - if ( tt->ipv6 ) - msg (M_WARN, "NOTE: explicit support for IPv6 tun devices is not provided for this OS"); -#endif - /* * We handle --dev null specially, we do not open /dev/null for this. */ @@ -1623,7 +1608,6 @@ void delete_route_connected_v6_net(struct tuntap * tt, int write_tun (struct tuntap* tt, uint8_t *buf, int len) { -#if LINUX_IPV6 if (tt->ipv6) { struct tun_pi pi; @@ -1649,14 +1633,12 @@ void delete_route_connected_v6_net(struct tuntap * tt, return(ret - sizeof(pi)); } else -#endif return write (tt->fd, buf, len); } int read_tun (struct tuntap* tt, uint8_t *buf, int len) { -#if LINUX_IPV6 if (tt->ipv6) { struct iovec vect[2]; @@ -1672,7 +1654,6 @@ void delete_route_connected_v6_net(struct tuntap * tt, return(ret - sizeof(pi)); } else -#endif return read (tt->fd, buf, len); } ================================================================ Commit: 4e846b39a35b5f9501e4283be0af620d7c9c8b5c https://github.com/OpenVPN/openvpn/commit/4e846b39a35b5f9501e4283be0af620d7c9c8b5c Author: Alon Bar-Lev <alon.bar...@gmail.com> Date: 2012-04-27 (Fri, 27 Apr 2012) Changed paths: M src/openvpn/packet_id.c Log Message: ----------- crash: packet_id_debug_print: sl may be null Program received signal SIGSEGV, Segmentation fault. packet_id_debug_print (msglevel=1174405255, p=0xa36bd0718, pin=0x3de5feec1b0, message=0xa330dde80 "PID_TEST", value=0) at ../../../src/openvpn/packet_id.c:504 504 for (i = 0; i < sl->x_size; ++i) (gdb) print sl $2 = (const struct seq_list *) 0x0 Reported in the past[1]. [1] http://thread.gmane.org/gmane.network.openvpn.devel/5466 Signed-off-by: Alon Bar-Lev <alon.bar...@gmail.com> Acked-by: James Yonan <ja...@openvpn.net> Message-Id: 1333879485-2417-1-git-send-email-alon.bar...@gmail.com URL: http://article.gmane.org/gmane.network.openvpn.devel/6259 Message-Id: 4f9a6b4b.7060...@openvpn.net URL: http://article.gmane.org/gmane.network.openvpn.devel/6350 Signed-off-by: David Sommerseth <dav...@redhat.com> diff --git a/src/openvpn/packet_id.c b/src/openvpn/packet_id.c index 0102129..baa4966 100644 --- a/src/openvpn/packet_id.c +++ b/src/openvpn/packet_id.c @@ -501,7 +501,7 @@ static void packet_id_debug_print (int msglevel, buf_printf (&out, "%s [%d]", message, value); buf_printf (&out, " [%s-%d] [", p->name, p->unit); - for (i = 0; i < sl->x_size; ++i) + for (i = 0; sl != NULL && i < sl->x_size; ++i) { char c; time_t v; @@ -538,11 +538,15 @@ static void packet_id_debug_print (int msglevel, p->time_backtrack, p->max_backtrack_stat, (int)p->initialized); - buf_printf (&out, " sl=[%d,%d,%d,%d]", - sl->x_head, - sl->x_size, - sl->x_cap, - sl->x_sizeof); + if (sl != NULL) + { + buf_printf (&out, " sl=[%d,%d,%d,%d]", + sl->x_head, + sl->x_size, + sl->x_cap, + sl->x_sizeof); + } + msg (msglevel, "%s", BSTR(&out)); gc_free (&gc); ================================================================ Compare: https://github.com/OpenVPN/openvpn/compare/f99d8fa...4e846b3