From 4bb92db2d6f4bfcfbee9357f06bcaf3f66de9a85 Mon Sep 17 00:00:00 2001 From: Arcadiy Ivanov Date: Thu, 30 Nov 2017 18:34:53 -0500 Subject: [PATCH] If there is no http section and the stream section is all that there is in the config, the module should not segfault fixes #26 --- Makefile | 14 ++++++++------ ngx_http_upstream_dynamic_servers.c | 4 ++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index ca82bd2..c195823 100644 --- a/Makefile +++ b/Makefile @@ -2,11 +2,11 @@ export PATH := $(PWD)/t/build/sbin:$(PWD)/t/build/bin:$(PATH) export PERL5LIB := $(PWD)/t/build/lib/perl5 export UNBOUND_PID := $(PWD)/t/build/etc/unbound/unbound.pid -unbound_version=1.4.22 -lua_jit_version=2.0.3 -lua_nginx_module_version=0.10.8 -lua_upstream_nginx_module_version=0.02 -nginx_version=1.10.0 +unbound_version=1.6.7 +lua_jit_version=2.1.0-beta3 +lua_nginx_module_version=0.10.11 +lua_upstream_nginx_module_version=0.07 +nginx_version=1.13.6 nginx_no_pool_version=1.9.15 nginx_url=http://nginx.org/download/nginx-$(nginx_version).tar.gz @@ -108,7 +108,7 @@ t/tmp/nginx-$(nginx_version)/.patches-applied: | t/tmp/nginx-$(nginx_version) t/ t/tmp/nginx-$(nginx_version)/Makefile: config | t/tmp/nginx-$(nginx_version) t/tmp/nginx-$(nginx_version)/.patches-applied t/build/bin/luajit t/tmp/lua-nginx-module-$(lua_nginx_module_version) t/tmp/lua-upstream-nginx-module-$(lua_upstream_nginx_module_version) cd t/tmp/nginx-$(nginx_version) && env \ LUAJIT_LIB=$(PWD)/t/build/lib \ - LUAJIT_INC=$(PWD)/t/build/include/luajit-2.0 \ + LUAJIT_INC=$(PWD)/t/build/include/luajit-2.1 \ ./configure \ --prefix=$(PWD)/t/build \ --with-debug \ @@ -116,6 +116,8 @@ t/tmp/nginx-$(nginx_version)/Makefile: config | t/tmp/nginx-$(nginx_version) t/t --add-module=$(PWD)/t/tmp/lua-nginx-module-$(lua_nginx_module_version) \ --add-module=$(PWD)/t/tmp/lua-upstream-nginx-module-$(lua_upstream_nginx_module_version) \ --add-module=$(PWD) \ + --with-stream \ + --with-stream_ssl_module \ --without-http_charset_module \ --without-http_userid_module \ --without-http_auth_basic_module \ diff --git a/ngx_http_upstream_dynamic_servers.c b/ngx_http_upstream_dynamic_servers.c index 2ca13e2..dd7f129 100755 --- a/ngx_http_upstream_dynamic_servers.c +++ b/ngx_http_upstream_dynamic_servers.c @@ -376,6 +376,10 @@ ngx_http_upstream_dynamic_servers_merge_conf(ngx_conf_t *cf, void *parent, void static ngx_int_t ngx_http_upstream_dynamic_servers_init_process(ngx_cycle_t *cycle) { ngx_http_upstream_dynamic_server_main_conf_t *udsmcf = ngx_http_cycle_get_module_main_conf(cycle, ngx_http_upstream_dynamic_servers_module); + if(udsmcf == NULL) { + return NGX_OK; + } + ngx_http_upstream_dynamic_server_conf_t *dynamic_server = udsmcf->dynamic_servers.elts; ngx_uint_t i; ngx_event_t *timer;