Hi,

bugfixing the tap driver is nice and well, but I think we MUST bump the
driver version as well, and we SHOULD have a check in tun.c to refuse
operation if the known-buggy version (9.8) is detected.

Patches below.

gert

-- 
USENET is *not* the non-clickable part of WWW!
                                                           //www.muc.de/~gert/
Gert Doering - Munich, Germany                             g...@greenie.muc.de
fax: +49-89-35655025                        g...@net.informatik.tu-muenchen.de
From c8e7ad5ed0a91d8b595e8b1862416f226a86968f Mon Sep 17 00:00:00 2001
From: Gert Doering <g...@greenie.muc.de>
List-Post: openvpn-devel@lists.sourceforge.net
Date: Wed, 23 Nov 2011 11:07:09 +0100
Subject: [PATCH 1/2] bump tap driver version from 9.8 to 9.9
 (bugfixed tapdrvr.c regarding small IPv4 packets)

---
 version.m4 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/version.m4 b/version.m4
index 78e69aa..514ae72 100644
--- a/version.m4
+++ b/version.m4
@@ -3,4 +3,4 @@ define(PRODUCT_VERSION,[2.x-master])
 dnl define the TAP version
 define(PRODUCT_TAP_ID,[tap0901])
 define(PRODUCT_TAP_WIN32_MIN_MAJOR,[9])
-define(PRODUCT_TAP_WIN32_MIN_MINOR,[8])
+define(PRODUCT_TAP_WIN32_MIN_MINOR,[9])
-- 
1.7.3.4

From ce6329e86dfd4b4af1371c09abf06795540fa28a Mon Sep 17 00:00:00 2001
From: Gert Doering <g...@greenie.muc.de>
List-Post: openvpn-devel@lists.sourceforge.net
Date: Wed, 23 Nov 2011 11:11:54 +0100
Subject: [PATCH 2/2] log error message and exit for "win32, tun mode, tap 
driver version 9.8"
 (driver is known-buggy for small IPv4 packets in tun mode)

---
 tun.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/tun.c b/tun.c
index c8ac394..70d9f5a 100644
--- a/tun.c
+++ b/tun.c
@@ -4584,6 +4584,14 @@ open_tun (const char *dev, const char *dev_type, const 
char *dev_node, struct tu
        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.8 (2.2-beta3 
release or later) or use TAP mode to get IPv6", (int) info[0], (int) info[1] );
        tt->ipv6 = false;
       }
+
+    /* tap driver 9.8 (2.2.0 and 2.2.1 release) is buggy
+     */
+    if ( tt->type == DEV_TYPE_TUN && 
+        info[0] == 9 && info[1] == 8)
+      {
+       msg( M_FATAL, "ERROR:  Tap-Win32 driver version %d.%d is buggy 
regarding small IPv4 packets in TUN mode.  Upgrade to Tap-Win32 9.9 (2.2.2 
release or later) or use TAP mode", (int) info[0], (int) info[1] );
+      }
   }
 
   /* get driver MTU */
-- 
1.7.3.4

Attachment: pgpJCL1tRBSEU.pgp
Description: PGP signature

Reply via email to