Commit Graph

183 Commits

Author SHA1 Message Date
ValdikSS 2f0429027d Small refactoring 2017-09-04 22:14:17 +03:00
ValdikSS feb03c74c8 Print message of HTTP fragmentation > 2 incompatibility.
We can't reliably distinguish HTTP data from other data on port 80 when fragmentation is used.
HTTP method code has a special case which tries to find HTTP method when fragmentation = 1 or 2 is used,
but not for other values.
2017-08-28 11:46:59 +03:00
ValdikSS 4c13435ee3 Handle Host header after User-Agent header in the HTTP packet. Fixes #29.
Most browsers would put Host header as early as they could, but not Microsoft Edge.
2017-08-28 11:45:05 +03:00
ValdikSS ee665ee3bd Search for HTTP methods in fragmented packets with Window Size 1 or 2. Fixes #30. 2017-08-28 11:43:55 +03:00
ValdikSS 00e4964e73 Remove webdav HTTP methods. They are rarely used and less probably filtered. 2017-08-28 11:42:30 +03:00
ValdikSS 2fe377a23f Do not handle traffic from private IP ranges 2017-08-15 14:09:47 +03:00
ValdikSS b74c974235 Print error message if filter initialization fails 2017-08-15 14:09:06 +03:00
ValdikSS 96fb5f9516 Block passive DPI packets only with "Connection: close". Fixes #17.
Some servers set "don't fragment" flag and never increase TCP ID
field. If they send HTTP redirection to another website, it would
be blocked by the program.
This is a hack to block redirects only with "Connection: close"
header as presumably legal redirects are most likely would
use keep-alive.
2017-08-15 08:28:25 +03:00
ValdikSS c1ca4f9804 Merge pull request #10 from beatcracker/patch-1
Fixed typos
2017-07-10 20:01:56 +04:00
beatcracker 13261e1a92 Fixed typos 2017-07-10 18:44:56 +03:00
ValdikSS 4387e7c690 Merge pull request #7 from pash7ka/patch-2
bugfix: wrong config file name
2017-06-14 12:23:33 +04:00
Pavel Rubin 08902b9a57 bugfix: wrong config file name 2017-06-14 02:13:39 +03:00
ValdikSS f5ac7c0d67 Change TCP Window Size based on SrcPort, not DstPort.
When HTTPS fragment size was set, the program always used it for HTTP, even
if HTTP fragmentation was disabled. This is due to a bug which checked DstPort,
not SrcPort, and the packets passed DstPort != htons(80) HTTPS check.
2017-06-11 21:50:22 +03:00
ValdikSS 2a5e4a071b Create README.md 2017-06-11 08:35:15 +03:00
Pavel Rubin ae3abff0b2 Update README.md
Guide to install as a windows service
2017-06-04 19:22:33 +03:00
ValdikSS d9e27f193c Reimplement -s option to fix unACKed data
Old code used to reduce packet size by one byte to remove space in
HTTP Host header. This introduces one unACKed byte which OS later
tried to send to the host. This byte was \n (the last byte in original
packet) which broke POST requests.

New code in this commit moves "stolen" space in the end of User-Agent
header value and do not reduce packet size anymore.
User-Agent value is used because not all web servers are compatible
with additional space in the end of Host value.

Fix #3
2017-05-25 00:25:21 +03:00
ValdikSS c721ab0506 Always check for valid HTTP method before any modifications 2017-05-25 00:18:01 +03:00
ValdikSS 70765fa895 New option: additional space between Method and Request-URI (enables -s, may break sites) 2017-05-23 13:30:46 +03:00
ValdikSS a2d5be1eed const char for window size function 2017-05-23 13:23:20 +03:00
ValdikSS f08bbcc36e Update Readme 2017-05-20 12:27:43 +03:00
ValdikSS 30fd25bc24 Replace char* with const char* where appropriate 2017-05-20 12:25:20 +03:00
ValdikSS 9fea771d2c Less invasive Passive DPI block. Fix #2. 2017-05-20 12:24:29 +03:00
ValdikSS bb05d357a7 Fix for getopt -4 2017-05-18 00:12:49 +03:00
ValdikSS 609d8aa037 New mode -3 (old -3 is now -4) 2017-05-17 22:04:27 +03:00
ValdikSS 0787b2a5f0 Update README, Makefile and icon 2017-05-17 21:44:19 +03:00
ValdikSS 46af3c2edb Switch to getopt() and slightly update fragmentation code 2017-05-17 21:33:44 +03:00
ValdikSS 6b40623dce Remove old code 2017-05-17 21:32:27 +03:00
ValdikSS c43d5477b5 Use EXIT_SUCCESS and EXIT_FAILURE 2017-05-17 21:31:42 +03:00
ValdikSS cc0e55812e Update readme and Makefile 2017-05-17 15:57:15 +03:00
ValdikSS dc8fad8d36 Readme typos 2017-05-17 00:05:00 +03:00
ValdikSS 963e0c3525 Update readme 2017-05-16 22:52:34 +03:00
ValdikSS 5bb0e65d20 Initial commit 2017-05-16 22:33:24 +03:00
ValdikSS b7317b51d5 Initial commit 2017-05-16 21:48:52 +03:00