Hi,

as per David's request, a properly git-format-patch formatted patch
attached below.

(The bug and fix are *so* obvious if you know where to look)

gert

On Thu, Nov 10, 2011 at 07:20:04PM +0100, Gert Doering wrote:
> Hi,
> 
> I received a bugfix for my IPv6 patch to the Windows TAP driver today,
> which affects IPv4 - and there is this open bug with small-size IPv4
> packets in our trac, which this should fix...
> 
> The problem is a missing "break" statement at the end of the IPv6 
> block, which now leads to "fall into IPv6 block" and that one has a
> larger minimum packet size...
> 
> ACK from me - David, could you please integrate the one-line patch,
> and then we need James to compile + sign a new driver  (and I think
> this warrants a 2.2 bugfix release).
> 
> [I'm not on IRC these days as I'm technically on vacation, but I saw
> this mail today and it warrants action]
> 
> gert
> 
> 
> ----- Forwarded message from Christian Niessner <bug-rep...@secadm.de> -----
> 
> 
> @@ -1611,6 +1766,27 @@ AdapterTransmit (IN NDIS_HANDLE p_AdapterContext,
>  
>             // Packet looks like IPv4, queue it.
>             l_PacketBuffer->m_SizeFlags |= TP_TUN;
> +
> +         case ETH_P_IPV6:
> +           // make sure that packet is large
> +           // enough to be IPv6
> +           if (l_PacketLength
> +               < ETHERNET_HEADER_SIZE + IPV6_HEADER_SIZE)
> +             goto no_queue;
> +
> 
> [..]
> 
> --- ../tap-win32-latest/tapdrvr.c       2011-11-09 17:12:19.000000000 +0100
> +++ tapdrvr.c   2011-11-10 09:24:24.000000000 +0100
> @@ -1766,6 +1766,7 @@
>  
>             // Packet looks like IPv4, queue it.
>             l_PacketBuffer->m_SizeFlags |= TP_TUN;
> +           break;
>  
>           case ETH_P_IPV6:
>             // make sure that packet is large
> 
> 
> ----- End forwarded message -----
> 
> -- 
> 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



> ------------------------------------------------------------------------------
> RSA(R) Conference 2012
> Save $700 by Nov 18
> Register now
> http://p.sf.net/sfu/rsa-sfdev2dev1
> _______________________________________________
> Openvpn-devel mailing list
> Openvpn-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openvpn-devel


-- 
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 3e3f3b57e06f1c4d116c006c81494418c79901cb Mon Sep 17 00:00:00 2001
From: Gert Doering <g...@greenie.muc.de>
List-Post: openvpn-devel@lists.sourceforge.net
Date: Thu, 10 Nov 2011 20:15:44 +0100
Subject: [PATCH] add missing break between "case IPv4" and "case IPv6", leading 
to
 the minimum-size for IPv6 being applied to IPv4 packets, subsequently
 leading to drop of small-sized IPv4 packets.

Bug found & fixed by Christian Niessner.

Signed-off-by: Christian Niessner <bug-rep...@secadm.de>
Signed-off-by: Gert Doering <g...@greenie.muc.de>
Acked-by: Gert Doering <g...@greenie.muc.de>
---
 tap-win32/tapdrvr.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tap-win32/tapdrvr.c b/tap-win32/tapdrvr.c
index 7ab3916..e5760dc 100755
--- a/tap-win32/tapdrvr.c
+++ b/tap-win32/tapdrvr.c
@@ -1766,6 +1766,7 @@ AdapterTransmit (IN NDIS_HANDLE p_AdapterContext,
 
            // Packet looks like IPv4, queue it.
            l_PacketBuffer->m_SizeFlags |= TP_TUN;
+           break;
 
          case ETH_P_IPV6:
            // make sure that packet is large
-- 
1.7.3.4

Attachment: pgpDjZEuN2rzJ.pgp
Description: PGP signature

Reply via email to