aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_core_module.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-10-21 16:27:48 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-10-21 16:27:48 +0000
commit2a634f53421af2fb09dcd9f3b0641723eb0370a6 (patch)
tree89f849e7e144623d9598564223bf4c7db704c2de /src/http/ngx_http_core_module.c
parentd2d0931ed5a40d63bc6d9593c06604cb5e0eeca6 (diff)
downloadnginx-2a634f53421af2fb09dcd9f3b0641723eb0370a6.tar.gz
nginx-2a634f53421af2fb09dcd9f3b0641723eb0370a6.zip
fix r3218:
Initially building lists of ports, addresses, and server names had been placed at final configuration stage, because complete set of the "listen"s and the "server_names" were required for this operation. r3218 broke it, because the "listen"s go usually first in configuration, and cscf->server_names is empty at this stage, therefore no virtual names were configured. Now server configurations are stored in array for each address:port to configure virtual names. Also regex captures flag is moved from server names to core server configuration.
Diffstat (limited to 'src/http/ngx_http_core_module.c')
-rw-r--r--src/http/ngx_http_core_module.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index a9e9495f0..a8c33f1c5 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -2876,7 +2876,6 @@ ngx_http_core_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
#if (NGX_PCRE)
sn->regex = NULL;
- sn->captures = 0;
#endif
sn->core_srv_conf = conf;
sn->name.len = conf->server_name.len;
@@ -3529,11 +3528,12 @@ ngx_http_core_server_name(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
#if (NGX_PCRE)
sn->regex = NULL;
- sn->captures = 0;
#endif
sn->core_srv_conf = cscf;
sn->name = value[i];
+ ngx_strlow(sn->name.data, sn->name.data, sn->name.len);
+
if (value[i].data[0] != '~') {
continue;
}
@@ -3562,8 +3562,8 @@ ngx_http_core_server_name(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
return NGX_CONF_ERROR;
}
- sn->captures = (ngx_regex_capture_count(sn->regex) > 0);
sn->name = value[i];
+ cscf->captures = (ngx_regex_capture_count(sn->regex) > 0);
}
#else
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,