Revert WinDivert back to inline packet processing.

This hardens WinDivert against other drivers that
attempt to modify packets after they were blocked
& absorbed by WinDivert, leading to BSODs.  This
is also a fix for issue #110.
This commit is contained in:
basil00
2018-01-08 08:11:10 +08:00
parent af5cd69883
commit 21f1e1a71e
2 changed files with 324 additions and 603 deletions
+323 -602
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -295,7 +295,7 @@ int main(void)
// (1) stop normal traffic from interacting with the tests; and
// (2) stop test packets escaping to the Internet or TCP/IP stack.
upper_handle = WinDivertOpen("true", WINDIVERT_LAYER_NETWORK, -510,
WINDIVERT_FLAG_DROP);
WINDIVERT_FLAG_DROP | WINDIVERT_FLAG_DEBUG);
lower_handle = WinDivertOpen("true", WINDIVERT_LAYER_NETWORK, 510,
WINDIVERT_FLAG_DROP);
if (upper_handle == INVALID_HANDLE_VALUE ||