move r->virtual_names to ngx_http_core_srv_conf_t
diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c
index c41f5bf..626686c 100644
--- a/src/http/ngx_http.c
+++ b/src/http/ngx_http.c
@@ -1812,7 +1812,7 @@
return NGX_ERROR;
}
- addrs[i].conf.virtual_names = vn;
+ addrs[i].conf.core_srv_conf->virtual_names = vn;
vn->names.hash = addr[i].hash;
vn->names.wc_head = addr[i].wc_head;
@@ -1869,7 +1869,7 @@
return NGX_ERROR;
}
- addrs6[i].conf.virtual_names = vn;
+ addrs6[i].conf.core_srv_conf->virtual_names = vn;
vn->names.hash = addr[i].hash;
vn->names.wc_head = addr[i].wc_head;
diff --git a/src/http/ngx_http_core_module.h b/src/http/ngx_http_core_module.h
index 3bf9e22..afceff9 100644
--- a/src/http/ngx_http_core_module.h
+++ b/src/http/ngx_http_core_module.h
@@ -150,6 +150,8 @@
/* server ctx */
ngx_http_conf_ctx_t *ctx;
+ ngx_http_virtual_names_t *virtual_names;
+
ngx_str_t server_name;
size_t connection_pool_size;
@@ -175,8 +177,6 @@
/* the default server configuration for this address:port */
ngx_http_core_srv_conf_t *core_srv_conf;
- ngx_http_virtual_names_t *virtual_names;
-
#if (NGX_HTTP_SSL)
ngx_uint_t ssl; /* unsigned ssl:1; */
#endif
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index d1dc290..b43233f 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -374,8 +374,6 @@
}
}
- r->virtual_names = addr_conf->virtual_names;
-
/* the default server configuration for the address:port */
cscf = addr_conf->core_srv_conf;
@@ -1614,11 +1612,15 @@
{
u_char *server;
ngx_uint_t hash;
+ ngx_http_virtual_names_t *vn;
ngx_http_core_loc_conf_t *clcf;
ngx_http_core_srv_conf_t *cscf;
u_char buf[32];
- if (r->virtual_names == NULL) {
+ cscf = ngx_http_get_module_srv_conf(r, ngx_http_core_module);
+ vn = cscf->virtual_names;
+
+ if (vn == NULL) {
return NGX_DECLINED;
}
@@ -1634,7 +1636,7 @@
hash = ngx_hash_strlow(server, host, len);
- cscf = ngx_hash_find_combined(&r->virtual_names->names, hash, server, len);
+ cscf = ngx_hash_find_combined(&vn->names, hash, server, len);
if (cscf) {
goto found;
@@ -1642,7 +1644,7 @@
#if (NGX_PCRE)
- if (r->virtual_names->nregex) {
+ if (vn->nregex) {
ngx_int_t n;
ngx_uint_t i;
ngx_str_t name;
@@ -1651,9 +1653,9 @@
name.len = len;
name.data = server;
- sn = r->virtual_names->regex;
+ sn = vn->regex;
- for (i = 0; i < r->virtual_names->nregex; i++) {
+ for (i = 0; i < vn->nregex; i++) {
n = ngx_regex_exec(sn[i].regex, &name, NULL, 0);
diff --git a/src/http/ngx_http_request.h b/src/http/ngx_http_request.h
index d3ba95e..7f89bc1 100644
--- a/src/http/ngx_http_request.h
+++ b/src/http/ngx_http_request.h
@@ -384,8 +384,6 @@
ngx_http_post_subrequest_t *post_subrequest;
ngx_http_posted_request_t *posted_requests;
- ngx_http_virtual_names_t *virtual_names;
-
ngx_int_t phase_handler;
ngx_http_handler_pt content_handler;
ngx_uint_t access_code;