owasp-modsecurity / ModSecurity-nginx

ModSecurity v3 Nginx Connector
Apache License 2.0
1.49k stars 277 forks source link

error: implicit declaration of function ‘msc_update_status_code’ [-Werror=implicit-function-declaration] #269

Closed Peterzhangnoise closed 2 years ago

Peterzhangnoise commented 2 years ago

[root@localhost tengine-2.3.2]# make V=s make -f objs/Makefile make[1]: Entering directory /root/tengine-2.3.2/tengine-2.3.2' cc -o objs/nginx \ objs/src/core/nginx.o \ objs/src/core/ngx_log.o \ objs/src/core/ngx_palloc.o \ objs/src/core/ngx_array.o \ objs/src/core/ngx_list.o \ objs/src/core/ngx_hash.o \ objs/src/core/ngx_buf.o \ objs/src/core/ngx_queue.o \ objs/src/core/ngx_output_chain.o \ objs/src/core/ngx_string.o \ objs/src/core/ngx_parse.o \ objs/src/core/ngx_parse_time.o \ objs/src/core/ngx_inet.o \ objs/src/core/ngx_file.o \ objs/src/core/ngx_crc32.o \ objs/src/core/ngx_murmurhash.o \ objs/src/core/ngx_md5.o \ objs/src/core/ngx_sha1.o \ objs/src/core/ngx_rbtree.o \ objs/src/core/ngx_trie.o \ objs/src/core/ngx_segment_tree.o \ objs/src/core/ngx_radix_tree.o \ objs/src/core/ngx_slab.o \ objs/src/core/ngx_times.o \ objs/src/core/ngx_shmtx.o \ objs/src/core/ngx_connection.o \ objs/src/core/ngx_cycle.o \ objs/src/core/ngx_spinlock.o \ objs/src/core/ngx_rwlock.o \ objs/src/core/ngx_cpuinfo.o \ objs/src/core/ngx_conf_file.o \ objs/src/core/ngx_module.o \ objs/src/core/ngx_resolver.o \ objs/src/core/ngx_open_file_cache.o \ objs/src/core/ngx_crypt.o \ objs/src/core/ngx_proxy_protocol.o \ objs/src/core/ngx_syslog.o \ objs/src/event/ngx_event.o \ objs/src/event/ngx_event_timer.o \ objs/src/event/ngx_event_posted.o \ objs/src/event/ngx_event_accept.o \ objs/src/event/ngx_event_udp.o \ objs/src/event/ngx_event_connect.o \ objs/src/event/ngx_event_pipe.o \ objs/src/os/unix/ngx_time.o \ objs/src/os/unix/ngx_errno.o \ objs/src/os/unix/ngx_alloc.o \ objs/src/os/unix/ngx_files.o \ objs/src/os/unix/ngx_socket.o \ objs/src/os/unix/ngx_recv.o \ objs/src/os/unix/ngx_readv_chain.o \ objs/src/os/unix/ngx_udp_recv.o \ objs/src/os/unix/ngx_send.o \ objs/src/os/unix/ngx_writev_chain.o \ objs/src/os/unix/ngx_udp_send.o \ objs/src/os/unix/ngx_udp_sendmsg_chain.o \ objs/src/os/unix/ngx_channel.o \ objs/src/os/unix/ngx_shmem.o \ objs/src/os/unix/ngx_process.o \ objs/src/os/unix/ngx_daemon.o \ objs/src/os/unix/ngx_setaffinity.o \ objs/src/os/unix/ngx_setproctitle.o \ objs/src/os/unix/ngx_posix_init.o \ objs/src/os/unix/ngx_user.o \ objs/src/os/unix/ngx_dlopen.o \ objs/src/os/unix/ngx_pipe.o \ objs/src/os/unix/ngx_sysinfo.o \ objs/src/os/unix/ngx_process_cycle.o \ objs/src/os/unix/ngx_linux_init.o \ objs/src/event/modules/ngx_epoll_module.o \ objs/src/os/unix/ngx_linux_sendfile_chain.o \ objs/src/os/unix/ngx_linux_aio_read.o \ objs/src/core/ngx_thread_pool.o \ objs/src/os/unix/ngx_thread_cond.o \ objs/src/os/unix/ngx_thread_mutex.o \ objs/src/os/unix/ngx_thread_id.o \ objs/src/proc/ngx_proc.o \ objs/src/event/ngx_event_openssl.o \ objs/src/event/ngx_event_openssl_stapling.o \ objs/src/core/ngx_regex.o \ objs/src/http/ngx_http.o \ objs/src/http/ngx_http_core_module.o \ objs/src/http/ngx_http_special_response.o \ objs/src/http/ngx_http_request.o \ objs/src/http/ngx_http_parse.o \ objs/src/http/modules/ngx_http_log_module.o \ objs/src/http/ngx_http_request_body.o \ objs/src/http/ngx_http_variables.o \ objs/src/http/ngx_http_script.o \ objs/src/http/ngx_http_upstream.o \ objs/src/http/ngx_http_upstream_round_robin.o \ objs/src/http/ngx_http_file_cache.o \ objs/src/http/ngx_http_write_filter_module.o \ objs/src/http/ngx_http_header_filter_module.o \ objs/src/http/modules/ngx_http_chunked_filter_module.o \ objs/src/http/v2/ngx_http_v2_filter_module.o \ objs/src/http/modules/ngx_http_range_filter_module.o \ objs/src/http/modules/ngx_http_gzip_filter_module.o \ objs/src/http/ngx_http_postpone_filter_module.o \ objs/src/http/modules/ngx_http_ssi_filter_module.o \ objs/src/http/modules/ngx_http_charset_filter_module.o \ objs/src/http/modules/ngx_http_sub_filter_module.o \ objs/src/http/modules/ngx_http_addition_filter_module.o \ objs/src/http/modules/ngx_http_gunzip_filter_module.o \ objs/src/http/modules/ngx_http_userid_filter_module.o \ objs/src/http/modules/ngx_http_headers_filter_module.o \ objs/src/http/ngx_http_copy_filter_module.o \ objs/src/http/modules/ngx_http_not_modified_filter_module.o \ objs/src/http/modules/ngx_http_slice_filter_module.o \ objs/src/http/v2/ngx_http_v2.o \ objs/src/http/v2/ngx_http_v2_table.o \ objs/src/http/v2/ngx_http_v2_encode.o \ objs/src/http/v2/ngx_http_v2_huff_decode.o \ objs/src/http/v2/ngx_http_v2_huff_encode.o \ objs/src/http/v2/ngx_http_v2_module.o \ objs/src/http/modules/ngx_http_static_module.o \ objs/src/http/modules/ngx_http_gzip_static_module.o \ objs/src/http/modules/ngx_http_autoindex_module.o \ objs/src/http/modules/ngx_http_index_module.o \ objs/src/http/modules/ngx_http_mirror_module.o \ objs/src/http/modules/ngx_http_try_files_module.o \ objs/src/http/modules/ngx_http_auth_request_module.o \ objs/src/http/modules/ngx_http_auth_basic_module.o \ objs/src/http/modules/ngx_http_access_module.o \ objs/src/http/modules/ngx_http_limit_conn_module.o \ objs/src/http/modules/ngx_http_limit_req_module.o \ objs/src/http/modules/ngx_http_realip_module.o \ objs/src/http/modules/ngx_http_geo_module.o \ objs/src/http/modules/ngx_http_map_module.o \ objs/src/http/modules/ngx_http_split_clients_module.o \ objs/src/http/modules/ngx_http_referer_module.o \ objs/src/http/modules/ngx_http_rewrite_module.o \ objs/src/http/modules/ngx_http_ssl_module.o \ objs/src/http/modules/ngx_http_proxy_module.o \ objs/src/http/modules/ngx_http_fastcgi_module.o \ objs/src/http/modules/ngx_http_uwsgi_module.o \ objs/src/http/modules/ngx_http_scgi_module.o \ objs/src/http/modules/ngx_http_grpc_module.o \ objs/src/http/modules/ngx_http_memcached_module.o \ objs/src/http/modules/ngx_http_empty_gif_module.o \ objs/src/http/modules/ngx_http_browser_module.o \ objs/src/http/modules/ngx_http_secure_link_module.o \ objs/src/http/modules/ngx_http_degradation_module.o \ objs/src/http/modules/ngx_http_mp4_module.o \ objs/src/http/modules/ngx_http_upstream_hash_module.o \ objs/src/http/modules/ngx_http_upstream_ip_hash_module.o \ objs/src/http/modules/ngx_http_upstream_least_conn_module.o \ objs/src/http/modules/ngx_http_upstream_random_module.o \ objs/src/http/modules/ngx_http_upstream_keepalive_module.o \ objs/src/http/modules/ngx_http_upstream_zone_module.o \ objs/src/http/modules/ngx_http_stub_status_module.o \ objs/src/stream/ngx_stream.o \ objs/src/stream/ngx_stream_variables.o \ objs/src/stream/ngx_stream_script.o \ objs/src/stream/ngx_stream_handler.o \ objs/src/stream/ngx_stream_core_module.o \ objs/src/stream/ngx_stream_log_module.o \ objs/src/stream/ngx_stream_proxy_module.o \ objs/src/stream/ngx_stream_upstream.o \ objs/src/stream/ngx_stream_upstream_round_robin.o \ objs/src/stream/ngx_stream_write_filter_module.o \ objs/src/stream/ngx_stream_ssl_module.o \ objs/src/stream/ngx_stream_realip_module.o \ objs/src/stream/ngx_stream_limit_conn_module.o \ objs/src/stream/ngx_stream_access_module.o \ objs/src/stream/ngx_stream_geo_module.o \ objs/src/stream/ngx_stream_map_module.o \ objs/src/stream/ngx_stream_split_clients_module.o \ objs/src/stream/ngx_stream_return_module.o \ objs/src/stream/ngx_stream_upstream_hash_module.o \ objs/src/stream/ngx_stream_upstream_least_conn_module.o \ objs/src/stream/ngx_stream_upstream_random_module.o \ objs/src/stream/ngx_stream_upstream_zone_module.o \ objs/src/stream/ngx_stream_ssl_preread_module.o \ objs/addon/src/ndk.o \ objs/addon/src/ngx_http_lua_script.o \ objs/addon/src/ngx_http_lua_log.o \ objs/addon/src/ngx_http_lua_subrequest.o \ objs/addon/src/ngx_http_lua_ndk.o \ objs/addon/src/ngx_http_lua_control.o \ objs/addon/src/ngx_http_lua_time.o \ objs/addon/src/ngx_http_lua_misc.o \ objs/addon/src/ngx_http_lua_variable.o \ objs/addon/src/ngx_http_lua_string.o \ objs/addon/src/ngx_http_lua_output.o \ objs/addon/src/ngx_http_lua_headers.o \ objs/addon/src/ngx_http_lua_req_body.o \ objs/addon/src/ngx_http_lua_uri.o \ objs/addon/src/ngx_http_lua_args.o \ objs/addon/src/ngx_http_lua_ctx.o \ objs/addon/src/ngx_http_lua_regex.o \ objs/addon/src/ngx_http_lua_module.o \ objs/addon/src/ngx_http_lua_headers_out.o \ objs/addon/src/ngx_http_lua_headers_in.o \ objs/addon/src/ngx_http_lua_directive.o \ objs/addon/src/ngx_http_lua_consts.o \ objs/addon/src/ngx_http_lua_exception.o \ objs/addon/src/ngx_http_lua_util.o \ objs/addon/src/ngx_http_lua_cache.o \ objs/addon/src/ngx_http_lua_contentby.o \ objs/addon/src/ngx_http_lua_rewriteby.o \ objs/addon/src/ngx_http_lua_accessby.o \ objs/addon/src/ngx_http_lua_setby.o \ objs/addon/src/ngx_http_lua_capturefilter.o \ objs/addon/src/ngx_http_lua_clfactory.o \ objs/addon/src/ngx_http_lua_pcrefix.o \ objs/addon/src/ngx_http_lua_headerfilterby.o \ objs/addon/src/ngx_http_lua_shdict.o \ objs/addon/src/ngx_http_lua_socket_tcp.o \ objs/addon/src/ngx_http_lua_api.o \ objs/addon/src/ngx_http_lua_logby.o \ objs/addon/src/ngx_http_lua_sleep.o \ objs/addon/src/ngx_http_lua_semaphore.o \ objs/addon/src/ngx_http_lua_coroutine.o \ objs/addon/src/ngx_http_lua_bodyfilterby.o \ objs/addon/src/ngx_http_lua_initby.o \ objs/addon/src/ngx_http_lua_initworkerby.o \ objs/addon/src/ngx_http_lua_socket_udp.o \ objs/addon/src/ngx_http_lua_req_method.o \ objs/addon/src/ngx_http_lua_phase.o \ objs/addon/src/ngx_http_lua_uthread.o \ objs/addon/src/ngx_http_lua_timer.o \ objs/addon/src/ngx_http_lua_config.o \ objs/addon/src/ngx_http_lua_worker.o \ objs/addon/src/ngx_http_lua_ssl_certby.o \ objs/addon/src/ngx_http_lua_ssl_ocsp.o \ objs/addon/src/ngx_http_lua_lex.o \ objs/addon/src/ngx_http_lua_balancer.o \ objs/addon/src/ngx_http_lua_ssl_session_storeby.o \ objs/addon/src/ngx_http_lua_ssl_session_fetchby.o \ objs/addon/src/ngx_http_lua_ssl.o \ objs/addon/src/ngx_http_lua_log_ringbuf.o \ objs/addon/src/ngx_http_lua_input_filters.o \ objs/addon/src/ngx_http_lua_pipe.o \ objs/addon/src/ngx_http_echo_module.o \ objs/addon/src/ngx_http_echo_util.o \ objs/addon/src/ngx_http_echo_timer.o \ objs/addon/src/ngx_http_echo_var.o \ objs/addon/src/ngx_http_echo_handler.o \ objs/addon/src/ngx_http_echo_filter.o \ objs/addon/src/ngx_http_echo_sleep.o \ objs/addon/src/ngx_http_echo_location.o \ objs/addon/src/ngx_http_echo_echo.o \ objs/addon/src/ngx_http_echo_request_info.o \ objs/addon/src/ngx_http_echo_subrequest.o \ objs/addon/src/ngx_http_echo_foreach.o \ objs/addon/src/ngx_http_redis2_module.o \ objs/addon/src/ngx_http_redis2_handler.o \ objs/addon/src/ngx_http_redis2_reply.o \ objs/addon/src/ngx_http_redis2_util.o \ objs/addon/src/ngx_http_set_base32.o \ objs/addon/src/ngx_http_set_default_value.o \ objs/addon/src/ngx_http_set_hashed_upstream.o \ objs/addon/src/ngx_http_set_quote_sql.o \ objs/addon/src/ngx_http_set_quote_json.o \ objs/addon/src/ngx_http_set_unescape_uri.o \ objs/addon/src/ngx_http_set_misc_module.o \ objs/addon/src/ngx_http_set_escape_uri.o \ objs/addon/src/ngx_http_set_hash.o \ objs/addon/src/ngx_http_set_local_today.o \ objs/addon/src/ngx_http_set_hex.o \ objs/addon/src/ngx_http_set_base64.o \ objs/addon/src/ngx_http_set_random.o \ objs/addon/src/ngx_http_set_secure_random.o \ objs/addon/src/ngx_http_set_rotate.o \ objs/addon/src/ngx_http_set_hmac.o \ objs/addon/ngx_http_concat_module/ngx_http_concat_module.o \ objs/addon/ngx_http_reqstat_module/ngx_http_reqstat_module.o \ objs/addon/ngx_http_upstream_check_module/ngx_http_upstream_check_module.o \ objs/addon/ngx_http_upstream_consistent_hash_module/ngx_http_upstream_consistent_hash_module.o \ objs/addon/ngx_http_upstream_dynamic_module/ngx_http_upstream_dynamic_module.o \ objs/addon/ngx_http_upstream_dyups_module/ngx_http_dyups_module.o \ objs/addon/ngx_http_upstream_dyups_module/ngx_http_dyups_lua.o \ objs/addon/ngx_http_upstream_session_sticky_module/ngx_http_upstream_session_sticky_module.o \ objs/ngx_modules.o \ -L/home/admin/libs/lib -Wl,-E -ldl -lrt -lpthread -lpthread -lcrypt -L/home/admin/libs/lib -lluajit-5.1 -lm -ldl ../pcre-8.43/.libs/libpcre.a ../openssl-OpenSSL_1_1_1e/.openssl/lib/libssl.a ../openssl-OpenSSL_1_1_1e/.openssl/lib/libcrypto.a -ldl -lpthread ../zlib-1.2.8/libz.a \ -Wl,-E cc -c -fPIC -I/home/admin/libs/include/luajit-2.1 -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -DNDK_SET_VAR -DNDK_SET_VAR -DNDK_UPSTREAM_LIST -I src/core -I src/event -I src/event/modules -I src/os/unix -I src/proc -I ../ngx_devel_kit/objs -I objs/addon/ndk -I ../lua-nginx-module/src/api -I ./modules/ngx_http_upstream_check_module -I /usr/local/modsecurity/include -I ../pcre-8.43 -I../openssl-OpenSSL_1_1_1e/.openssl/include -I ../zlib-1.2.8 -I objs -I src/http -I src/http/modules -I src/http/v2 -I ../ngx_devel_kit/src -I ../ngx_devel_kit/src -I ../ngx_devel_kit/objs -I objs/addon/ndk-I /home/admin/libs/include/luajit-2.1 -I ./modules/ngx_http_upstream_dyups_module -I src/stream \ -o objs/addon/src/ngx_http_modsecurity_module.o \ ../modsecurity-nginx-v1.0.2/src/ngx_http_modsecurity_module.c ../modsecurity-nginx-v1.0.2/src/ngx_http_modsecurity_module.c: In function ‘ngx_http_modsecurity_process_intervention’: ../modsecurity-nginx-v1.0.2/src/ngx_http_modsecurity_module.c:216:9: error: implicit declaration of function ‘msc_update_status_code’ [-Werror=implicit-function-declaration] msc_update_status_code(ctx->modsec_transaction, intervention.status); ^ ../modsecurity-nginx-v1.0.2/src/ngx_http_modsecurity_module.c: In function ‘ngx_http_modsecurity_create_ctx’: ../modsecurity-nginx-v1.0.2/src/ngx_http_modsecurity_module.c:280:9: error: implicit declaration of function ‘msc_new_transaction_with_id’ [-Werror=implicit-function-declaration] ctx->modsec_transaction = msc_new_transaction_with_id(mmcf->modsec, mcf->rules_set, (char *) s.data, r->connection->log); ^ ../modsecurity-nginx-v1.0.2/src/ngx_http_modsecurity_module.c:280:33: error: assignment makes pointer from integer without a cast [-Werror] ctx->modsec_transaction = msc_new_transaction_with_id(mmcf->modsec, mcf->rules_set, (char *) s.data, r->connection->log); ^ cc1: all warnings being treated as errors make[1]: *** [objs/addon/src/ngx_http_modsecurity_module.o] 错误 1 make[1]: Leaving directory/root/tengine-2.3.2/tengine-2.3.2' make: *** [build] 错误 2

Peterzhangnoise commented 2 years ago

i try to use ModSecurity V3.0.6,is work,problem solve