Сборка 1.21.7 с модулем naxsi

oradba25 nginx-forum на forum.nginx.org
Пн Май 30 06:17:33 UTC 2022


Здравствуйте

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
Но тут вроде все безопасно

В самом 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

IPv6 у нас не ходит, и возможно, это пролезет
Но как-то корявенько

Может подскажете, как решить более штатными средствами

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,294312,294312#msg-294312



Подробная информация о списке рассылки nginx-ru