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;