From d46a902c90f1d9a53f70df47de13a3fdbdce5876 Mon Sep 17 00:00:00 2001 From: basil00 Date: Sat, 8 Nov 2014 15:15:54 +0800 Subject: [PATCH] - Fix issue #29 found by MarlosChida: the IPv6 pseudo-header definition was incorrect leading to invalid checksums. --- CHANGELOG | 3 +++ dll/windivert.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 39c54a1..533aff1 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -51,3 +51,6 @@ WinDivert 1.1.5 WinDivert 1.1.6 - WinDivert now searches for the driver files in the application's directory (as opposed to the current directory). +WinDivert 1.1.7 + - Fixed incorrect IPV6 TCP/UDP checksum calculation in + WinDivertHelperCalcChecksums(). diff --git a/dll/windivert.c b/dll/windivert.c index 400a6ff..d2a35ee 100644 --- a/dll/windivert.c +++ b/dll/windivert.c @@ -165,8 +165,8 @@ typedef struct UINT32 SrcAddr[4]; UINT32 DstAddr[4]; UINT32 Length; - UINT32 NextHdr:8; UINT32 Zero:24; + UINT32 NextHdr:8; } WINDIVERT_PSEUDOV6HDR, *PWINDIVERT_PSEUDOV6HDR; /*