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