From fed1ca0dc7e4f5371bc15085b84fa0b3d8f8d899 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Tue, 24 Feb 2009 07:56:47 +0000 Subject: [PATCH] move r->virtual_names to ngx_http_core_srv_conf_t --- src/http/ngx_http.c | 4 ++-- src/http/ngx_http_core_module.h | 4 ++-- src/http/ngx_http_request.c | 16 +++++++++------- src/http/ngx_http_request.h | 2 -- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c index c41f5bff0..626686ca8 100644 --- a/src/http/ngx_http.c +++ b/src/http/ngx_http.c @@ -1812,7 +1812,7 @@ ngx_http_add_addrs(ngx_conf_t *cf, ngx_http_port_t *hport, 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 @@ ngx_http_add_addrs6(ngx_conf_t *cf, ngx_http_port_t *hport, 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 3bf9e2270..afceff941 100644 --- a/src/http/ngx_http_core_module.h +++ b/src/http/ngx_http_core_module.h @@ -150,6 +150,8 @@ typedef struct { /* 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 @@ typedef struct { /* 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 d1dc290fc..b43233f17 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -374,8 +374,6 @@ ngx_http_init_request(ngx_event_t *rev) } } - 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 @@ ngx_http_find_virtual_server(ngx_http_request_t *r, u_char *host, size_t len) { 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 @@ ngx_http_find_virtual_server(ngx_http_request_t *r, u_char *host, size_t len) 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 @@ ngx_http_find_virtual_server(ngx_http_request_t *r, u_char *host, size_t len) #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 @@ ngx_http_find_virtual_server(ngx_http_request_t *r, u_char *host, size_t len) 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 d3ba95ee7..7f89bc12a 100644 --- a/src/http/ngx_http_request.h +++ b/src/http/ngx_http_request.h @@ -384,8 +384,6 @@ struct ngx_http_request_s { 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;