aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2010-09-27 11:48:12 +0000
committerIgor Sysoev <igor@sysoev.ru>2010-09-27 11:48:12 +0000
commitf79878e5d9ba361e4658bb1899ba14c22446fd08 (patch)
tree1196b3c8a463303ea1a5409088014a4697ef385e /src
parent49ac2b2b45295c9c8a0e2c1b76e9f3a8f95a9ef2 (diff)
downloadnginx-f79878e5d9ba361e4658bb1899ba14c22446fd08.tar.gz
nginx-f79878e5d9ba361e4658bb1899ba14c22446fd08.zip
allow duplicate listen ssl options
Diffstat (limited to 'src')
-rw-r--r--src/http/ngx_http.c10
-rw-r--r--src/http/ngx_http_core_module.c1
2 files changed, 10 insertions, 1 deletions
diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c
index f9aa44c1e..58fc7afe5 100644
--- a/src/http/ngx_http.c
+++ b/src/http/ngx_http.c
@@ -1221,6 +1221,9 @@ ngx_http_add_addresses(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf,
#if (NGX_HAVE_UNIX_DOMAIN)
struct sockaddr_un *saun;
#endif
+#if (NGX_HTTP_SSL)
+ ngx_uint_t ssl;
+#endif
/*
* we can not compare whole sockaddr struct's as kernel
@@ -1270,6 +1273,10 @@ ngx_http_add_addresses(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf,
/* preserve default_server bit during listen options overwriting */
default_server = addr[i].opt.default_server;
+#if (NGX_HTTP_SSL)
+ ssl = lsopt->ssl || addr[i].opt.set;
+#endif
+
if (lsopt->set) {
if (addr[i].opt.set) {
@@ -1296,6 +1303,9 @@ ngx_http_add_addresses(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf,
}
addr[i].opt.default_server = default_server;
+#if (NGX_HTTP_SSL)
+ addr[i].opt.ssl = ssl;
+#endif
return NGX_OK;
}
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index d29d20844..73cde3d82 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -3569,7 +3569,6 @@ ngx_http_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
if (ngx_strcmp(value[n].data, "ssl") == 0) {
#if (NGX_HTTP_SSL)
- lsopt.set = 1;
lsopt.ssl = 1;
continue;
#else