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));