aboutsummaryrefslogtreecommitdiff
path: root/tun.c
diff options
context:
space:
mode:
authorGert Doering <gert@greenie.muc.de>2010-03-07 19:43:01 +0100
committerGert Doering <gert@greenie.muc.de>2011-04-24 17:22:42 +0200
commit91698ccd1010355d424e9a2a494c09fa54a82be6 (patch)
tree6f907d3b824e4f72a857cfb951772d1af3700d19 /tun.c
parentwhen deleting a route on win32, also add gateway address (diff)
downloadopenvpn-91698ccd1010355d424e9a2a494c09fa54a82be6.tar.xz
WIN32: if IPv6 requested in TUN mode, and TUN/TAP driver version is older
than 9.7, log warning and disable IPv6 (won't work anyway).
Diffstat (limited to '')
-rw-r--r--tun.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/tun.c b/tun.c
index ef49ae0..3c8fb22 100644
--- a/tun.c
+++ b/tun.c
@@ -4446,6 +4446,16 @@ open_tun (const char *dev, const char *dev_type, const char *dev_node, struct tu
msg (M_FATAL, "ERROR: This version of " PACKAGE_NAME " requires a TAP-Win32 driver that is at least version %d.%d -- If you recently upgraded your " PACKAGE_NAME " distribution, a reboot is probably required at this point to get Windows to see the new driver.",
TAP_WIN32_MIN_MAJOR,
TAP_WIN32_MIN_MINOR);
+
+ /* usage of numeric constants is ugly, but this is really tied to
+ * *this* version of the driver
+ */
+ if ( tt->ipv6 && tt->type == DEV_TYPE_TUN &&
+ info[0] == 9 && info[1] < 7)
+ {
+ msg( M_INFO, "WARNING: Tap-Win32 driver version %d.%d does not support IPv6 in TUN mode. IPv6 will be disabled. Upgrade to Tap-Win32 9.7 or use TAP mode to get IPv6", (int) info[0], (int) info[1] );
+ tt->ipv6 = false;
+ }
}
/* get driver MTU */