mirror of
https://github.com/ValdikSS/GoodbyeDPI.git
synced 2024-11-29 05:30:18 +01:00
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.
This commit is contained in:
parent
2a5e4a071b
commit
f5ac7c0d67
@ -355,11 +355,11 @@ int main(int argc, char *argv[]) {
|
|||||||
if (addr.Direction == WINDIVERT_DIRECTION_INBOUND &&
|
if (addr.Direction == WINDIVERT_DIRECTION_INBOUND &&
|
||||||
ppTcpHdr->Syn == 1) {
|
ppTcpHdr->Syn == 1) {
|
||||||
//printf("Changing Window Size!\n");
|
//printf("Changing Window Size!\n");
|
||||||
if (do_fragment_http && ppTcpHdr->DstPort == htons(80)) {
|
if (do_fragment_http && ppTcpHdr->SrcPort == htons(80)) {
|
||||||
change_window_size(packet, http_fragment_size);
|
change_window_size(packet, http_fragment_size);
|
||||||
WinDivertHelperCalcChecksums(packet, packetLen, 0);
|
WinDivertHelperCalcChecksums(packet, packetLen, 0);
|
||||||
}
|
}
|
||||||
else if (do_fragment_https && ppTcpHdr->DstPort != htons(80)) {
|
else if (do_fragment_https && ppTcpHdr->SrcPort != htons(80)) {
|
||||||
change_window_size(packet, https_fragment_size);
|
change_window_size(packet, https_fragment_size);
|
||||||
WinDivertHelperCalcChecksums(packet, packetLen, 0);
|
WinDivertHelperCalcChecksums(packet, packetLen, 0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user