diff options
author | Igor Sysoev <igor@sysoev.ru> | 2009-10-21 16:27:48 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2009-10-21 16:27:48 +0000 |
commit | 2a634f53421af2fb09dcd9f3b0641723eb0370a6 (patch) | |
tree | 89f849e7e144623d9598564223bf4c7db704c2de /src/http/ngx_http_core_module.c | |
parent | d2d0931ed5a40d63bc6d9593c06604cb5e0eeca6 (diff) | |
download | nginx-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.c | 6 |
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, |