Mercurial > hg > nginx-vendor-current
comparison src/http/ngx_http_core_module.h @ 448:76a79816b771 NGINX_0_7_36
nginx 0.7.36
*) Feature: a preliminary IPv6 support; the "listen" directive of the
HTTP module supports IPv6.
*) Bugfix: the $ancient_browser variable did not work for browsers
preset by a "modern_browser" directives.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Sat, 21 Feb 2009 00:00:00 +0300 |
parents | 33394d1255b0 |
children | a8424ffa495c |
comparison
equal
deleted
inserted
replaced
447:40964c811e59 | 448:76a79816b771 |
---|---|
38 | 38 |
39 | 39 |
40 typedef struct { | 40 typedef struct { |
41 unsigned default_server:1; | 41 unsigned default_server:1; |
42 unsigned bind:1; | 42 unsigned bind:1; |
43 unsigned wildcard:1; | |
43 #if (NGX_HTTP_SSL) | 44 #if (NGX_HTTP_SSL) |
44 unsigned ssl:1; | 45 unsigned ssl:1; |
45 #endif | 46 #endif |
46 | 47 |
47 int backlog; | 48 int backlog; |
53 #endif | 54 #endif |
54 #if (NGX_HAVE_DEFERRED_ACCEPT && defined TCP_DEFER_ACCEPT) | 55 #if (NGX_HAVE_DEFERRED_ACCEPT && defined TCP_DEFER_ACCEPT) |
55 ngx_uint_t deferred_accept; | 56 ngx_uint_t deferred_accept; |
56 #endif | 57 #endif |
57 | 58 |
58 u_char addr[NGX_INET_ADDRSTRLEN + sizeof(":65535")]; | 59 u_char addr[NGX_SOCKADDR_STRLEN + 1]; |
59 | |
60 } ngx_http_listen_conf_t; | 60 } ngx_http_listen_conf_t; |
61 | 61 |
62 | 62 |
63 typedef struct { | 63 typedef struct { |
64 in_addr_t addr; | 64 u_char sockaddr[NGX_SOCKADDRLEN]; |
65 in_port_t port; | 65 socklen_t socklen; |
66 int family; | |
67 | 66 |
68 u_char *file_name; | 67 u_char *file_name; |
69 ngx_uint_t line; | 68 ngx_uint_t line; |
70 | 69 |
71 ngx_http_listen_conf_t conf; | 70 ngx_http_listen_conf_t conf; |
171 | 170 |
172 /* list of structures to find core_srv_conf quickly at run time */ | 171 /* list of structures to find core_srv_conf quickly at run time */ |
173 | 172 |
174 | 173 |
175 typedef struct { | 174 typedef struct { |
176 in_addr_t addr; | |
177 | |
178 /* the default server configuration for this address:port */ | 175 /* the default server configuration for this address:port */ |
179 ngx_http_core_srv_conf_t *core_srv_conf; | 176 ngx_http_core_srv_conf_t *core_srv_conf; |
180 | 177 |
181 ngx_http_virtual_names_t *virtual_names; | 178 ngx_http_virtual_names_t *virtual_names; |
182 | 179 |
183 #if (NGX_HTTP_SSL) | 180 #if (NGX_HTTP_SSL) |
184 ngx_uint_t ssl; /* unsigned ssl:1; */ | 181 ngx_uint_t ssl; /* unsigned ssl:1; */ |
185 #endif | 182 #endif |
183 } ngx_http_addr_conf_t; | |
184 | |
185 | |
186 typedef struct { | |
187 in_addr_t addr; | |
188 ngx_http_addr_conf_t conf; | |
186 } ngx_http_in_addr_t; | 189 } ngx_http_in_addr_t; |
190 | |
191 | |
192 #if (NGX_HAVE_INET6) | |
193 | |
194 typedef struct { | |
195 struct in6_addr addr6; | |
196 ngx_http_addr_conf_t conf; | |
197 } ngx_http_in6_addr_t; | |
198 | |
199 #endif | |
187 | 200 |
188 | 201 |
189 typedef struct { | 202 typedef struct { |
190 in_port_t port; | 203 in_port_t port; |
191 ngx_str_t port_text; | 204 ngx_str_t port_text; |
192 ngx_http_in_addr_t *addrs; | 205 |
206 /* ngx_http_in_addr_t or ngx_http_in6_addr_t */ | |
207 void *addrs; | |
193 ngx_uint_t naddrs; | 208 ngx_uint_t naddrs; |
194 } ngx_http_in_port_t; | 209 } ngx_http_port_t; |
195 | 210 |
196 | 211 |
197 typedef struct { | 212 typedef struct { |
213 ngx_int_t family; | |
198 in_port_t port; | 214 in_port_t port; |
199 ngx_array_t addrs; /* array of ngx_http_conf_in_addr_t */ | 215 ngx_array_t addrs; /* array of ngx_http_conf_addr_t */ |
200 } ngx_http_conf_in_port_t; | 216 } ngx_http_conf_port_t; |
201 | 217 |
202 | 218 |
203 typedef struct { | 219 typedef struct { |
204 in_addr_t addr; | 220 struct sockaddr *sockaddr; |
221 socklen_t socklen; | |
205 | 222 |
206 ngx_hash_t hash; | 223 ngx_hash_t hash; |
207 ngx_hash_wildcard_t *wc_head; | 224 ngx_hash_wildcard_t *wc_head; |
208 ngx_hash_wildcard_t *wc_tail; | 225 ngx_hash_wildcard_t *wc_tail; |
209 | 226 |
217 /* the default server configuration for this address:port */ | 234 /* the default server configuration for this address:port */ |
218 ngx_http_core_srv_conf_t *core_srv_conf; | 235 ngx_http_core_srv_conf_t *core_srv_conf; |
219 | 236 |
220 unsigned default_server:1; | 237 unsigned default_server:1; |
221 unsigned bind:1; | 238 unsigned bind:1; |
239 unsigned wildcard:1; | |
222 #if (NGX_HTTP_SSL) | 240 #if (NGX_HTTP_SSL) |
223 unsigned ssl:1; | 241 unsigned ssl:1; |
224 #endif | 242 #endif |
225 | 243 |
226 ngx_http_listen_conf_t *listen_conf; | 244 ngx_http_listen_conf_t *listen_conf; |
227 } ngx_http_conf_in_addr_t; | 245 } ngx_http_conf_addr_t; |
228 | 246 |
229 | 247 |
230 struct ngx_http_server_name_s { | 248 struct ngx_http_server_name_s { |
231 #if (NGX_PCRE) | 249 #if (NGX_PCRE) |
232 ngx_regex_t *regex; | 250 ngx_regex_t *regex; |