Disabled duplicate http, mail, and stream blocks. Such configurations have very limited use, introduce various problems and are not officially supported.
diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c index 4642559..6b0a48f 100644 --- a/src/http/ngx_http.c +++ b/src/http/ngx_http.c
@@ -128,6 +128,10 @@ ngx_http_core_srv_conf_t **cscfp; ngx_http_core_main_conf_t *cmcf; + if (*(ngx_http_conf_ctx_t **) conf) { + return "is duplicate"; + } + /* the main http context */ ctx = ngx_pcalloc(cf->pool, sizeof(ngx_http_conf_ctx_t));
diff --git a/src/mail/ngx_mail.c b/src/mail/ngx_mail.c index 38664bc..962ae8b 100644 --- a/src/mail/ngx_mail.c +++ b/src/mail/ngx_mail.c
@@ -76,6 +76,10 @@ ngx_mail_core_srv_conf_t **cscfp; ngx_mail_core_main_conf_t *cmcf; + if (*(ngx_mail_conf_ctx_t **) conf) { + return "is duplicate"; + } + /* the main mail context */ ctx = ngx_pcalloc(cf->pool, sizeof(ngx_mail_conf_ctx_t));
diff --git a/src/stream/ngx_stream.c b/src/stream/ngx_stream.c index 3dce35a..f0aa532 100644 --- a/src/stream/ngx_stream.c +++ b/src/stream/ngx_stream.c
@@ -76,6 +76,10 @@ ngx_stream_core_srv_conf_t **cscfp; ngx_stream_core_main_conf_t *cmcf; + if (*(ngx_stream_conf_ctx_t **) conf) { + return "is duplicate"; + } + /* the main stream context */ ctx = ngx_pcalloc(cf->pool, sizeof(ngx_stream_conf_ctx_t));