GoodbyeDPI requires specific compiler toolkit to compile successfully / GoodbyeDPI требует конкретный инструментарий компилятора для успешной сборки
#759
Open
1 task done
MichaelAgarkov opened this issue
Dec 23, 2024
· 0 comments
I understand I could be banned from the repository if I misusing issue section not for posting bugs, but for question or 'broken website' report. / Я понимаю, что меня могут заблокировать в репозитории, если я буду использовать раздел issue не для сообщений об ошибках, а для вопросов или сообщении о «неработающем веб-сайте».
Operating system / операционная система
Microsoft Windows [Version 10.0.19045.4780]
Describe the bug / Опишите ошибку программы
Здравствуйте, я пытался скомпилировать GoodbyeDPI вручную (чтобы иметь отладочные символы), и сделал всё как было указано в README, но какую бы среду (пробовал MinGW/MinGW-W64/Cygwin/MSYS2) я не использовал, у меня ошибки компиляции, при том все разные.
MinGW:
sh-3.1$ make CPREFIX= BIT64=1 WINDIVERTHEADERS=C:\Users\micha\Downloads\WinDivert\include WINDIVERTLIBS=C:\Users\micha\Downloads\WinDivert\x64
gcc -std=c99 -pie -fPIE -pipe -IC:UsersmichaDownloadsWinDivertinclude -LC:UsersmichaDownloadsWinDivertx64 -O2 -D_FORTIFY_SOURCE=2 -fstack-protector -Wall -Wextra -Wpedantic -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wno-format-nonliteral -Wshadow -Wstrict-aliasing=1 -Wnull-dereference -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wstringop-overflow=4 -Wformat-signedness -Wstrict-overflow=2 -Wcast-align=strict -Wfloat-equal -Wcast-align -Wsign-conversion -c blackwhitelist.c -o blackwhitelist.o
gcc.exe: error: unrecognized command line option '-Wformat-overflow=2'; did you mean '-Wstrict-overflow='?
gcc.exe: error: unrecognized command line option '-Wformat-truncation=2'; did you mean '-Wline-truncation'?
gcc.exe: error: unrecognized command line option '-Wimplicit-fallthrough=3'; did you mean '-Wno-fallthrough'?
gcc.exe: error: unrecognized command line option '-Wstringop-overflow=4'; did you mean '-Wstrict-overflow='?
gcc.exe: error: unrecognized command line option '-Wcast-align=strict'; did you mean '-Wcast-align'?
make: *** [blackwhitelist.o] Error 1
MinGW-W64:
C:\Users\micha\Downloads\GoodbyeDPI\src>C:\mingw64\bin\mingw32-make.exe CPREFIX= BIT64=1 WINDIVERTHEADERS=C:\Users\micha\Downloads\WinDivert\include WINDIVERTLIBS=C:\Users\micha\Downloads\WinDivert\x64
gcc -std=c99 -pie -fPIE -pipe -IC:\Users\micha\Downloads\WinDivert\include -LC:\Users\micha\Downloads\WinDivert\x64 -O2 -D_FORTIFY_SOURCE=2 -fstack-protector -Wall -Wextra -Wpedantic -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wno-format-nonliteral -Wshadow -Wstrict-aliasing=1 -Wnull-dereference -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wstringop-overflow=4 -Wformat-signedness -Wstrict-overflow=2 -Wcast-align=strict -Wfloat-equal -Wcast-align -Wsign-conversion -c blackwhitelist.c -o blackwhitelist.o
gcc: error: unrecognized command line option '-Wformat-overflow=2'; did you mean '-Wstrict-overflow='?
gcc: error: unrecognized command line option '-Wformat-truncation=2'; did you mean '-Wline-truncation'?
gcc: error: unrecognized command line option '-Wimplicit-fallthrough=3'; did you mean '-Wno-fallthrough'?
gcc: error: unrecognized command line option '-Wstringop-overflow=4'; did you mean '-Wstrict-overflow='?
gcc: error: unrecognized command line option '-Wcast-align=strict'; did you mean '-Wcast-align'?
mingw32-make: *** [makefile:48: blackwhitelist.o] Error 1
Cygwin:
sh-5.2$ make CPREFIX= BIT64=1 WINDIVERTHEADERS=C:\Users\micha\Downloads\WinDivert\include WINDIVERTLIBS=C:\Users\micha\Downloads\WinDivert\x64
gcc blackwhitelist.o dnsredir.o fakepackets.o goodbyedpi.o service.o ttltrack.o utils/getline.o utils/repl_str.o goodbyedpi-rc.o -fstack-protector -Wl,-O1,-pie,--dynamicbase,--nxcompat,--sort-common,--as-needed -Wl,--disable-auto-image-base -Wl,--high-entropy-va -Wl,--pic-executable,-e,mainCRTStartup -LC:UsersmichaDownloadsWinDivertx64 -lWinDivert -lws2_32 -l:libssp.a -s -o goodbyedpi.exe
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: unrecognized option '--high-entropy-va'
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: use the --help option for usage information
collect2.exe: error: ld returned 1 exit status
make: *** [goodbyedpi.exe] Error 1
MSYS2 UCRT64:
micha@Michael-PC3 UCRT64 /c/Users/micha/Downloads/GoodbyeDPI/src
$ make CPREFIX= BIT64=1 WINDIVERTHEADERS=C:\Users\micha\Downloads\WinDivert\include WINDIVERTLIBS=C:\Users\micha\Downloads\WinDivert\x64
gcc -std=c99 -pie -fPIE -pipe -IC:UsersmichaDownloadsWinDivertinclude -LC:UsersmichaDownloadsWinDivertx64 -O2 -D_FORTIFY_SOURCE=2 -fstack-protector -Wall -Wextra -Wpedantic -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wno-format-nonliteral -Wshadow -Wstrict-aliasing=1 -Wnull-dereference -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wstringop-overflow=4 -Wformat-signedness -Wstrict-overflow=2 -Wcast-align=strict -Wfloat-equal -Wcast-align -Wsign-conversion -c fakepackets.c -o fakepackets.o
In file included from fakepackets.c:9:
windivert.h:164:6: warning: ISO C99 doesn't support unnamed structs/unions [-Wpedantic]
164 | };
| ^
fakepackets.c: In function 'fake_load_from_sni':
fakepackets.c:416:36: warning: conversion to 'size_t' {aka 'long long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
416 | unsigned char *packet = malloc(packet_size);
| ^~~~~~~~~~~
fakepackets.c:438:62: warning: conversion to 'long long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
438 | memcpy(&packet[part0_size + sni_head_size], domain_name, name_size);
| ^~~~~~~~~
fakepackets.c:440:29: warning: conversion to 'size_t' {aka 'long long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
440 | return fake_add(packet, packet_size);
| ^~~~~~~~~~~
gcc -std=c99 -pie -fPIE -pipe -IC:UsersmichaDownloadsWinDivertinclude -LC:UsersmichaDownloadsWinDivertx64 -O2 -D_FORTIFY_SOURCE=2 -fstack-protector -Wall -Wextra -Wpedantic -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wno-format-nonliteral -Wshadow -Wstrict-aliasing=1 -Wnull-dereference -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wstringop-overflow=4 -Wformat-signedness -Wstrict-overflow=2 -Wcast-align=strict -Wfloat-equal -Wcast-align -Wsign-conversion -c goodbyedpi.c -o goodbyedpi.o
In file included from goodbyedpi.c:15:
windivert.h:164:6: warning: ISO C99 doesn't support unnamed structs/unions [-Wpedantic]
164 | };
| ^
goodbyedpi.c: In function 'init':
goodbyedpi.c:321:36: warning: format '%d' expects argument of type 'int', but argument 2 has type 'DWORD' {aka 'long unsigned int'} [-Wformat=]
321 | printf("Error opening filter: %d %s\n", errorcode, errormessage);
| ~^ ~~~~~~~~~
| | |
| int DWORD {aka long unsigned int}
| %ld
goodbyedpi.c: In function 'main':
goodbyedpi.c:1035:17: warning: string length '4897' is greater than the length '4095' ISO C99 compilers are required to support [-Woverlength-strings]
1035 | "\n");
| ^~~~
goodbyedpi.c:1069:12: warning: format '%u' expects argument of type 'unsigned int', but argument 7 has type 'int' [-Wformat=]
1069 | printf("Block passive: %d\n" /* 1 */
| ^~~~~~~~~~~~~~~~~~~~~
......
1096 | do_fragment_by_sni, /* 5 */
| ~~~~~~~~~~~~~~~~~~
| |
| int
goodbyedpi.c:1074:31: note: format string is defined here
1074 | "Fragment by SNI: %u\n" /* 5 */
| ~^
| |
| unsigned int
| %u
goodbyedpi.c:1421:70: warning: pointer of type 'void *' used in subtraction [-Wpointer-arith]
1421 | current_fragment_size = (void*)host_addr - packet_data;
| ^
goodbyedpi.c:104:23: warning: 'tcp_handle_outgoing' accessing 16 bytes in a region of size 4 [-Wstringop-overflow=]
104 | if ((packet_v4 && tcp_handle_outgoing(&ppIpHdr->SrcAddr, &ppIpHdr->DstAddr, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105 | ppTcpHdr->SrcPort, ppTcpHdr->DstPort, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106 | &tcp_conn_info, 0)) \
| ~~~~~~~~~~~~~~~~~~
goodbyedpi.c:115:9: note: in expansion of macro 'TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF'
115 | TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF() { \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1287:33: note: in expansion of macro 'TCP_HANDLE_OUTGOING_FAKE_PACKET'
1287 | TCP_HANDLE_OUTGOING_FAKE_PACKET(send_fake_https_request);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:104:23: note: referencing argument 1 of type 'uint32_t[4]' {aka 'unsigned int[4]'}
104 | if ((packet_v4 && tcp_handle_outgoing(&ppIpHdr->SrcAddr, &ppIpHdr->DstAddr, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105 | ppTcpHdr->SrcPort, ppTcpHdr->DstPort, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106 | &tcp_conn_info, 0)) \
| ~~~~~~~~~~~~~~~~~~
goodbyedpi.c:115:9: note: in expansion of macro 'TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF'
115 | TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF() { \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1287:33: note: in expansion of macro 'TCP_HANDLE_OUTGOING_FAKE_PACKET'
1287 | TCP_HANDLE_OUTGOING_FAKE_PACKET(send_fake_https_request);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:104:23: warning: 'tcp_handle_outgoing' accessing 16 bytes in a region of size 4 [-Wstringop-overflow=]
104 | if ((packet_v4 && tcp_handle_outgoing(&ppIpHdr->SrcAddr, &ppIpHdr->DstAddr, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105 | ppTcpHdr->SrcPort, ppTcpHdr->DstPort, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106 | &tcp_conn_info, 0)) \
| ~~~~~~~~~~~~~~~~~~
goodbyedpi.c:115:9: note: in expansion of macro 'TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF'
115 | TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF() { \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1287:33: note: in expansion of macro 'TCP_HANDLE_OUTGOING_FAKE_PACKET'
1287 | TCP_HANDLE_OUTGOING_FAKE_PACKET(send_fake_https_request);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:104:23: note: referencing argument 2 of type 'uint32_t[4]' {aka 'unsigned int[4]'}
104 | if ((packet_v4 && tcp_handle_outgoing(&ppIpHdr->SrcAddr, &ppIpHdr->DstAddr, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105 | ppTcpHdr->SrcPort, ppTcpHdr->DstPort, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106 | &tcp_conn_info, 0)) \
| ~~~~~~~~~~~~~~~~~~
goodbyedpi.c:115:9: note: in expansion of macro 'TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF'
115 | TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF() { \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1287:33: note: in expansion of macro 'TCP_HANDLE_OUTGOING_FAKE_PACKET'
1287 | TCP_HANDLE_OUTGOING_FAKE_PACKET(send_fake_https_request);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from goodbyedpi.c:20:
ttltrack.h:19:5: note: in a call to function 'tcp_handle_outgoing'
19 | int tcp_handle_outgoing(uint32_t srcip[4], uint32_t dstip[4],
| ^~~~~~~~~~~~~~~~~~~
goodbyedpi.c:104:23: warning: 'tcp_handle_outgoing' accessing 16 bytes in a region of size 4 [-Wstringop-overflow=]
104 | if ((packet_v4 && tcp_handle_outgoing(&ppIpHdr->SrcAddr, &ppIpHdr->DstAddr, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105 | ppTcpHdr->SrcPort, ppTcpHdr->DstPort, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106 | &tcp_conn_info, 0)) \
| ~~~~~~~~~~~~~~~~~~
goodbyedpi.c:115:9: note: in expansion of macro 'TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF'
115 | TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF() { \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1328:29: note: in expansion of macro 'TCP_HANDLE_OUTGOING_FAKE_PACKET'
1328 | TCP_HANDLE_OUTGOING_FAKE_PACKET(send_fake_http_request);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:104:23: note: referencing argument 1 of type 'uint32_t[4]' {aka 'unsigned int[4]'}
104 | if ((packet_v4 && tcp_handle_outgoing(&ppIpHdr->SrcAddr, &ppIpHdr->DstAddr, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105 | ppTcpHdr->SrcPort, ppTcpHdr->DstPort, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106 | &tcp_conn_info, 0)) \
| ~~~~~~~~~~~~~~~~~~
goodbyedpi.c:115:9: note: in expansion of macro 'TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF'
115 | TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF() { \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1328:29: note: in expansion of macro 'TCP_HANDLE_OUTGOING_FAKE_PACKET'
1328 | TCP_HANDLE_OUTGOING_FAKE_PACKET(send_fake_http_request);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:104:23: warning: 'tcp_handle_outgoing' accessing 16 bytes in a region of size 4 [-Wstringop-overflow=]
104 | if ((packet_v4 && tcp_handle_outgoing(&ppIpHdr->SrcAddr, &ppIpHdr->DstAddr, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105 | ppTcpHdr->SrcPort, ppTcpHdr->DstPort, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106 | &tcp_conn_info, 0)) \
| ~~~~~~~~~~~~~~~~~~
goodbyedpi.c:115:9: note: in expansion of macro 'TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF'
115 | TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF() { \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1328:29: note: in expansion of macro 'TCP_HANDLE_OUTGOING_FAKE_PACKET'
1328 | TCP_HANDLE_OUTGOING_FAKE_PACKET(send_fake_http_request);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:104:23: note: referencing argument 2 of type 'uint32_t[4]' {aka 'unsigned int[4]'}
104 | if ((packet_v4 && tcp_handle_outgoing(&ppIpHdr->SrcAddr, &ppIpHdr->DstAddr, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105 | ppTcpHdr->SrcPort, ppTcpHdr->DstPort, \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106 | &tcp_conn_info, 0)) \
| ~~~~~~~~~~~~~~~~~~
goodbyedpi.c:115:9: note: in expansion of macro 'TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF'
115 | TCP_HANDLE_OUTGOING_TTL_PARSE_PACKET_IF() { \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1328:29: note: in expansion of macro 'TCP_HANDLE_OUTGOING_FAKE_PACKET'
1328 | TCP_HANDLE_OUTGOING_FAKE_PACKET(send_fake_http_request);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ttltrack.h:19:5: note: in a call to function 'tcp_handle_outgoing'
19 | int tcp_handle_outgoing(uint32_t srcip[4], uint32_t dstip[4],
| ^~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1454:45: warning: 'tcp_handle_incoming' accessing 16 bytes in a region of size 4 [-Wstringop-overflow=]
1454 | if (!((packet_v4 && tcp_handle_incoming(&ppIpHdr->SrcAddr, &ppIpHdr->DstAddr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1455 | ppTcpHdr->SrcPort, ppTcpHdr->DstPort,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1456 | 0, ppIpHdr->TTL))
| ~~~~~~~~~~~~~~~~
goodbyedpi.c:1454:45: note: referencing argument 1 of type 'uint32_t[4]' {aka 'unsigned int[4]'}
goodbyedpi.c:1454:45: warning: 'tcp_handle_incoming' accessing 16 bytes in a region of size 4 [-Wstringop-overflow=]
goodbyedpi.c:1454:45: note: referencing argument 2 of type 'uint32_t[4]' {aka 'unsigned int[4]'}
ttltrack.h:15:5: note: in a call to function 'tcp_handle_incoming'
15 | int tcp_handle_incoming(uint32_t srcip[4], uint32_t dstip[4],
| ^~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1486:39: warning: 'dns_handle_incoming' reading 16 bytes from a region of size 4 [-Wstringop-overread]
1486 | if ((packet_v4 && dns_handle_incoming(&ppIpHdr->DstAddr, ppUdpHdr->DstPort,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1487 | packet_data, packet_dataLen,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1488 | &dns_conn_info, 0))
| ~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1486:39: note: referencing argument 1 of type 'const uint32_t[4]' {aka 'const unsigned int[4]'}
In file included from goodbyedpi.c:19:
dnsredir.h:27:5: note: in a call to function 'dns_handle_incoming'
27 | int dns_handle_incoming(const uint32_t srcip[4], const uint16_t srcport,
| ^~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1516:39: warning: 'dns_handle_outgoing' reading 16 bytes from a region of size 4 [-Wstringop-overread]
1516 | if ((packet_v4 && dns_handle_outgoing(&ppIpHdr->SrcAddr, ppUdpHdr->SrcPort,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1517 | &ppIpHdr->DstAddr, ppUdpHdr->DstPort,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1518 | packet_data, packet_dataLen, 0))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goodbyedpi.c:1516:39: note: referencing argument 1 of type 'const uint32_t[4]' {aka 'const unsigned int[4]'}
goodbyedpi.c:1516:39: warning: 'dns_handle_outgoing' reading 16 bytes from a region of size 4 [-Wstringop-overread]
goodbyedpi.c:1516:39: note: referencing argument 3 of type 'const uint32_t[4]' {aka 'const unsigned int[4]'}
dnsredir.h:31:5: note: in a call to function 'dns_handle_outgoing'
31 | int dns_handle_outgoing(const uint32_t srcip[4], const uint16_t srcport,
| ^~~~~~~~~~~~~~~~~~~
gcc -std=c99 -pie -fPIE -pipe -IC:UsersmichaDownloadsWinDivertinclude -LC:UsersmichaDownloadsWinDivertx64 -O2 -D_FORTIFY_SOURCE=2 -fstack-protector -Wall -Wextra -Wpedantic -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wno-format-nonliteral -Wshadow -Wstrict-aliasing=1 -Wnull-dereference -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wstringop-overflow=4 -Wformat-signedness -Wstrict-overflow=2 -Wcast-align=strict -Wfloat-equal -Wcast-align -Wsign-conversion -c service.c -o service.o
gcc -std=c99 -pie -fPIE -pipe -IC:UsersmichaDownloadsWinDivertinclude -LC:UsersmichaDownloadsWinDivertx64 -O2 -D_FORTIFY_SOURCE=2 -fstack-protector -Wall -Wextra -Wpedantic -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wno-format-nonliteral -Wshadow -Wstrict-aliasing=1 -Wnull-dereference -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wstringop-overflow=4 -Wformat-signedness -Wstrict-overflow=2 -Wcast-align=strict -Wfloat-equal -Wcast-align -Wsign-conversion -c ttltrack.c -o ttltrack.o
gcc -std=c99 -pie -fPIE -pipe -IC:UsersmichaDownloadsWinDivertinclude -LC:UsersmichaDownloadsWinDivertx64 -O2 -D_FORTIFY_SOURCE=2 -fstack-protector -Wall -Wextra -Wpedantic -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wno-format-nonliteral -Wshadow -Wstrict-aliasing=1 -Wnull-dereference -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wstringop-overflow=4 -Wformat-signedness -Wstrict-overflow=2 -Wcast-align=strict -Wfloat-equal -Wcast-align -Wsign-conversion -c utils/getline.c -o utils/getline.o
gcc -std=c99 -pie -fPIE -pipe -IC:UsersmichaDownloadsWinDivertinclude -LC:UsersmichaDownloadsWinDivertx64 -O2 -D_FORTIFY_SOURCE=2 -fstack-protector -Wall -Wextra -Wpedantic -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wformat-security -Wno-format-nonliteral -Wshadow -Wstrict-aliasing=1 -Wnull-dereference -Warray-bounds=2 -Wimplicit-fallthrough=3 -Wstringop-overflow=4 -Wformat-signedness -Wstrict-overflow=2 -Wcast-align=strict -Wfloat-equal -Wcast-align -Wsign-conversion -c utils/repl_str.c -o utils/repl_str.o
windres goodbyedpi-rc.rc goodbyedpi-rc.o
gcc blackwhitelist.o dnsredir.o fakepackets.o goodbyedpi.o service.o ttltrack.o utils/getline.o utils/repl_str.o goodbyedpi-rc.o -fstack-protector -Wl,-O1,-pie,--dynamicbase,--nxcompat,--sort-common,--as-needed -Wl,--disable-auto-image-base -Wl,--high-entropy-va -Wl,--pic-executable,-e,mainCRTStartup -LC:UsersmichaDownloadsWinDivertx64 -lWinDivert -lws2_32 -l:libssp.a -s -o goodbyedpi.exe
C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lWinDivert: No such file or directory
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile:56: goodbyedpi.exe] Error 1
Можете подсказать, какую конкретно среду компилятора вы используете для компиляции GoodbyeDPI? Заранее спасибо.
CAPTCHA
Operating system / операционная система
Microsoft Windows [Version 10.0.19045.4780]
Describe the bug / Опишите ошибку программы
Здравствуйте, я пытался скомпилировать GoodbyeDPI вручную (чтобы иметь отладочные символы), и сделал всё как было указано в README, но какую бы среду (пробовал MinGW/MinGW-W64/Cygwin/MSYS2) я не использовал, у меня ошибки компиляции, при том все разные.
MinGW:
MinGW-W64:
Cygwin:
MSYS2 UCRT64:
Можете подсказать, какую конкретно среду компилятора вы используете для компиляции GoodbyeDPI? Заранее спасибо.