> On 30 May 2022, at 10:17, oradba25 <nginx-fo...@forum.nginx.org> wrote:
> 
> Здравствуйте
> 
> Linux 3.10.0-1160.66.1.el7.x86_64
> 
> Компиляция/сборка самого nginx проходит без проблем
> При попытке компилить сам модуль naxsi выходит ошибка
> cc -c -fPIC -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror
> -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I
> src/http -I src/http/modules -I src/http/v2 -I src/mail -I src/stream \
>        -o objs/addon/naxsi_src/naxsi_runtime.o \
>        ../naxsi/naxsi_src/naxsi_runtime.c
> In file included from src/event/ngx_event.h:526:0,
>                 from ../naxsi/naxsi_src/naxsi.h:18,
>                 from ../naxsi/naxsi_src/naxsi_runtime.c:8:
> src/event/ngx_event_udp.h:37:27: ошибка: field «pkt6» has incomplete type
>     struct in6_pktinfo    pkt6;
>                           ^
> make[1]: *** [objs/addon/naxsi_src/naxsi_runtime.o] Ошибка 1
> 
> Поиском попадалось, что это возможно из-за более раннего включения системных
> заголовков, чем заголовки nginx
> Но тут вроде все безопасно
> 

Объяснение здесь:
https://trac.nginx.org/nginx/ticket/2312#comment:4
http://nginx.org/en/docs/dev/development_guide.html#include_files

> В самом naxsi.h
> #include "ext/libinjection/libinjection_sqli.h"
> #include "ext/libinjection/libinjection_xss.h"
> #include <ctype.h>
> #include <nginx.h>
> #include <ngx_config.h>
> #include <ngx_core.h>
> #include <ngx_event.h>           <--- Вот тут и ломается
> #include <ngx_http.h>
> #include <ngx_http_core_module.h>
> #include <ngx_md5.h>
> #include <pcre.h>
> 
> В двух первых подключается только string.h
> 
> Лечится комментированием в ngx_event_udp.h
> #if (NGX_HAVE_INET6 && NGX_HAVE_IPV6_RECVPKTINFO)
> /*    struct in6_pktinfo    pkt6;*/
> #endif
> 

-- 
Sergey Kandaurov

_______________________________________________
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org

Ответить