Mercurial > hg > nginx
diff src/http/ngx_http_core_module.h @ 3219:81b8416054b0
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.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 21 Oct 2009 16:27:48 +0000 |
parents | 022a7662b4ed |
children | cdcd9e29c589 |
line wrap: on
line diff
--- a/src/http/ngx_http_core_module.h +++ b/src/http/ngx_http_core_module.h @@ -168,7 +168,10 @@ typedef struct { ngx_flag_t merge_slashes; ngx_flag_t underscores_in_headers; - ngx_uint_t listen; /* unsigned listen:1; */ + unsigned listen:1; +#if (NGX_PCRE) + unsigned captures:1; +#endif ngx_http_core_loc_conf_t **named_locations; } ngx_http_core_srv_conf_t; @@ -227,8 +230,6 @@ typedef struct { ngx_hash_wildcard_t *wc_head; ngx_hash_wildcard_t *wc_tail; - ngx_array_t names; /* array of ngx_http_server_name_t */ - #if (NGX_PCRE) ngx_uint_t nregex; ngx_http_server_name_t *regex; @@ -236,6 +237,7 @@ typedef struct { /* the default server configuration for this address:port */ ngx_http_core_srv_conf_t *core_srv_conf; + ngx_array_t servers; /* array of ngx_http_core_srv_conf_t */ ngx_http_listen_opt_t opt; } ngx_http_conf_addr_t; @@ -244,7 +246,6 @@ typedef struct { struct ngx_http_server_name_s { #if (NGX_PCRE) ngx_regex_t *regex; - ngx_uint_t captures; /* unsigned captures:1; */ #endif ngx_http_core_srv_conf_t *core_srv_conf; /* virtual name server conf */ ngx_str_t name;