mirror of
https://github.com/ADD-SP/ngx_waf.git
synced 2026-04-26 22:15:55 +03:00
[GH-ISSUE #38] 编译过程中提示ngx_http_waf_module_core.h: No such file or directory #19
Labels
No labels
MacOS
Nginx
OpenResty
Tengine
bug
documentation
enhancement
needs-investigation
pull-request
question
stale
stale
stale
timeout
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ngx_waf#19
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @stepwen on GitHub (May 7, 2021).
Original GitHub issue: https://github.com/ADD-SP/ngx_waf/issues/38
如何触发错误。
ngx_waf -master 5.2.0
`nginx 1.9.9
执行./configure --add-module=/usr/local/src/ngx_waf --with-cc-opt='-O2 -std=c99 -DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/zlib/include -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl111/include'
正常,后执行make报错,报错信息如下:
-o objs/src/http/modules/ngx_http_upstream_ip_hash_module.o
src/http/modules/ngx_http_upstream_ip_hash_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -O2 -std=c99 -DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/zlib/include -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl111/include -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules
-o objs/src/http/modules/ngx_http_upstream_least_conn_module.o
src/http/modules/ngx_http_upstream_least_conn_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -O2 -std=c99 -DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/zlib/include -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl111/include -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules
-o objs/src/http/modules/ngx_http_upstream_keepalive_module.o
src/http/modules/ngx_http_upstream_keepalive_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -O2 -std=c99 -DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/zlib/include -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl111/include -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules
-o objs/src/http/modules/ngx_http_upstream_zone_module.o
src/http/modules/ngx_http_upstream_zone_module.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -O2 -std=c99 -DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/zlib/include -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl111/include -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/mail -I src/stream
-o objs/addon/src/ngx_http_waf_module_core.o
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:38: fatal error: ngx_http_waf_module_core.h: No such file or directory
#include <ngx_http_waf_module_core.h>
^
compilation terminated.
make[1]: *** [objs/addon/src/ngx_http_waf_module_core.o] Error 1
make[1]: Leaving directory `/data/nginx-1.9.9'
make: *** [build] Error 2
操作系统:centos7
@ADD-SP commented on GitHub (May 7, 2021):
观察到您的 nginx 的版本为 1.9.9,本模块不向低于(不含本级) nginx-1.18.0 的版本提供支持,请尝试使用合适的版本编译。
@stepwen commented on GitHub (May 7, 2021):
切换成nginx1.19.10之后make仍然报错,报错信息如下:
src/core/ngx_resolver.h:73:5: error: unknown type name ‘u_short’
u_short weight;
^
src/core/ngx_resolver.h:74:5: error: unknown type name ‘u_short’
u_short port;
^
src/core/ngx_resolver.h:80:5: error: unknown type name ‘u_short’
u_short priority;
^
src/core/ngx_resolver.h:81:5: error: unknown type name ‘u_short’
u_short weight;
^
src/core/ngx_resolver.h:82:5: error: unknown type name ‘u_short’
u_short port;
^
src/core/ngx_resolver.h:97:5: error: unknown type name ‘u_char’
u_char name;
^
src/core/ngx_resolver.h:104:5: error: unknown type name ‘u_short’
u_short nlen;
^
src/core/ngx_resolver.h:105:5: error: unknown type name ‘u_short’
u_short qlen;
^
src/core/ngx_resolver.h:107:5: error: unknown type name ‘u_char’
u_char query;
^
src/core/ngx_resolver.h:109:5: error: unknown type name ‘u_char’
u_char query6;
^
src/core/ngx_resolver.h:115:9: error: unknown type name ‘u_char’
u_char cname;
^
src/core/ngx_resolver.h:119:5: error: unknown type name ‘u_char’
u_char code;
^
src/core/ngx_resolver.h:120:5: error: unknown type name ‘u_short’
u_short naddrs;
^
src/core/ngx_resolver.h:121:5: error: unknown type name ‘u_short’
u_short nsrvs;
^
src/core/ngx_resolver.h:122:5: error: unknown type name ‘u_short’
u_short cnlen;
^
src/core/ngx_resolver.h:130:5: error: unknown type name ‘u_short’
u_short naddrs6;
^
In file included from src/core/ngx_core.h:89:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:11,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/core/ngx_open_file_cache.h:60:5: error: unknown type name ‘u_char’
u_char name;
^
In file included from src/core/ngx_core.h:90:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:11,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/os/unix/ngx_os.h:19:53: error: unknown type name ‘u_char’
typedef ssize_t (ngx_recv_pt)(ngx_connection_t c, u_char buf, size_t size);
^
src/os/unix/ngx_os.h:22:53: error: unknown type name ‘u_char’
typedef ssize_t (ngx_send_pt)(ngx_connection_t c, u_char buf, size_t size);
^
src/os/unix/ngx_os.h:27:5: error: unknown type name ‘ngx_recv_pt’
ngx_recv_pt recv;
^
src/os/unix/ngx_os.h:29:5: error: unknown type name ‘ngx_recv_pt’
ngx_recv_pt udp_recv;
^
src/os/unix/ngx_os.h:30:5: error: unknown type name ‘ngx_send_pt’
ngx_send_pt send;
^
src/os/unix/ngx_os.h:31:5: error: unknown type name ‘ngx_send_pt’
ngx_send_pt udp_send;
^
src/os/unix/ngx_os.h:46:44: error: unknown type name ‘u_char’
ssize_t ngx_unix_recv(ngx_connection_t c, u_char buf, size_t size);
^
src/os/unix/ngx_os.h:48:48: error: unknown type name ‘u_char’
ssize_t ngx_udp_unix_recv(ngx_connection_t c, u_char buf, size_t size);
^
src/os/unix/ngx_os.h:49:44: error: unknown type name ‘u_char’
ssize_t ngx_unix_send(ngx_connection_t c, u_char buf, size_t size);
^
src/os/unix/ngx_os.h:52:48: error: unknown type name ‘u_char’
ssize_t ngx_udp_unix_send(ngx_connection_t c, u_char buf, size_t size);
^
In file included from src/core/ngx_core.h:91:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:11,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/core/ngx_connection.h:129:5: error: unknown type name ‘ngx_recv_pt’
ngx_recv_pt recv;
^
src/core/ngx_connection.h:130:5: error: unknown type name ‘ngx_send_pt’
ngx_send_pt send;
^
In file included from src/core/ngx_core.h:92:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:11,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/core/ngx_syslog.h:24:1: error: unknown type name ‘u_char’
u_char ngx_syslog_add_header(ngx_syslog_peer_t peer, u_char buf);
^
src/core/ngx_syslog.h:24:56: error: unknown type name ‘u_char’
u_char ngx_syslog_add_header(ngx_syslog_peer_t peer, u_char buf);
^
src/core/ngx_syslog.h:25:58: error: unknown type name ‘u_char’
void ngx_syslog_writer(ngx_log_t log, ngx_uint_t level, u_char buf,
^
src/core/ngx_syslog.h:27:50: error: unknown type name ‘u_char’
ssize_t ngx_syslog_send(ngx_syslog_peer_t peer, u_char buf, size_t len);
^
In file included from src/core/ngx_core.h:93:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:11,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/core/ngx_proxy_protocol.h:27:1: error: unknown type name ‘u_char’
u_char ngx_proxy_protocol_read(ngx_connection_t c, u_char buf,
^
src/core/ngx_proxy_protocol.h:27:54: error: unknown type name ‘u_char’
u_char ngx_proxy_protocol_read(ngx_connection_t c, u_char buf,
^
src/core/ngx_proxy_protocol.h:28:5: error: unknown type name ‘u_char’
u_char last);
^
src/core/ngx_proxy_protocol.h:29:1: error: unknown type name ‘u_char’
u_char ngx_proxy_protocol_write(ngx_connection_t c, u_char buf,
^
src/core/ngx_proxy_protocol.h:29:55: error: unknown type name ‘u_char’
u_char ngx_proxy_protocol_write(ngx_connection_t c, u_char buf,
^
src/core/ngx_proxy_protocol.h:30:5: error: unknown type name ‘u_char’
u_char last);
^
In file included from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:12:0,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/http/ngx_http.h:26:1: error: unknown type name ‘u_char’
typedef u_char (ngx_http_log_handler_pt)(ngx_http_request_t r,
^
src/http/ngx_http.h:27:29: error: unknown type name ‘u_char’
ngx_http_request_t sr, u_char buf, size_t len);
^
In file included from src/http/ngx_http.h:32:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:12,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/http/ngx_http_request.h:279:5: error: unknown type name ‘u_char’
u_char content_type_lowcase;
^
src/http/ngx_http_request.h:433:5: error: unknown type name ‘u_char’
u_char captures_data;
^
src/http/ngx_http_request.h:449:5: error: unknown type name ‘ngx_http_log_handler_pt’
ngx_http_log_handler_pt log_handler;
^
src/http/ngx_http_request.h:571:5: error: unknown type name ‘u_char’
u_char lowcase_header[NGX_HTTP_LC_HEADER_LEN];
^
src/http/ngx_http_request.h:573:5: error: unknown type name ‘u_char’
u_char header_name_start;
^
src/http/ngx_http_request.h:574:5: error: unknown type name ‘u_char’
u_char header_name_end;
^
src/http/ngx_http_request.h:575:5: error: unknown type name ‘u_char’
u_char header_start;
^
src/http/ngx_http_request.h:576:5: error: unknown type name ‘u_char’
u_char header_end;
^
src/http/ngx_http_request.h:583:5: error: unknown type name ‘u_char’
u_char uri_start;
^
src/http/ngx_http_request.h:584:5: error: unknown type name ‘u_char’
u_char uri_end;
^
src/http/ngx_http_request.h:585:5: error: unknown type name ‘u_char’
u_char uri_ext;
^
src/http/ngx_http_request.h:586:5: error: unknown type name ‘u_char’
u_char args_start;
^
src/http/ngx_http_request.h:587:5: error: unknown type name ‘u_char’
u_char request_start;
^
src/http/ngx_http_request.h:588:5: error: unknown type name ‘u_char’
u_char request_end;
^
src/http/ngx_http_request.h:589:5: error: unknown type name ‘u_char’
u_char method_end;
^
src/http/ngx_http_request.h:590:5: error: unknown type name ‘u_char’
u_char schema_start;
^
src/http/ngx_http_request.h:591:5: error: unknown type name ‘u_char’
u_char schema_end;
^
src/http/ngx_http_request.h:592:5: error: unknown type name ‘u_char’
u_char host_start;
^
src/http/ngx_http_request.h:593:5: error: unknown type name ‘u_char’
u_char host_end;
^
src/http/ngx_http_request.h:594:5: error: unknown type name ‘u_char’
u_char port_start;
^
src/http/ngx_http_request.h:595:5: error: unknown type name ‘u_char’
u_char port_end;
^
In file included from src/http/ngx_http.h:33:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:12,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/http/ngx_http_script.h:18:5: error: unknown type name ‘u_char’
u_char ip;
^
src/http/ngx_http_script.h:19:5: error: unknown type name ‘u_char’
u_char pos;
^
src/http/ngx_http_script.h:26:5: error: unknown type name ‘u_char’
u_char args;
^
src/http/ngx_http_script.h:232:1: error: unknown type name ‘u_char’
u_char ngx_http_script_run(ngx_http_request_t r, ngx_str_t value,
^
In file included from src/http/ngx_http_upstream.h:14:0,
from src/http/ngx_http.h:34,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:12,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/event/ngx_event.h:442:5: error: unknown type name ‘u_char’
u_char name;
^
src/event/ngx_event.h:508:1: error: unknown type name ‘u_char’
u_char ngx_accept_log_error(ngx_log_t log, u_char buf, size_t len);
^
src/event/ngx_event.h:508:46: error: unknown type name ‘u_char’
u_char ngx_accept_log_error(ngx_log_t log, u_char buf, size_t len);
^
In file included from src/http/ngx_http.h:34:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:12,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/http/ngx_http_upstream.h:129:5: error: unknown type name ‘u_char’
u_char file_name;
^
In file included from src/http/ngx_http.h:36:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:12,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/http/ngx_http_core_module.h:186:5: error: unknown type name ‘u_char’
u_char file_name;
^
src/http/ngx_http_core_module.h:451:5: error: unknown type name ‘u_char’
u_char file_name;
^
src/http/ngx_http_core_module.h:465:5: error: unknown type name ‘u_char’
u_char auto_redirect;
^
src/http/ngx_http_core_module.h:466:5: error: unknown type name ‘u_char’
u_char len;
^
src/http/ngx_http_core_module.h:467:5: error: unknown type name ‘u_char’
u_char name[1];
^
src/http/ngx_http_core_module.h:495:1: error: unknown type name ‘u_char’
u_char ngx_http_map_uri_to_path(ngx_http_request_t r, ngx_str_t name,
^
In file included from src/http/ngx_http.h:42:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:12,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/http/ngx_http_cache.h:43:5: error: unknown type name ‘u_char’
u_char key[NGX_HTTP_CACHE_KEY_LEN
^
src/http/ngx_http_cache.h:69:5: error: unknown type name ‘u_char’
u_char key[NGX_HTTP_CACHE_KEY_LEN];
^
src/http/ngx_http_cache.h:70:5: error: unknown type name ‘u_char’
u_char main[NGX_HTTP_CACHE_KEY_LEN];
^
src/http/ngx_http_cache.h:81:5: error: unknown type name ‘u_char’
u_char variant[NGX_HTTP_CACHE_KEY_LEN];
^
src/http/ngx_http_cache.h:136:5: error: unknown type name ‘u_short’
u_short valid_msec;
^
src/http/ngx_http_cache.h:137:5: error: unknown type name ‘u_short’
u_short header_start;
^
src/http/ngx_http_cache.h:138:5: error: unknown type name ‘u_short’
u_short body_start;
^
src/http/ngx_http_cache.h:139:5: error: unknown type name ‘u_char’
u_char etag_len;
^
src/http/ngx_http_cache.h:140:5: error: unknown type name ‘u_char’
u_char etag[NGX_HTTP_CACHE_ETAG_LEN];
^
src/http/ngx_http_cache.h:141:5: error: unknown type name ‘u_char’
u_char vary_len;
^
src/http/ngx_http_cache.h:142:5: error: unknown type name ‘u_char’
u_char vary[NGX_HTTP_CACHE_VARY_LEN];
^
src/http/ngx_http_cache.h:143:5: error: unknown type name ‘u_char’
u_char variant[NGX_HTTP_CACHE_KEY_LEN];
^
src/http/ngx_http_cache.h:194:65: error: unknown type name ‘u_char’
ngx_int_t ngx_http_file_cache_set_header(ngx_http_request_t r, u_char buf);
^
In file included from src/http/ngx_http.h:45:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:12,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/http/modules/ngx_http_ssi_filter_module.h:42:5: error: unknown type name ‘u_char’
u_char pos;
^
src/http/modules/ngx_http_ssi_filter_module.h:43:5: error: unknown type name ‘u_char’
u_char copy_start;
^
src/http/modules/ngx_http_ssi_filter_module.h:44:5: error: unknown type name ‘u_char’
u_char copy_end;
^
src/http/modules/ngx_http_ssi_filter_module.h:71:5: error: unknown type name ‘u_char’
u_char captures_data;
^
In file included from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:12:0,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
src/http/ngx_http.h:70:5: error: unknown type name ‘u_char’
u_char start;
^
src/http/ngx_http.h:71:5: error: unknown type name ‘u_char’
u_char end;
^
src/http/ngx_http.h:110:47: error: unknown type name ‘u_char’
ngx_int_t ngx_http_arg(ngx_http_request_t r, u_char name, size_t len,
^
In file included from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:16:0,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_type.h:97:5: error: unknown type name ‘u_char’
u_char key; /< 用于哈希的关键字 /
^
In file included from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:16:0,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_type.h:103:13: error: unknown type name ‘u_char’
u_char rule_detail; /< 被匹配到的规则细节 /
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_type.h:187:5: error: unknown type name ‘u_char’
u_char rule_type[128]; /< 触发的规则类型 */
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_type.h:188:5: error: unknown type name ‘u_char’
u_char rule_deatils[NGX_HTTP_WAF_RULE_MAX_LEN]; /< 触发的规则内容 /
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_type.h:243:5: error: unknown type name ‘u_char’
u_char text[32]; /< 点分十进制表示法 */
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_type.h:257:5: error: unknown type name ‘u_char’
u_char text[64]; /< 冒号十六进制表示法 /
^
In file included from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:15:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:17,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h:47:29: error: unknown type name ‘u_char’
static ngx_int_t parse_time(u_char str);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h:55:29: error: unknown type name ‘u_char’
static ngx_int_t parse_size(u_char str);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h:67:48: error: unknown type name ‘u_char’
static ngx_int_t ngx_str_split(ngx_str_t str, u_char sep, size_t max_len, UT_array array);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h:90:23: error: unknown type name ‘u_char’
static char to_c_str(u_char destination, ngx_str_t ngx_str);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h: In function ‘parse_ipv4’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h:115:5: error: unknown type name ‘u_char’
u_char c = ipv4->text;
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h: In function ‘parse_ipv6’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h:199:5: error: unknown type name ‘u_char’
u_char c = ipv6->text;
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h: At top level:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h:268:29: error: unknown type name ‘u_char’
static ngx_int_t parse_time(u_char str) {
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h:292:29: error: unknown type name ‘u_char’
static ngx_int_t parse_size(u_char str) {
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h:315:48: error: unknown type name ‘u_char’
static ngx_int_t ngx_str_split(ngx_str_t str, u_char sep, size_t max_len, UT_array array) {
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h:401:23: error: unknown type name ‘u_char’
static char to_c_str(u_char destination, ngx_str_t ngx_str) {
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h: In function ‘utarray_ngx_str_ctor’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h:415:32: error: ‘u_char’ undeclared (first use in this function)
_dst->data = malloc(sizeof(u_char) * (_src->len + 1));
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_util.h:415:32: note: each undeclared identifier is reported only once for each function it appears in
In file included from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:17:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:17,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h: At top level:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h:38:41: error: unknown type name ‘u_char’
u_char key,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h:41:41: error: unknown type name ‘u_char’
u_char rule_detail);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h:54:41: error: unknown type name ‘u_char’
u_char key,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h:57:41: error: unknown type name ‘u_char’
u_char out_rule_detail);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h:68:45: error: unknown type name ‘u_char’
u_char key,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h:116:41: error: unknown type name ‘u_char’
u_char key,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h:119:41: error: unknown type name ‘u_char’
u_char rule_detail) {
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h:179:41: error: unknown type name ‘u_char’
u_char key,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h:182:41: error: unknown type name ‘u_char’
u_char out_rule_detail) {
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h:206:45: error: unknown type name ‘u_char’
u_char key,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h: In function ‘lru_cache_manager_eliminate’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_lru_cache.h:240:5: error: implicit declaration of function ‘lru_cache_manager_remove’ [-Werror=implicit-function-declaration]
ngx_int_t ret = lru_cache_manager_remove(manager, chain_tail->key, chain_tail->key_byte_length);
^
In file included from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:17:0,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h: At top level:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:157:49: error: unknown type name ‘u_char’
const u_char rule_type, lru_cache_manager_t cache, int check_sql_injection);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h: In function ‘ngx_http_waf_handler_check_cc’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:404:59: error: ‘u_char’ undeclared (first use in this function)
header->key.data = ngx_palloc(r->pool, sizeof(u_char) * header_key_len);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:414:13: error: implicit declaration of function ‘ngx_sprintf’ [-Werror=implicit-function-declaration]
header->value.len = ngx_sprintf(header->value.data, "%d", duration) - header->value.data;
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:414:81: error: invalid operands to binary - (have ‘int’ and ‘int ’)
header->value.len = ngx_sprintf(header->value.data, "%d", duration) - header->value.data;
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h: In function ‘ngx_http_waf_handler_check_white_url’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:458:58: error: ‘u_char’ undeclared (first use in this function)
(u_char)"WHITE-URL", cache, NGX_HTTP_WAF_FALSE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:458:65: error: expected expression before ‘)’ token
(u_char)"WHITE-URL", cache, NGX_HTTP_WAF_FALSE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:458:65: error: too few arguments to function ‘ngx_http_waf_regex_exec_arrray_and_sqli’
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:156:18: note: declared here
static ngx_int_t ngx_http_waf_regex_exec_arrray_and_sqli(ngx_http_request_t r, ngx_str_t str, ngx_array_t array,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:455:30: error: unused variable ‘cache’ [-Werror=unused-variable]
lru_cache_manager_t cache = &(srv_conf->white_url_inspection_cache);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h: In function ‘ngx_http_waf_handler_check_black_url’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:498:58: error: ‘u_char’ undeclared (first use in this function)
(u_char)"BLACK-URL", cache, NGX_HTTP_WAF_TRUE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:498:65: error: expected expression before ‘)’ token
(u_char)"BLACK-URL", cache, NGX_HTTP_WAF_TRUE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:498:65: error: too few arguments to function ‘ngx_http_waf_regex_exec_arrray_and_sqli’
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:156:18: note: declared here
static ngx_int_t ngx_http_waf_regex_exec_arrray_and_sqli(ngx_http_request_t r, ngx_str_t str, ngx_array_t array,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:495:30: error: unused variable ‘cache’ [-Werror=unused-variable]
lru_cache_manager_t cache = &(srv_conf->black_url_inspection_cache);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h: In function ‘ngx_http_waf_handler_check_black_args’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:538:58: error: ‘u_char’ undeclared (first use in this function)
(u_char)"BLACK-ARGS", cache, NGX_HTTP_WAF_TRUE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:538:65: error: expected expression before ‘)’ token
(u_char)"BLACK-ARGS", cache, NGX_HTTP_WAF_TRUE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:538:65: error: too few arguments to function ‘ngx_http_waf_regex_exec_arrray_and_sqli’
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:156:18: note: declared here
static ngx_int_t ngx_http_waf_regex_exec_arrray_and_sqli(ngx_http_request_t r, ngx_str_t str, ngx_array_t array,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:542:13: error: implicit declaration of function ‘ngx_str_split’ [-Werror=implicit-function-declaration]
ngx_str_split(p_args, '&', p_args->len, &args);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:553:69: error: expected expression before ‘)’ token
(u_char)"BLACK-ARGS", cache, NGX_HTTP_WAF_TRUE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:553:69: error: too few arguments to function ‘ngx_http_waf_regex_exec_arrray_and_sqli’
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:156:18: note: declared here
static ngx_int_t ngx_http_waf_regex_exec_arrray_and_sqli(ngx_http_request_t r, ngx_str_t str, ngx_array_t array,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:559:69: error: expected expression before ‘)’ token
(u_char)"BLACK-ARGS", cache, NGX_HTTP_WAF_TRUE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:559:69: error: too few arguments to function ‘ngx_http_waf_regex_exec_arrray_and_sqli’
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:156:18: note: declared here
static ngx_int_t ngx_http_waf_regex_exec_arrray_and_sqli(ngx_http_request_t r, ngx_str_t str, ngx_array_t array,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:535:30: error: unused variable ‘cache’ [-Werror=unused-variable]
lru_cache_manager_t cache = &(srv_conf->black_args_inspection_cache);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h: In function ‘ngx_http_waf_handler_check_black_user_agent’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:612:58: error: ‘u_char’ undeclared (first use in this function)
(u_char)"BLACK-UA", cache, NGX_HTTP_WAF_TRUE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:612:65: error: expected expression before ‘)’ token
(u_char)"BLACK-UA", cache, NGX_HTTP_WAF_TRUE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:612:65: error: too few arguments to function ‘ngx_http_waf_regex_exec_arrray_and_sqli’
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:156:18: note: declared here
static ngx_int_t ngx_http_waf_regex_exec_arrray_and_sqli(ngx_http_request_t r, ngx_str_t str, ngx_array_t array,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:609:30: error: unused variable ‘cache’ [-Werror=unused-variable]
lru_cache_manager_t cache = &(srv_conf->black_ua_inspection_cache);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h: In function ‘ngx_http_waf_handler_check_white_referer’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:656:58: error: ‘u_char’ undeclared (first use in this function)
(u_char)"WHITE-REFERER", cache, NGX_HTTP_WAF_FALSE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:656:65: error: expected expression before ‘)’ token
(u_char)"WHITE-REFERER", cache, NGX_HTTP_WAF_FALSE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:656:65: error: too few arguments to function ‘ngx_http_waf_regex_exec_arrray_and_sqli’
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:156:18: note: declared here
static ngx_int_t ngx_http_waf_regex_exec_arrray_and_sqli(ngx_http_request_t r, ngx_str_t str, ngx_array_t array,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:653:30: error: unused variable ‘cache’ [-Werror=unused-variable]
lru_cache_manager_t cache = &(srv_conf->white_referer_inspection_cache);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h: In function ‘ngx_http_waf_handler_check_black_referer’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:701:54: error: ‘u_char’ undeclared (first use in this function)
(u_char)"BLACK-REFERER", cache, NGX_HTTP_WAF_TRUE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:701:61: error: expected expression before ‘)’ token
(u_char)"BLACK-REFERER", cache, NGX_HTTP_WAF_TRUE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:701:61: error: too few arguments to function ‘ngx_http_waf_regex_exec_arrray_and_sqli’
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:156:18: note: declared here
static ngx_int_t ngx_http_waf_regex_exec_arrray_and_sqli(ngx_http_request_t r, ngx_str_t str, ngx_array_t array,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:698:30: error: unused variable ‘cache’ [-Werror=unused-variable]
lru_cache_manager_t cache = &(srv_conf->black_referer_inspection_cache);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h: In function ‘ngx_http_waf_handler_check_black_cookie’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:742:26: error: ‘u_char’ undeclared (first use in this function)
temp.data = (u_char)ngx_pcalloc(r->pool, sizeof(u_char) * temp.len);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:742:33: error: expected expression before ‘)’ token
temp.data = (u_char)ngx_pcalloc(r->pool, sizeof(u_char) * temp.len);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:750:69: error: expected expression before ‘)’ token
(u_char)"BLACK-COOKIE", cache, NGX_HTTP_WAF_TRUE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:750:69: error: too few arguments to function ‘ngx_http_waf_regex_exec_arrray_and_sqli’
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:156:18: note: declared here
static ngx_int_t ngx_http_waf_regex_exec_arrray_and_sqli(ngx_http_request_t r, ngx_str_t str, ngx_array_t array,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:747:34: error: unused variable ‘cache’ [-Werror=unused-variable]
lru_cache_manager_t cache = &(srv_conf->black_cookie_inspection_cache);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h: In function ‘ngx_http_waf_handler_check_black_post’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:780:5: error: implicit declaration of function ‘ngx_atoi’ [-Werror=implicit-function-declaration]
ngx_int_t content_length = ngx_atoi(r->headers_in.content_length->value.data, r->headers_in.content_length->value.len);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:798:40: error: ‘u_char’ undeclared (first use in this function)
ngx_int_t buf_len = sizeof(u_char) * (i->buf->last - i->buf->pos);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:805:89: error: expected expression before ‘)’ token
ngx_http_waf_regex_exec_arrray_and_sqli(r, &body_str, srv_conf->black_post, (u_char)"BLACK-POST", NULL, NGX_HTTP_WAF_TRUE);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:805:89: error: too few arguments to function ‘ngx_http_waf_regex_exec_arrray_and_sqli’
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:156:18: note: declared here
static ngx_int_t ngx_http_waf_regex_exec_arrray_and_sqli(ngx_http_request_t r, ngx_str_t str, ngx_array_t array,
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h: At top level:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:839:49: error: unknown type name ‘u_char’
const u_char rule_type, lru_cache_manager_t cache, int check_sql_injection) {
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h: In function ‘ngx_http_waf_regex_exec_arrray_and_sqli’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:846:5: error: unknown type name ‘u_char’
u_char rule_detail = NULL;
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:855:9: error: implicit declaration of function ‘lru_cache_manager_find’ [-Werror=implicit-function-declaration]
cache_hit = lru_cache_manager_find(cache, str->data, str->len * sizeof(u_char), &is_matched, &rule_detail);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:855:80: error: ‘u_char’ undeclared (first use in this function)
cache_hit = lru_cache_manager_find(cache, str->data, str->len * sizeof(u_char), &is_matched, &rule_detail);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:872:43: error: expected expression before ‘)’ token
rule_detail = (u_char)s_no_memory;
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:893:9: error: implicit declaration of function ‘lru_cache_manager_add’ [-Werror=implicit-function-declaration]
lru_cache_manager_add(cache, str->data, str->len * sizeof(u_char), is_matched, rule_detail);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_check.h:840:17: error: unused variable ‘s_no_memory’ [-Werror=unused-variable]
static char s_no_memory[] = "No Memory";
^
In file included from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:18:0,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h: In function ‘ngx_http_waf_rule_path_conf’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:179:5: error: implicit declaration of function ‘to_c_str’ [-Werror=implicit-function-declaration]
char end = to_c_str((u_char)full_path, srv_conf->waf_rule_path);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:179:27: error: ‘u_char’ undeclared (first use in this function)
char end = to_c_str((u_char)full_path, srv_conf->waf_rule_path);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:179:34: error: expected expression before ‘)’ token
char end = to_c_str((u_char)full_path, srv_conf->waf_rule_path);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h: In function ‘ngx_http_waf_mode_conf’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:205:9: error: implicit declaration of function ‘ngx_strncasecmp’ [-Werror=implicit-function-declaration]
if (ngx_strncasecmp(modes[i].data, (u_char)"GET", ngx_min(modes[i].len, sizeof("GET") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:205:45: error: ‘u_char’ undeclared (first use in this function)
if (ngx_strncasecmp(modes[i].data, (u_char)"GET", ngx_min(modes[i].len, sizeof("GET") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:205:52: error: expected expression before ‘)’ token
if (ngx_strncasecmp(modes[i].data, (u_char)"GET", ngx_min(modes[i].len, sizeof("GET") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:209:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char)"!GET", ngx_min(modes[i].len, sizeof("!GET") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:214:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"HEAD", ngx_min(modes[i].len, sizeof("HEAD") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:218:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!HEAD", ngx_min(modes[i].len, sizeof("!HEAD") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:223:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"POST", ngx_min(modes[i].len, sizeof("POST") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:227:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!POST", ngx_min(modes[i].len, sizeof("!POST") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:232:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"PUT", ngx_min(modes[i].len, sizeof("PUT") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:236:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!PUT", ngx_min(modes[i].len, sizeof("!PUT") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:241:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"DELETE", ngx_min(modes[i].len, sizeof("DELETE") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:245:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!DELETE", ngx_min(modes[i].len, sizeof("!DELETE") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:250:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"MKCOL", ngx_min(modes[i].len, sizeof("MKCOL") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:254:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!MKCOL", ngx_min(modes[i].len, sizeof("!MKCOL") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:259:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"COPY", ngx_min(modes[i].len, sizeof("COPY") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:263:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!COPY", ngx_min(modes[i].len, sizeof("!COPY") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:268:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"MOVE", ngx_min(modes[i].len, sizeof("MOVE") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:272:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!MOVE", ngx_min(modes[i].len, sizeof("!MOVE") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:277:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"OPTIONS", ngx_min(modes[i].len, sizeof("OPTIONS") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:281:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!OPTIONS", ngx_min(modes[i].len, sizeof("!OPTIONS") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:286:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"PROPFIND", ngx_min(modes[i].len, sizeof("PROPFIND") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:290:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!PROPFIND", ngx_min(modes[i].len, sizeof("!PROPFIND") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:295:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"PROPPATCH", ngx_min(modes[i].len, sizeof("PROPPATCH") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:299:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!PROPPATCH", ngx_min(modes[i].len, sizeof("!PROPPATCH") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:304:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"LOCK", ngx_min(modes[i].len, sizeof("LOCK") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:308:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!LOCK", ngx_min(modes[i].len, sizeof("!LOCK") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:313:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"UNLOCK", ngx_min(modes[i].len, sizeof("UNLOCK") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:317:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!UNLOCK", ngx_min(modes[i].len, sizeof("!UNLOCK") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:322:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"PATCH", ngx_min(modes[i].len, sizeof("PATCH") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:326:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!PATCH", ngx_min(modes[i].len, sizeof("!PATCH") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:331:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"TRACE", ngx_min(modes[i].len, sizeof("TRACE") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:335:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!TRACE", ngx_min(modes[i].len, sizeof("!TRACE") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:340:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"IP", ngx_min(modes[i].len, sizeof("IP") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:344:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!IP", ngx_min(modes[i].len, sizeof("!IP") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:349:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"URL", ngx_min(modes[i].len, sizeof("URL") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:353:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!URL", ngx_min(modes[i].len, sizeof("!URL") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:358:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"RBODY", ngx_min(modes[i].len, sizeof("RBODY") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:362:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!RBODY", ngx_min(modes[i].len, sizeof("!RBODY") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:367:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"ARGS", ngx_min(modes[i].len, sizeof("ARGS") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:371:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!ARGS", ngx_min(modes[i].len, sizeof("!ARGS") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:376:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"UA", ngx_min(modes[i].len, sizeof("UA") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:380:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!UA", ngx_min(modes[i].len, sizeof("!UA") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:385:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"COOKIE", ngx_min(modes[i].len, sizeof("COOKIE") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:389:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!COOKIE", ngx_min(modes[i].len, sizeof("!COOKIE") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:394:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"REFERER", ngx_min(modes[i].len, sizeof("REFERER") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:398:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!REFERER", ngx_min(modes[i].len, sizeof("!REFERER") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:403:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"CC", ngx_min(modes[i].len, sizeof("CC") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:407:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!CC", ngx_min(modes[i].len, sizeof("!CC") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:412:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"STD", ngx_min(modes[i].len, sizeof("STD") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:416:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!STD", ngx_min(modes[i].len, sizeof("!STD") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:421:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"STATIC", ngx_min(modes[i].len, sizeof("STATIC") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:425:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!STATIC", ngx_min(modes[i].len, sizeof("!STATIC") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:430:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"DYNAMIC", ngx_min(modes[i].len, sizeof("DYNAMIC") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:434:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!DYNAMIC", ngx_min(modes[i].len, sizeof("!DYNAMIC") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:439:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"FULL", ngx_min(modes[i].len, sizeof("FULL") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:443:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!FULL", ngx_min(modes[i].len, sizeof("!FULL") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:448:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"COMPAT", ngx_min(modes[i].len, sizeof("COMPAT") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:452:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!COMPAT", ngx_min(modes[i].len, sizeof("!COMPAT") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:457:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"STRICT", ngx_min(modes[i].len, sizeof("STRICT") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:461:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!STRICT", ngx_min(modes[i].len, sizeof("!STRICT") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:466:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"CACHE", ngx_min(modes[i].len, sizeof("CACHE") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:470:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!CACHE", ngx_min(modes[i].len, sizeof("!CACHE") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:475:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"LIB-INJECTION", ngx_min(modes[i].len, sizeof("LIB-INJECTION") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:479:57: error: expected expression before ‘)’ token
else if (ngx_strncasecmp(modes[i].data, (u_char*)"!LIB-INJECTION", ngx_min(modes[i].len, sizeof("!LIB-INJECTION") - 1)) == 0
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h: In function ‘ngx_http_waf_cc_deny_conf’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:549:13: error: implicit declaration of function ‘parse_time’ [-Werror=implicit-function-declaration]
srv_conf->waf_cc_deny_duration = parse_time(p->data);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:556:13: error: implicit declaration of function ‘parse_size’ [-Werror=implicit-function-declaration]
srv_conf->waf_cc_deny_shm_zone_size = parse_size(p->data);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:574:5: error: unknown type name ‘u_char’
u_char* str = ngx_pcalloc(srv_conf->ngx_pool, sizeof(u_char) * 1025);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:574:58: error: ‘u_char’ undeclared (first use in this function)
u_char* str = ngx_pcalloc(srv_conf->ngx_pool, sizeof(u_char) * 1025);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h: In function ‘ngx_http_waf_priority_conf’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:744:9: error: implicit declaration of function ‘strcasecmp’ [-Werror=implicit-function-declaration]
if (strcasecmp("CC", (char*)(p->data)) == 0) {
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h: In function ‘ngx_http_waf_log_get_handler’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:904:42: error: ‘u_char’ undeclared (first use in this function)
v->data = ngx_palloc(r->pool, sizeof(u_char) * 64);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h: In function ‘ngx_http_waf_blocked_get_handler’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:926:42: error: ‘u_char’ undeclared (first use in this function)
v->data = ngx_palloc(r->pool, sizeof(u_char) * 64);
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h: In function ‘ngx_http_waf_rule_type_get_handler’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:960:46: error: ‘u_char’ undeclared (first use in this function)
v->data = ngx_palloc(r->pool, sizeof(u_char) * ngx_max(v->len, 2));
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h: In function ‘ngx_http_waf_rule_deatils_handler’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:981:46: error: ‘u_char’ undeclared (first use in this function)
v->data = ngx_palloc(r->pool, sizeof(u_char) * ngx_max(v->len, 2));
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h: In function ‘ngx_http_waf_spend_handler’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1001:9: error: unknown type name ‘u_char’
u_char text[32] = { 0 };
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1004:46: error: ‘u_char’ undeclared (first use in this function)
v->data = ngx_palloc(r->pool, sizeof(u_char) * v->len);
^
In file included from src/core/ngx_core.h:52:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:11,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h: In function ‘ngx_http_waf_init_after_load_config’:
src/core/ngx_string.h:40:49: error: ‘u_char’ undeclared (first use in this function)
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1026:30: note: in expansion of macro ‘ngx_string’
ngx_str_t waf_log_name = ngx_string("waf_log");
^
src/core/ngx_string.h:40:57: error: expected expression before ‘)’ token
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1026:30: note: in expansion of macro ‘ngx_string’
ngx_str_t waf_log_name = ngx_string("waf_log");
^
src/core/ngx_string.h:40:57: error: missing initializer for field ‘data’ of ‘ngx_str_t’ [-Werror=missing-field-initializers]
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1026:30: note: in expansion of macro ‘ngx_string’
ngx_str_t waf_log_name = ngx_string("waf_log");
^
src/core/ngx_string.h:18:17: note: ‘data’ declared here
u_char *data;
^
src/core/ngx_string.h:40:57: error: expected expression before ‘)’ token
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1031:34: note: in expansion of macro ‘ngx_string’
ngx_str_t waf_blocked_name = ngx_string("waf_blocked");
^
src/core/ngx_string.h:40:57: error: missing initializer for field ‘data’ of ‘ngx_str_t’ [-Werror=missing-field-initializers]
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1031:34: note: in expansion of macro ‘ngx_string’
ngx_str_t waf_blocked_name = ngx_string("waf_blocked");
^
src/core/ngx_string.h:18:17: note: ‘data’ declared here
u_char *data;
^
src/core/ngx_string.h:40:57: error: expected expression before ‘)’ token
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1036:36: note: in expansion of macro ‘ngx_string’
ngx_str_t waf_rule_type_name = ngx_string("waf_rule_type");
^
src/core/ngx_string.h:40:57: error: missing initializer for field ‘data’ of ‘ngx_str_t’ [-Werror=missing-field-initializers]
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1036:36: note: in expansion of macro ‘ngx_string’
ngx_str_t waf_rule_type_name = ngx_string("waf_rule_type");
^
src/core/ngx_string.h:18:17: note: ‘data’ declared here
u_char *data;
^
src/core/ngx_string.h:40:57: error: expected expression before ‘)’ token
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1041:39: note: in expansion of macro ‘ngx_string’
ngx_str_t waf_rule_details_name = ngx_string("waf_rule_details");
^
src/core/ngx_string.h:40:57: error: missing initializer for field ‘data’ of ‘ngx_str_t’ [-Werror=missing-field-initializers]
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1041:39: note: in expansion of macro ‘ngx_string’
ngx_str_t waf_rule_details_name = ngx_string("waf_rule_details");
^
src/core/ngx_string.h:18:17: note: ‘data’ declared here
u_char *data;
^
src/core/ngx_string.h:40:57: error: expected expression before ‘)’ token
#define ngx_string(str) { sizeof(str) - 1, (u_char ) str }
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1046:32: note: in expansion of macro ‘ngx_string’
ngx_str_t waf_spend_name = ngx_string("waf_spend");
^
src/core/ngx_string.h:40:57: error: missing initializer for field ‘data’ of ‘ngx_str_t’ [-Werror=missing-field-initializers]
#define ngx_string(str) { sizeof(str) - 1, (u_char ) str }
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1046:32: note: in expansion of macro ‘ngx_string’
ngx_str_t waf_spend_name = ngx_string("waf_spend");
^
src/core/ngx_string.h:18:17: note: ‘data’ declared here
u_char data;
^
In file included from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:18:0,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h: In function ‘load_into_container’:
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1097:9: error: unknown type name ‘u_char’
u_char errstr[NGX_MAX_CONF_ERRSTR];
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1104:22: error: ‘u_char’ undeclared (first use in this function)
line.data = (u_char)str;
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1104:29: error: expected expression before ‘)’ token
line.data = (u_char)str;
^
/usr/local/src/ngx_waf/inc/ngx_http_waf_module_config.h:1144:34: error: expected expression before ‘)’ token
to_c_str((u_char)temp, line);
^
In file included from src/core/ngx_core.h:52:0,
from /usr/local/src/ngx_waf/inc/ngx_http_waf_module_core.h:11,
from /usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:1:
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c: At top level:
src/core/ngx_string.h:40:49: error: ‘u_char’ undeclared here (not in a function)
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:9:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_mult_mount"),
^
src/core/ngx_string.h:40:57: error: expected expression before ‘)’ token
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:9:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_mult_mount"),
^
src/core/ngx_string.h:40:57: error: missing initializer for field ‘data’ of ‘ngx_str_t’ [-Werror=missing-field-initializers]
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:9:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_mult_mount"),
^
src/core/ngx_string.h:18:17: note: ‘data’ declared here
u_char *data;
^
src/core/ngx_string.h:40:57: error: expected expression before ‘)’ token
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:17:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf"),
^
src/core/ngx_string.h:40:57: error: missing initializer for field ‘data’ of ‘ngx_str_t’ [-Werror=missing-field-initializers]
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:17:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf"),
^
src/core/ngx_string.h:18:17: note: ‘data’ declared here
u_char *data;
^
src/core/ngx_string.h:40:57: error: expected expression before ‘)’ token
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:25:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_rule_path"),
^
src/core/ngx_string.h:40:57: error: missing initializer for field ‘data’ of ‘ngx_str_t’ [-Werror=missing-field-initializers]
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:25:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_rule_path"),
^
src/core/ngx_string.h:18:17: note: ‘data’ declared here
u_char *data;
^
src/core/ngx_string.h:40:57: error: expected expression before ‘)’ token
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:33:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_mode"),
^
src/core/ngx_string.h:40:57: error: missing initializer for field ‘data’ of ‘ngx_str_t’ [-Werror=missing-field-initializers]
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:33:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_mode"),
^
src/core/ngx_string.h:18:17: note: ‘data’ declared here
u_char *data;
^
src/core/ngx_string.h:40:57: error: expected expression before ‘)’ token
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:41:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_cc_deny"),
^
src/core/ngx_string.h:40:57: error: missing initializer for field ‘data’ of ‘ngx_str_t’ [-Werror=missing-field-initializers]
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:41:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_cc_deny"),
^
src/core/ngx_string.h:18:17: note: ‘data’ declared here
u_char *data;
^
src/core/ngx_string.h:40:57: error: expected expression before ‘)’ token
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:49:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_cache"),
^
src/core/ngx_string.h:40:57: error: missing initializer for field ‘data’ of ‘ngx_str_t’ [-Werror=missing-field-initializers]
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:49:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_cache"),
^
src/core/ngx_string.h:18:17: note: ‘data’ declared here
u_char *data;
^
src/core/ngx_string.h:40:57: error: expected expression before ‘)’ token
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:57:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_priority"),
^
src/core/ngx_string.h:40:57: error: missing initializer for field ‘data’ of ‘ngx_str_t’ [-Werror=missing-field-initializers]
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str }
^
/usr/local/src/ngx_waf/src/ngx_http_waf_module_core.c:57:9: note: in expansion of macro ‘ngx_string’
ngx_string("waf_priority"),
^
src/core/ngx_string.h:18:17: note: ‘data’ declared here
u_char *data;
^
cc1: all warnings being treated as errors
make[1]: *** [objs/addon/src/ngx_http_waf_module_core.o] Error 1
make[1]: Leaving directory `/data/n
@ADD-SP commented on GitHub (May 8, 2021):
没见过这类错误,猜测可能是 gcc 版本太低,可以尝试使用更新的 gcc 编译。
@stepwen commented on GitHub (May 9, 2021):
在安装前已经用yum升级了gcc 目前gcc版本如下:
[root@VM_0_4_centos ~]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
@ADD-SP commented on GitHub (May 9, 2021):
gcc 4.8.5 是 2015 年的版本了。试着安装比较新的 gcc 吧。
@ADD-SP commented on GitHub (May 9, 2021):
@stepwen
尝试将
--with-cc-opt中的-std=c99改为-std=gnu99试试。@stepwen commented on GitHub (May 10, 2021):
改为 -std=gnu99 可正常编译,已测试访问www.bak返回403 感谢