diff src/mail/ngx_mail_core_module.c @ 6657:3d5202c71f94

Ensure "listen" exists in a mail or stream server (ticket #1049).
author Roman Arutyunyan <arut@nginx.com>
date Wed, 17 Aug 2016 11:26:51 +0300
parents c90cf79d0e1d
children cebf5fed00bf
line wrap: on
line diff
--- a/src/mail/ngx_mail_core_module.c
+++ b/src/mail/ngx_mail_core_module.c
@@ -279,6 +279,13 @@ ngx_mail_core_server(ngx_conf_t *cf, ngx
 
     *cf = pcf;
 
+    if (rv == NGX_CONF_OK && !cscf->listen) {
+        ngx_log_error(NGX_LOG_EMERG, cf->log, 0,
+                      "no \"listen\" is defined for server in %s:%ui",
+                      cscf->file_name, cscf->line);
+        return NGX_CONF_ERROR;
+    }
+
     return rv;
 }
 
@@ -295,6 +302,8 @@ ngx_mail_core_listen(ngx_conf_t *cf, ngx
     ngx_mail_module_t          *module;
     ngx_mail_core_main_conf_t  *cmcf;
 
+    cscf->listen = 1;
+
     value = cf->args->elts;
 
     ngx_memzero(&u, sizeof(ngx_url_t));