Commit Graph

  • 67ad628a1f Add pseudo-random pkt matching to WinDivert (#156) basil00 2018-11-14 09:40:17 +08:00
  • 312050accb Add a new WinDivertShutdown() function (#156). basil00 2018-11-11 09:44:24 +08:00
  • 0a74b5528c Update driver and inf version information. basil00 2018-11-09 07:29:05 +08:00
  • 084c78e4af Code cleanup & improve const correctness in API. basil00 2018-11-09 07:21:56 +08:00
  • 33a461eef6 Add packet/payload matching to WinDivert (#156). basil00 2018-11-07 07:54:32 +08:00
  • 3e40705178 Fix address formatting in sample programs. basil00 2018-11-05 09:44:25 +08:00
  • 1ccf486132 Calculate full checksums for reinjected packets. basil00 2018-11-04 08:47:39 +08:00
  • 4f7ff88664 Add batched recv/send to WinDivert (#156). basil00 2018-11-03 08:40:34 +08:00
  • 3966ec1287 Add a WINDIVERT_FLAG_PARTIAL flag. basil00 2018-10-30 08:56:43 +08:00
  • fc868feb3e Add type-safe get-fixed-val routines. basil00 2018-10-30 05:36:44 +08:00
  • de4245f95e Event & REFLECT layer fixes. basil00 2018-10-29 05:40:03 +08:00
  • 316765aa92 Fix impostor packet checksums. basil00 2018-10-27 06:52:14 +08:00
  • 86db54b400 Move pseduo checksum calculation inside driver. basil00 2018-10-26 10:38:35 +08:00
  • 34e8f96910 Consistent naming for DATA structs. basil00 2018-10-26 06:57:40 +08:00
  • 5aa4fc3c46 Enable NX flag for MmGetSystemAddressForMdlSafe. basil00 2018-10-26 06:43:49 +08:00
  • fd75e6d42a Add a new SOCKET layer to WinDivert (see #156). basil00 2018-10-25 10:20:46 +08:00
  • 2ab1ddf1d2 Make it possible to filter based on events. basil00 2018-10-22 08:38:12 +08:00
  • f0dd1224b1 Add a new REFLECT layer to WinDivert (see #156). basil00 2018-10-21 10:12:19 +08:00
  • 6250568974 Add a new FLOW layer into WinDivert. basil00 2018-09-30 09:07:16 +08:00
  • e82552153b Optimize pseudo checksum "calculation" basil00 2018-07-19 09:16:15 +08:00
  • 822dca9c3f Use snprintf() instead of sprintf_s(). v1.4.3 basil00 2018-07-03 09:37:14 +08:00
  • 8e44f26b0a Update README. basil00 2018-07-03 09:17:28 +08:00
  • 6ac22c1650 Retire MSVC-2012 and (non-driver) WDDK builds. basil00 2018-07-02 19:23:49 +08:00
  • 061535f7a3 Remove the WinDivert.dll dependency on MSVCRT*.dll basil00 2018-07-01 15:06:35 +08:00
  • 4ba359c86f Add workaround for #134 v1.4.2 basil00 2018-06-13 17:35:59 +08:00
  • ae25f27469 Fix #131 basil00 2018-05-23 18:14:36 +08:00
  • be153ac22b Fix file missed in last commit. v1.4.1 basil00 2018-04-05 20:57:02 +08:00
  • 1543e958e6 Dual-license WinDivert under the LGPLv3 and GPLv2. basil00 2018-04-04 18:41:45 +08:00
  • a67886e4b4 Fix passthru bug introduced by recent commit. v1.4.0-rc basil00 2018-01-16 00:14:09 +08:00
  • bef2240d9e Do not thread the impostor flag. basil00 2018-01-13 16:27:20 +08:00
  • e2106ea2c6 Allow an optional priority argument for passthru. basil00 2018-01-13 16:21:17 +08:00
  • 53845fa8a9 Fix #107 basil00 2018-01-13 08:08:37 +08:00
  • 21f1e1a71e Revert WinDivert back to inline packet processing. basil00 2018-01-08 08:11:10 +08:00
  • af5cd69883 Document the 1753 error. basil00 2017-11-27 06:45:18 +08:00
  • fb68612176 Cleanup protocol header definitions. basil00 2017-11-21 09:16:06 +08:00
  • bc95ba96ee Update CHANGELOG. basil00 2017-11-18 15:58:52 +08:00
  • 884622c5c7 Update documentation. basil00 2017-11-18 15:38:15 +08:00
  • 347adf04ea Add a "false" test case. basil00 2017-11-15 08:38:03 +08:00
  • ba5e893f8f Update the test suite. basil00 2017-11-14 20:41:18 +08:00
  • dbb6b0fe60 Invert the checksum flags. basil00 2017-11-14 20:20:18 +08:00
  • 80b31815b2 Implement "impostor" packets. basil00 2017-11-13 09:38:06 +08:00
  • aea3a3a858 Add support for pseudo IP/TCP/UDP checksums. basil00 2017-11-09 22:11:13 +08:00
  • bbf6a34aa6 Add Loopback and Timestamp fields to addresses. basil00 2017-11-05 12:12:19 +08:00
  • 60c3a26e1c Documentation improvements. basil00 2017-11-01 20:56:51 +08:00
  • 9ae77eb7a5 Loopback packets are now considered outbound only basil00 2017-11-01 20:47:45 +08:00
  • 4c4f586f4d Add WINDIVERT_FLAG_DEBUG for WinDivertOpen() basil00 2017-10-31 10:53:06 +08:00
  • d9fbc813f4 Refactor timeout logic. basil00 2017-10-24 20:22:47 +08:00
  • b2fd7eb891 Bump version to 1.4 basil00 2017-10-22 21:07:06 +08:00
  • 4ae5101d56 Reinject queued packets on WinDivertClose() basil00 2017-10-22 09:40:50 +08:00
  • bd4265897a Increase packet queue limits. basil00 2017-10-21 18:13:58 +08:00
  • 65f366820a Fix context access without lock. basil00 2017-10-21 17:53:15 +08:00
  • 4d68983d25 Ensure that the work queue length is bounded. basil00 2017-10-20 08:17:27 +08:00
  • b4ee1f5b36 Merge pull request #102 from clmul/master basil00 2017-10-20 07:52:18 +08:00
  • 751ed975e3 Fix documentation, the default packet queue length is 1024 clmul 2017-10-19 10:34:04 +08:00
  • c4575b7059 Prevent block-clone-inject infinite loops. basil00 2017-10-18 15:47:50 +08:00
  • 10b8204ed4 Add dummy INF files. basil00 2017-10-17 22:28:46 +08:00
  • f5f3559ae9 Various improvements basil00 2017-10-16 22:56:38 +08:00
  • d778639cbe Optimizations & bug fixes. basil00 2017-10-13 06:47:15 +08:00
  • 11b9a74341 Queued packets now use the PagedPool. basil00 2017-10-11 20:44:01 +08:00
  • 2e1bfa8ca5 WinDivert driver overhaul. basil00 2017-10-10 23:14:37 +08:00
  • 910a2e3050 Add new WINDIVERT_PARAM_QUEUE_SIZE parameter. basil00 2017-10-01 15:33:58 +08:00
  • e69cc09cce Update WinDivert sublayer GUIDs for version 1.3. v1.3.0 basil00 2017-09-24 16:24:37 +08:00
  • 7b7d92cd26 Bump version to WinDivert 1.3.0 basil00 2017-09-24 15:48:38 +08:00
  • 200da2fba1 Complete WinDivertSend() IO requests immediately. basil00 2017-09-23 20:09:04 +08:00
  • c13a27bb4f Update CHANGELOG and VERSION basil00 2017-09-23 16:54:58 +08:00
  • ea95889a30 Possible fix for issue #90. basil00 2017-09-12 20:18:41 +08:00
  • f540e7cc02 Merge pull request #92 from FullyArticulate/master basil00 2017-08-18 11:31:44 +08:00
  • 504132080a Bugfix: If the user's app exits (or crashes) before calling CloseHandle() on the WinDivert handle, the driver's cleanup function cannot make FWPM calls. The cleanup function detects this FWPM error and returns without ever calling the Fwps cleanup functions (which are independent of fwpm). Mike Neuman 2017-08-15 09:32:44 -07:00
  • 135e084ef7 Minor bugfix (streamdump). basil00 2016-01-31 19:42:06 +08:00
  • 657f7fc197 Add streamdump to release-build.sh basil00 2016-01-31 17:49:24 +08:00
  • 3386987f6a Fix compilation of streamdump for MSVC. basil00 2016-01-31 17:21:44 +08:00
  • cd1bfff998 Bump copyright year. basil00 2016-01-19 11:15:48 +08:00
  • 7cfc3e2e72 Further integrate the streamdump sample. basil00 2016-01-19 10:57:47 +08:00
  • bac03085ee Bump version to 1.2.1 basil00 2016-01-14 18:36:49 +08:00
  • eda0a86589 Add a new sample program: streamdump basil00 2016-01-11 10:36:10 +08:00
  • 92869a96c0 Fix ip.TOS and ipv6 comparison bug & bump version. v1.1.8 v1.1.8 basil00 2015-07-28 22:00:13 +08:00
  • 657285bef6 CHANGELOG tweaks & remove old .inf file. v1.2.0-rc basil00 2015-07-26 11:06:32 +08:00
  • 723b0aa8f8 Update the CHANGELOG. basil00 2015-07-25 23:29:49 +08:00
  • f0be301f1d Expand tests & bug fixes. basil00 2015-07-25 23:16:48 +08:00
  • 609ab63594 Add a NO_REPLACE for WinDivertHelperCalcChecksums basil00 2015-07-25 13:24:28 +08:00
  • 82fb0e704c Update documentation. basil00 2015-07-25 12:40:03 +08:00
  • 3fcb692478 Ensure offloaded checksums are zero. basil00 2015-07-25 12:05:23 +08:00
  • 3bcf1ae7a0 Update samples & test programs to the new version. basil00 2015-07-19 11:40:02 +08:00
  • 54f8640b89 Build & bug fixes. basil00 2015-07-18 16:46:21 +08:00
  • a15df9b886 Update and improve the README file. basil00 2015-07-18 12:41:20 +08:00
  • 7666386af2 Update the WinDivert documentation for version 1.2 basil00 2015-07-18 10:46:20 +08:00
  • 130e25c05b Bump copyright year. basil00 2015-07-17 19:13:55 +08:00
  • fdd5825f5d Bump version to WinDivert 1.2 basil00 2015-07-17 18:24:30 +08:00
  • e247f01c43 Remove automatic checksum calculation & legacy API basil00 2015-07-02 21:19:27 +08:00
  • e1ea77f1d3 Implement a filter compiler with new features. basil00 2015-06-21 12:38:49 +08:00
  • 90da7a92c7 - Fix documentation; ipv6 extension headers are now supported. basil00 2014-11-29 13:22:52 +08:00
  • a3026de69c - Add IPv4 DNS request test cases. v1.1.7 basil00 2014-11-18 22:21:18 +08:00
  • 232459cc11 - Document the WinDivertHelperParseIPvXAddress() byte/word orderings. basil00 2014-11-18 00:02:47 +08:00
  • b452e1ce29 - Fix failing test case caused by bad word ordering. basil00 2014-11-17 23:57:49 +08:00
  • bf19fdf2f9 - Add an ICMPv6 test packet. - Fix missing byte-swaps for ICMPv6 fields. - Todo: 1 test-case fails. basil00 2014-11-17 19:25:17 +08:00
  • ecd9ae59d3 - Re-implement WinDivertHelperParseIPv6Address(). Previous version was just too bug-prone, so re-try from scratch. New version works for several tests. - Fix broken WinDivertAToX(). - New test case: IPv6 TCP SYN. basil00 2014-11-16 13:31:07 +08:00
  • 5eaf312730 - Add new WinDivert testing framework. basil00 2014-11-15 15:11:28 +08:00
  • 48075e2e5f - Fix broken implementation of WinDivertHelperParseIPv6Address(). - Fix IPv6 address word/byte ordering between DLL and SYS. basil00 2014-11-15 15:06:16 +08:00
  • 72d83fcb07 - Fix incorrect IPv6 pseudo header definition in the driver. basil00 2014-11-15 13:51:16 +08:00
  • 8d98da751c - WinDivert driver now skips IPv6 extension headers when filtering packets. - windivert_filter() now uses Ndis(Advance/Retreat)NetBufferDataStart() to find packet headers. - NOTE: This new code is not yet very well tested. basil00 2014-11-15 00:57:17 +08:00