annotate src/http/ngx_http_core_module.h @ 4728:fc62b72f7597 stable-1.2

Merge of r4690: conflicting wildcard server names fix. With previous code wildcard names were added to hash even if conflict was detected. This resulted in identical names in hash and segfault later in ngx_hash_wildcard_init().
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 02 Jul 2012 16:59:34 +0000
parents ba2c7463ce18
children 4a18bf1833a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 437
diff changeset
1
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 437
diff changeset
2 /*
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 441
diff changeset
3 * Copyright (C) Igor Sysoev
4412
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 4323
diff changeset
4 * Copyright (C) Nginx, Inc.
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 437
diff changeset
5 */
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 437
diff changeset
6
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 437
diff changeset
7
13
2aba961a1d34 nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 #ifndef _NGX_HTTP_CORE_H_INCLUDED_
2aba961a1d34 nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 #define _NGX_HTTP_CORE_H_INCLUDED_
2aba961a1d34 nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10
2aba961a1d34 nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11
2233
f62751dab60d remove unused #include's
Igor Sysoev <igor@sysoev.ru>
parents: 2224
diff changeset
12 #include <ngx_config.h>
f62751dab60d remove unused #include's
Igor Sysoev <igor@sysoev.ru>
parents: 2224
diff changeset
13 #include <ngx_core.h>
13
2aba961a1d34 nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
14 #include <ngx_http.h>
2aba961a1d34 nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15
2aba961a1d34 nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
16
1790
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
17 #define NGX_HTTP_GZIP_PROXIED_OFF 0x0002
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
18 #define NGX_HTTP_GZIP_PROXIED_EXPIRED 0x0004
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
19 #define NGX_HTTP_GZIP_PROXIED_NO_CACHE 0x0008
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
20 #define NGX_HTTP_GZIP_PROXIED_NO_STORE 0x0010
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
21 #define NGX_HTTP_GZIP_PROXIED_PRIVATE 0x0020
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
22 #define NGX_HTTP_GZIP_PROXIED_NO_LM 0x0040
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
23 #define NGX_HTTP_GZIP_PROXIED_NO_ETAG 0x0080
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
24 #define NGX_HTTP_GZIP_PROXIED_AUTH 0x0100
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
25 #define NGX_HTTP_GZIP_PROXIED_ANY 0x0200
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
26
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
27
3065
113cd532b328 aio sendfile
Igor Sysoev <igor@sysoev.ru>
parents: 3053
diff changeset
28 #define NGX_HTTP_AIO_OFF 0
113cd532b328 aio sendfile
Igor Sysoev <igor@sysoev.ru>
parents: 3053
diff changeset
29 #define NGX_HTTP_AIO_ON 1
113cd532b328 aio sendfile
Igor Sysoev <igor@sysoev.ru>
parents: 3053
diff changeset
30 #define NGX_HTTP_AIO_SENDFILE 2
113cd532b328 aio sendfile
Igor Sysoev <igor@sysoev.ru>
parents: 3053
diff changeset
31
113cd532b328 aio sendfile
Igor Sysoev <igor@sysoev.ru>
parents: 3053
diff changeset
32
1806
ba9e6e57f65d satisfy all|any
Igor Sysoev <igor@sysoev.ru>
parents: 1804
diff changeset
33 #define NGX_HTTP_SATISFY_ALL 0
ba9e6e57f65d satisfy all|any
Igor Sysoev <igor@sysoev.ru>
parents: 1804
diff changeset
34 #define NGX_HTTP_SATISFY_ANY 1
ba9e6e57f65d satisfy all|any
Igor Sysoev <igor@sysoev.ru>
parents: 1804
diff changeset
35
ba9e6e57f65d satisfy all|any
Igor Sysoev <igor@sysoev.ru>
parents: 1804
diff changeset
36
3984
3e51832c8215 lingering_close "off|on|always"
Igor Sysoev <igor@sysoev.ru>
parents: 3793
diff changeset
37 #define NGX_HTTP_LINGERING_OFF 0
3e51832c8215 lingering_close "off|on|always"
Igor Sysoev <igor@sysoev.ru>
parents: 3793
diff changeset
38 #define NGX_HTTP_LINGERING_ON 1
3e51832c8215 lingering_close "off|on|always"
Igor Sysoev <igor@sysoev.ru>
parents: 3793
diff changeset
39 #define NGX_HTTP_LINGERING_ALWAYS 2
3e51832c8215 lingering_close "off|on|always"
Igor Sysoev <igor@sysoev.ru>
parents: 3793
diff changeset
40
3e51832c8215 lingering_close "off|on|always"
Igor Sysoev <igor@sysoev.ru>
parents: 3793
diff changeset
41
2496
9081bbdccda1 if_modified_since off
Igor Sysoev <igor@sysoev.ru>
parents: 2458
diff changeset
42 #define NGX_HTTP_IMS_OFF 0
9081bbdccda1 if_modified_since off
Igor Sysoev <igor@sysoev.ru>
parents: 2458
diff changeset
43 #define NGX_HTTP_IMS_EXACT 1
9081bbdccda1 if_modified_since off
Igor Sysoev <igor@sysoev.ru>
parents: 2458
diff changeset
44 #define NGX_HTTP_IMS_BEFORE 2
9081bbdccda1 if_modified_since off
Igor Sysoev <igor@sysoev.ru>
parents: 2458
diff changeset
45
9081bbdccda1 if_modified_since off
Igor Sysoev <igor@sysoev.ru>
parents: 2458
diff changeset
46
3793
279083731ec6 keepalive_disable
Igor Sysoev <igor@sysoev.ru>
parents: 3773
diff changeset
47 #define NGX_HTTP_KEEPALIVE_DISABLE_NONE 0x0002
279083731ec6 keepalive_disable
Igor Sysoev <igor@sysoev.ru>
parents: 3773
diff changeset
48 #define NGX_HTTP_KEEPALIVE_DISABLE_MSIE6 0x0004
279083731ec6 keepalive_disable
Igor Sysoev <igor@sysoev.ru>
parents: 3773
diff changeset
49 #define NGX_HTTP_KEEPALIVE_DISABLE_SAFARI 0x0008
279083731ec6 keepalive_disable
Igor Sysoev <igor@sysoev.ru>
parents: 3773
diff changeset
50
279083731ec6 keepalive_disable
Igor Sysoev <igor@sysoev.ru>
parents: 3773
diff changeset
51
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
52 typedef struct ngx_http_location_tree_node_s ngx_http_location_tree_node_t;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
53 typedef struct ngx_http_core_loc_conf_s ngx_http_core_loc_conf_t;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
54
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
55
13
2aba961a1d34 nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
56 typedef struct {
3395
4e15548b29d4 fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents: 3325
diff changeset
57 union {
4e15548b29d4 fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents: 3325
diff changeset
58 struct sockaddr sockaddr;
4e15548b29d4 fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents: 3325
diff changeset
59 struct sockaddr_in sockaddr_in;
4e15548b29d4 fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents: 3325
diff changeset
60 #if (NGX_HAVE_INET6)
4e15548b29d4 fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents: 3325
diff changeset
61 struct sockaddr_in6 sockaddr_in6;
4e15548b29d4 fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents: 3325
diff changeset
62 #endif
4e15548b29d4 fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents: 3325
diff changeset
63 #if (NGX_HAVE_UNIX_DOMAIN)
4e15548b29d4 fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents: 3325
diff changeset
64 struct sockaddr_un sockaddr_un;
4e15548b29d4 fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents: 3325
diff changeset
65 #endif
4e15548b29d4 fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents: 3325
diff changeset
66 u_char sockaddr_data[NGX_SOCKADDRLEN];
4e15548b29d4 fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents: 3325
diff changeset
67 } u;
4e15548b29d4 fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents: 3325
diff changeset
68
3220
cdcd9e29c589 *) move sockaddr to the listen options
Igor Sysoev <igor@sysoev.ru>
parents: 3219
diff changeset
69 socklen_t socklen;
cdcd9e29c589 *) move sockaddr to the listen options
Igor Sysoev <igor@sysoev.ru>
parents: 3219
diff changeset
70
3224
8e76e636ae3b allow to set listen options in any server
Igor Sysoev <igor@sysoev.ru>
parents: 3221
diff changeset
71 unsigned set:1;
523
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
72 unsigned default_server:1;
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
73 unsigned bind:1;
2512
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
74 unsigned wildcard:1;
2224
109849282793 *) listen ssl
Igor Sysoev <igor@sysoev.ru>
parents: 2205
diff changeset
75 #if (NGX_HTTP_SSL)
109849282793 *) listen ssl
Igor Sysoev <igor@sysoev.ru>
parents: 2205
diff changeset
76 unsigned ssl:1;
109849282793 *) listen ssl
Igor Sysoev <igor@sysoev.ru>
parents: 2205
diff changeset
77 #endif
2562
c352c419be85 ipv6only
Igor Sysoev <igor@sysoev.ru>
parents: 2549
diff changeset
78 #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY)
c352c419be85 ipv6only
Igor Sysoev <igor@sysoev.ru>
parents: 2549
diff changeset
79 unsigned ipv6only:2;
c352c419be85 ipv6only
Igor Sysoev <igor@sysoev.ru>
parents: 2549
diff changeset
80 #endif
4323
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4206
diff changeset
81 unsigned so_keepalive:2;
523
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
82
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
83 int backlog;
563
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 557
diff changeset
84 int rcvbuf;
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 557
diff changeset
85 int sndbuf;
3676
4430d110293e listen setfib=X
Igor Sysoev <igor@sysoev.ru>
parents: 3634
diff changeset
86 #if (NGX_HAVE_SETFIB)
4430d110293e listen setfib=X
Igor Sysoev <igor@sysoev.ru>
parents: 3634
diff changeset
87 int setfib;
4430d110293e listen setfib=X
Igor Sysoev <igor@sysoev.ru>
parents: 3634
diff changeset
88 #endif
4323
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4206
diff changeset
89 #if (NGX_HAVE_KEEPALIVE_TUNABLE)
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4206
diff changeset
90 int tcp_keepidle;
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4206
diff changeset
91 int tcp_keepintvl;
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4206
diff changeset
92 int tcp_keepcnt;
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4206
diff changeset
93 #endif
523
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
94
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
95 #if (NGX_HAVE_DEFERRED_ACCEPT && defined SO_ACCEPTFILTER)
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
96 char *accept_filter;
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
97 #endif
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
98 #if (NGX_HAVE_DEFERRED_ACCEPT && defined TCP_DEFER_ACCEPT)
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
99 ngx_uint_t deferred_accept;
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
100 #endif
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
101
2512
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
102 u_char addr[NGX_SOCKADDR_STRLEN + 1];
3217
a22bf524a456 refactor http listen code:
Igor Sysoev <igor@sysoev.ru>
parents: 3178
diff changeset
103 } ngx_http_listen_opt_t;
523
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
104
2019117e6b38 nginx-0.1.36-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 521
diff changeset
105
201
267ea1d98683 nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
106 typedef enum {
573
58475592100c nginx-0.3.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 569
diff changeset
107 NGX_HTTP_POST_READ_PHASE = 0,
368
15c84a40e87d nginx-0.0.7-2004-06-24-20:07:04 import
Igor Sysoev <igor@sysoev.ru>
parents: 362
diff changeset
108
573
58475592100c nginx-0.3.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 569
diff changeset
109 NGX_HTTP_SERVER_REWRITE_PHASE,
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
110
573
58475592100c nginx-0.3.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 569
diff changeset
111 NGX_HTTP_FIND_CONFIG_PHASE,
489
45a460f82aec nginx-0.1.19-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 485
diff changeset
112 NGX_HTTP_REWRITE_PHASE,
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
113 NGX_HTTP_POST_REWRITE_PHASE,
368
15c84a40e87d nginx-0.0.7-2004-06-24-20:07:04 import
Igor Sysoev <igor@sysoev.ru>
parents: 362
diff changeset
114
581
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
115 NGX_HTTP_PREACCESS_PHASE,
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
116
368
15c84a40e87d nginx-0.0.7-2004-06-24-20:07:04 import
Igor Sysoev <igor@sysoev.ru>
parents: 362
diff changeset
117 NGX_HTTP_ACCESS_PHASE,
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
118 NGX_HTTP_POST_ACCESS_PHASE,
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
119
2407
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
120 NGX_HTTP_TRY_FILES_PHASE,
201
267ea1d98683 nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
121 NGX_HTTP_CONTENT_PHASE,
368
15c84a40e87d nginx-0.0.7-2004-06-24-20:07:04 import
Igor Sysoev <igor@sysoev.ru>
parents: 362
diff changeset
122
581
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
123 NGX_HTTP_LOG_PHASE
201
267ea1d98683 nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
124 } ngx_http_phases;
267ea1d98683 nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
125
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
126 typedef struct ngx_http_phase_handler_s ngx_http_phase_handler_t;
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
127
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
128 typedef ngx_int_t (*ngx_http_phase_handler_pt)(ngx_http_request_t *r,
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
129 ngx_http_phase_handler_t *ph);
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
130
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
131 struct ngx_http_phase_handler_s {
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
132 ngx_http_phase_handler_pt checker;
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
133 ngx_http_handler_pt handler;
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
134 ngx_uint_t next;
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
135 };
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
136
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
137
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
138 typedef struct {
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
139 ngx_http_phase_handler_t *handlers;
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
140 ngx_uint_t server_rewrite_index;
1353
7443fbe0b013 named location
Igor Sysoev <igor@sysoev.ru>
parents: 1253
diff changeset
141 ngx_uint_t location_rewrite_index;
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
142 } ngx_http_phase_engine_t;
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
143
201
267ea1d98683 nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
144
19
d7908993fdeb nginx-0.0.1-2002-12-02-19:09:40 import; resume after 2 months stall
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
145 typedef struct {
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
146 ngx_array_t handlers;
143
5526213be452 nginx-0.0.1-2003-10-10-19:10:50 import
Igor Sysoev <igor@sysoev.ru>
parents: 114
diff changeset
147 } ngx_http_phase_t;
5526213be452 nginx-0.0.1-2003-10-10-19:10:50 import
Igor Sysoev <igor@sysoev.ru>
parents: 114
diff changeset
148
5526213be452 nginx-0.0.1-2003-10-10-19:10:50 import
Igor Sysoev <igor@sysoev.ru>
parents: 114
diff changeset
149
5526213be452 nginx-0.0.1-2003-10-10-19:10:50 import
Igor Sysoev <igor@sysoev.ru>
parents: 114
diff changeset
150 typedef struct {
485
4ebe09b07e30 nginx-0.1.17-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
151 ngx_array_t servers; /* ngx_http_core_srv_conf_t */
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
152
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
153 ngx_http_phase_engine_t phase_engine;
143
5526213be452 nginx-0.0.1-2003-10-10-19:10:50 import
Igor Sysoev <igor@sysoev.ru>
parents: 114
diff changeset
154
649
1e720b0be7ec nginx-0.3.46-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 633
diff changeset
155 ngx_hash_t headers_in_hash;
611
3f8a2132b93d nginx-0.3.27-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 609
diff changeset
156
3f8a2132b93d nginx-0.3.27-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 609
diff changeset
157 ngx_hash_t variables_hash;
3f8a2132b93d nginx-0.3.27-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 609
diff changeset
158
3f8a2132b93d nginx-0.3.27-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 609
diff changeset
159 ngx_array_t variables; /* ngx_http_variable_t */
3325
42c16d8bddbe regex named captures
Igor Sysoev <igor@sysoev.ru>
parents: 3224
diff changeset
160 ngx_uint_t ncaptures;
507
cd3117ad9aab nginx-0.1.28-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 499
diff changeset
161
593
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
162 ngx_uint_t server_names_hash_max_size;
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
163 ngx_uint_t server_names_hash_bucket_size;
485
4ebe09b07e30 nginx-0.1.17-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
164
611
3f8a2132b93d nginx-0.3.27-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 609
diff changeset
165 ngx_uint_t variables_hash_max_size;
3f8a2132b93d nginx-0.3.27-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 609
diff changeset
166 ngx_uint_t variables_hash_bucket_size;
3f8a2132b93d nginx-0.3.27-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 609
diff changeset
167
3f8a2132b93d nginx-0.3.27-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 609
diff changeset
168 ngx_hash_keys_arrays_t *variables_keys;
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
169
3217
a22bf524a456 refactor http listen code:
Igor Sysoev <igor@sysoev.ru>
parents: 3178
diff changeset
170 ngx_array_t *ports;
a22bf524a456 refactor http listen code:
Igor Sysoev <igor@sysoev.ru>
parents: 3178
diff changeset
171
2407
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
172 ngx_uint_t try_files; /* unsigned try_files:1 */
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
173
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
174 ngx_http_phase_t phases[NGX_HTTP_LOG_PHASE + 1];
90
37530da31268 nginx-0.0.1-2003-05-16-19:27:48 import
Igor Sysoev <igor@sysoev.ru>
parents: 89
diff changeset
175 } ngx_http_core_main_conf_t;
37530da31268 nginx-0.0.1-2003-05-16-19:27:48 import
Igor Sysoev <igor@sysoev.ru>
parents: 89
diff changeset
176
37530da31268 nginx-0.0.1-2003-05-16-19:27:48 import
Igor Sysoev <igor@sysoev.ru>
parents: 89
diff changeset
177
37530da31268 nginx-0.0.1-2003-05-16-19:27:48 import
Igor Sysoev <igor@sysoev.ru>
parents: 89
diff changeset
178 typedef struct {
485
4ebe09b07e30 nginx-0.1.17-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
179 /* array of the ngx_http_server_name_t, "server_name" directive */
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
180 ngx_array_t server_names;
393
5659d773cfa8 nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents: 391
diff changeset
181
5659d773cfa8 nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents: 391
diff changeset
182 /* server ctx */
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
183 ngx_http_conf_ctx_t *ctx;
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
184
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
185 ngx_str_t server_name;
593
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
186
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
187 size_t connection_pool_size;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
188 size_t request_pool_size;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
189 size_t client_header_buffer_size;
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
190
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
191 ngx_bufs_t large_client_header_buffers;
435
5cdc4838d4e8 nginx-0.0.11-2004-09-22-20:18:21 import
Igor Sysoev <igor@sysoev.ru>
parents: 429
diff changeset
192
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
193 ngx_msec_t client_header_timeout;
335
d4241d7787fe nginx-0.0.3-2004-05-14-20:51:47 import
Igor Sysoev <igor@sysoev.ru>
parents: 326
diff changeset
194
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
195 ngx_flag_t ignore_invalid_headers;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
196 ngx_flag_t merge_slashes;
2256
8c17cfe63d2c underscores_in_headers
Igor Sysoev <igor@sysoev.ru>
parents: 2233
diff changeset
197 ngx_flag_t underscores_in_headers;
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
198
3219
81b8416054b0 fix r3218:
Igor Sysoev <igor@sysoev.ru>
parents: 3218
diff changeset
199 unsigned listen:1;
81b8416054b0 fix r3218:
Igor Sysoev <igor@sysoev.ru>
parents: 3218
diff changeset
200 #if (NGX_PCRE)
81b8416054b0 fix r3218:
Igor Sysoev <igor@sysoev.ru>
parents: 3218
diff changeset
201 unsigned captures:1;
81b8416054b0 fix r3218:
Igor Sysoev <igor@sysoev.ru>
parents: 3218
diff changeset
202 #endif
3217
a22bf524a456 refactor http listen code:
Igor Sysoev <igor@sysoev.ru>
parents: 3178
diff changeset
203
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
204 ngx_http_core_loc_conf_t **named_locations;
19
d7908993fdeb nginx-0.0.1-2002-12-02-19:09:40 import; resume after 2 months stall
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
205 } ngx_http_core_srv_conf_t;
d7908993fdeb nginx-0.0.1-2002-12-02-19:09:40 import; resume after 2 months stall
Igor Sysoev <igor@sysoev.ru>
parents: 13
diff changeset
206
41
59e7c7f30d49 nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents: 19
diff changeset
207
55
cad6c2f43283 nginx-0.0.1-2003-01-29-10:25:51 import
Igor Sysoev <igor@sysoev.ru>
parents: 54
diff changeset
208 /* list of structures to find core_srv_conf quickly at run time */
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 41
diff changeset
209
593
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
210
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
211 typedef struct {
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
212 /* the default server configuration for this address:port */
3221
c8de5a8b6d17 rename core_srv_conf fields to more understandable default_server and server
Igor Sysoev <igor@sysoev.ru>
parents: 3220
diff changeset
213 ngx_http_core_srv_conf_t *default_server;
1387
cb8b30ef3e7e regex in server_name
Igor Sysoev <igor@sysoev.ru>
parents: 1353
diff changeset
214
2689
6caf687a831f backout r2535: virtual names is a property of address:port pair,
Igor Sysoev <igor@sysoev.ru>
parents: 2589
diff changeset
215 ngx_http_virtual_names_t *virtual_names;
6caf687a831f backout r2535: virtual names is a property of address:port pair,
Igor Sysoev <igor@sysoev.ru>
parents: 2589
diff changeset
216
2224
109849282793 *) listen ssl
Igor Sysoev <igor@sysoev.ru>
parents: 2205
diff changeset
217 #if (NGX_HTTP_SSL)
109849282793 *) listen ssl
Igor Sysoev <igor@sysoev.ru>
parents: 2205
diff changeset
218 ngx_uint_t ssl; /* unsigned ssl:1; */
109849282793 *) listen ssl
Igor Sysoev <igor@sysoev.ru>
parents: 2205
diff changeset
219 #endif
2512
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
220 } ngx_http_addr_conf_t;
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
221
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
222
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
223 typedef struct {
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
224 in_addr_t addr;
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
225 ngx_http_addr_conf_t conf;
593
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
226 } ngx_http_in_addr_t;
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
227
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
228
2512
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
229 #if (NGX_HAVE_INET6)
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
230
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
231 typedef struct {
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
232 struct in6_addr addr6;
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
233 ngx_http_addr_conf_t conf;
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
234 } ngx_http_in6_addr_t;
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
235
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
236 #endif
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
237
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
238
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 41
diff changeset
239 typedef struct {
2512
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
240 /* ngx_http_in_addr_t or ngx_http_in6_addr_t */
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
241 void *addrs;
593
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
242 ngx_uint_t naddrs;
2512
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
243 } ngx_http_port_t;
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 41
diff changeset
244
89
29bf798b583f nginx-0.0.1-2003-05-15-19:42:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 88
diff changeset
245
593
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
246 typedef struct {
2512
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
247 ngx_int_t family;
593
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
248 in_port_t port;
2512
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
249 ngx_array_t addrs; /* array of ngx_http_conf_addr_t */
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
250 } ngx_http_conf_port_t;
593
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
251
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
252
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
253 typedef struct {
3220
cdcd9e29c589 *) move sockaddr to the listen options
Igor Sysoev <igor@sysoev.ru>
parents: 3219
diff changeset
254 ngx_http_listen_opt_t opt;
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
255
593
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
256 ngx_hash_t hash;
1253
8ef04207c84f the "www.example.*" wildcard hash support
Igor Sysoev <igor@sysoev.ru>
parents: 1236
diff changeset
257 ngx_hash_wildcard_t *wc_head;
8ef04207c84f the "www.example.*" wildcard hash support
Igor Sysoev <igor@sysoev.ru>
parents: 1236
diff changeset
258 ngx_hash_wildcard_t *wc_tail;
593
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
259
1387
cb8b30ef3e7e regex in server_name
Igor Sysoev <igor@sysoev.ru>
parents: 1353
diff changeset
260 #if (NGX_PCRE)
cb8b30ef3e7e regex in server_name
Igor Sysoev <igor@sysoev.ru>
parents: 1353
diff changeset
261 ngx_uint_t nregex;
cb8b30ef3e7e regex in server_name
Igor Sysoev <igor@sysoev.ru>
parents: 1353
diff changeset
262 ngx_http_server_name_t *regex;
cb8b30ef3e7e regex in server_name
Igor Sysoev <igor@sysoev.ru>
parents: 1353
diff changeset
263 #endif
cb8b30ef3e7e regex in server_name
Igor Sysoev <igor@sysoev.ru>
parents: 1353
diff changeset
264
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
265 /* the default server configuration for this address:port */
3221
c8de5a8b6d17 rename core_srv_conf fields to more understandable default_server and server
Igor Sysoev <igor@sysoev.ru>
parents: 3220
diff changeset
266 ngx_http_core_srv_conf_t *default_server;
3219
81b8416054b0 fix r3218:
Igor Sysoev <igor@sysoev.ru>
parents: 3218
diff changeset
267 ngx_array_t servers; /* array of ngx_http_core_srv_conf_t */
2512
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2496
diff changeset
268 } ngx_http_conf_addr_t;
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 41
diff changeset
269
89
29bf798b583f nginx-0.0.1-2003-05-15-19:42:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 88
diff changeset
270
1387
cb8b30ef3e7e regex in server_name
Igor Sysoev <igor@sysoev.ru>
parents: 1353
diff changeset
271 struct ngx_http_server_name_s {
cb8b30ef3e7e regex in server_name
Igor Sysoev <igor@sysoev.ru>
parents: 1353
diff changeset
272 #if (NGX_PCRE)
3325
42c16d8bddbe regex named captures
Igor Sysoev <igor@sysoev.ru>
parents: 3224
diff changeset
273 ngx_http_regex_t *regex;
1387
cb8b30ef3e7e regex in server_name
Igor Sysoev <igor@sysoev.ru>
parents: 1353
diff changeset
274 #endif
3221
c8de5a8b6d17 rename core_srv_conf fields to more understandable default_server and server
Igor Sysoev <igor@sysoev.ru>
parents: 3220
diff changeset
275 ngx_http_core_srv_conf_t *server; /* virtual name server conf */
55
cad6c2f43283 nginx-0.0.1-2003-01-29-10:25:51 import
Igor Sysoev <igor@sysoev.ru>
parents: 54
diff changeset
276 ngx_str_t name;
1387
cb8b30ef3e7e regex in server_name
Igor Sysoev <igor@sysoev.ru>
parents: 1353
diff changeset
277 };
55
cad6c2f43283 nginx-0.0.1-2003-01-29-10:25:51 import
Igor Sysoev <igor@sysoev.ru>
parents: 54
diff changeset
278
cad6c2f43283 nginx-0.0.1-2003-01-29-10:25:51 import
Igor Sysoev <igor@sysoev.ru>
parents: 54
diff changeset
279
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 41
diff changeset
280 typedef struct {
673
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 667
diff changeset
281 ngx_int_t status;
b80f94fa2197 nginx-0.3.58-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 667
diff changeset
282 ngx_int_t overwrite;
2589
859f6675a553 use complex value in error_page
Igor Sysoev <igor@sysoev.ru>
parents: 2562
diff changeset
283 ngx_http_complex_value_t value;
1982
dd388c80f5a2 args support in static error_page
Igor Sysoev <igor@sysoev.ru>
parents: 1806
diff changeset
284 ngx_str_t args;
176
c0552e5ab567 nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents: 162
diff changeset
285 } ngx_http_err_page_t;
c0552e5ab567 nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents: 162
diff changeset
286
c0552e5ab567 nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents: 162
diff changeset
287
2407
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
288 typedef struct {
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
289 ngx_array_t *lengths;
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
290 ngx_array_t *values;
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
291 ngx_str_t name;
2695
aa95c69c3068 try_files status code
Igor Sysoev <igor@sysoev.ru>
parents: 2689
diff changeset
292
aa95c69c3068 try_files status code
Igor Sysoev <igor@sysoev.ru>
parents: 2689
diff changeset
293 unsigned code:10;
aa95c69c3068 try_files status code
Igor Sysoev <igor@sysoev.ru>
parents: 2689
diff changeset
294 unsigned test_dir:1;
2407
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
295 } ngx_http_try_file_t;
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
296
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
297
396
6f3b20c1ac50 nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents: 395
diff changeset
298 struct ngx_http_core_loc_conf_s {
96
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 95
diff changeset
299 ngx_str_t name; /* location name */
396
6f3b20c1ac50 nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents: 395
diff changeset
300
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 452
diff changeset
301 #if (NGX_PCRE)
3325
42c16d8bddbe regex named captures
Igor Sysoev <igor@sysoev.ru>
parents: 3224
diff changeset
302 ngx_http_regex_t *regex;
396
6f3b20c1ac50 nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents: 395
diff changeset
303 #endif
6f3b20c1ac50 nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents: 395
diff changeset
304
1353
7443fbe0b013 named location
Igor Sysoev <igor@sysoev.ru>
parents: 1253
diff changeset
305 unsigned noname:1; /* "if () {}" block or limit_except */
3731
72cc5b789021 inherit proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass inside
Igor Sysoev <igor@sysoev.ru>
parents: 3676
diff changeset
306 unsigned lmt_excpt:1;
1353
7443fbe0b013 named location
Igor Sysoev <igor@sysoev.ru>
parents: 1253
diff changeset
307 unsigned named:1;
485
4ebe09b07e30 nginx-0.1.17-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
308
396
6f3b20c1ac50 nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents: 395
diff changeset
309 unsigned exact_match:1;
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
310 unsigned noregex:1;
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
311
396
6f3b20c1ac50 nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents: 395
diff changeset
312 unsigned auto_redirect:1;
2205
5398f47082f0 gzip_disable msie6
Igor Sysoev <igor@sysoev.ru>
parents: 2197
diff changeset
313 #if (NGX_HTTP_GZIP)
5398f47082f0 gzip_disable msie6
Igor Sysoev <igor@sysoev.ru>
parents: 2197
diff changeset
314 unsigned gzip_disable_msie6:2;
3773
a08e8b3832ae gzip_disable degradation
Igor Sysoev <igor@sysoev.ru>
parents: 3731
diff changeset
315 #if (NGX_HTTP_DEGRADATION)
a08e8b3832ae gzip_disable degradation
Igor Sysoev <igor@sysoev.ru>
parents: 3731
diff changeset
316 unsigned gzip_disable_degradation:2;
a08e8b3832ae gzip_disable degradation
Igor Sysoev <igor@sysoev.ru>
parents: 3731
diff changeset
317 #endif
2205
5398f47082f0 gzip_disable msie6
Igor Sysoev <igor@sysoev.ru>
parents: 2197
diff changeset
318 #endif
396
6f3b20c1ac50 nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents: 395
diff changeset
319
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
320 ngx_http_location_tree_node_t *static_locations;
2546
8b9861c2a32f pclcf->regex_locations are used with PCRE only
Igor Sysoev <igor@sysoev.ru>
parents: 2534
diff changeset
321 #if (NGX_PCRE)
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
322 ngx_http_core_loc_conf_t **regex_locations;
2546
8b9861c2a32f pclcf->regex_locations are used with PCRE only
Igor Sysoev <igor@sysoev.ru>
parents: 2534
diff changeset
323 #endif
396
6f3b20c1ac50 nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents: 395
diff changeset
324
6f3b20c1ac50 nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents: 395
diff changeset
325 /* pointer to the modules' loc_conf */
2024
7018254cc006 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1982
diff changeset
326 void **loc_conf;
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 41
diff changeset
327
631
5d2b8078c1c2 nginx-0.3.37-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 613
diff changeset
328 uint32_t limit_except;
2024
7018254cc006 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1982
diff changeset
329 void **limit_except_loc_conf;
631
5d2b8078c1c2 nginx-0.3.37-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 613
diff changeset
330
356
2e3cbc1bbe3c nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
331 ngx_http_handler_pt handler;
71
59229033ae93 nginx-0.0.1-2003-04-08-19:40:10 import
Igor Sysoev <igor@sysoev.ru>
parents: 69
diff changeset
332
3535
abb3901be800 fix handling an inherited alias in inclusive location
Igor Sysoev <igor@sysoev.ru>
parents: 3484
diff changeset
333 /* location name length for inclusive location with inherited alias */
abb3901be800 fix handling an inherited alias in inclusive location
Igor Sysoev <igor@sysoev.ru>
parents: 3484
diff changeset
334 size_t alias;
577
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
335 ngx_str_t root; /* root, alias */
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
336 ngx_str_t post_action;
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
337
595
ebc68d8ca496 nginx-0.3.19-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
338 ngx_array_t *root_lengths;
ebc68d8ca496 nginx-0.3.19-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
339 ngx_array_t *root_values;
ebc68d8ca496 nginx-0.3.19-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
340
589
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 581
diff changeset
341 ngx_array_t *types;
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 581
diff changeset
342 ngx_hash_t types_hash;
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 581
diff changeset
343 ngx_str_t default_type;
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 581
diff changeset
344
663
6d5c1535bb9d nginx-0.3.53-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 649
diff changeset
345 off_t client_max_body_size; /* client_max_body_size */
2129
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2029
diff changeset
346 off_t directio; /* directio */
3053
0d253659da12 directio_alignment
Igor Sysoev <igor@sysoev.ru>
parents: 3052
diff changeset
347 off_t directio_alignment; /* directio_alignment */
663
6d5c1535bb9d nginx-0.3.53-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 649
diff changeset
348
303
00c5660d2707 nginx-0.0.3-2004-04-01-20:20:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 293
diff changeset
349 size_t client_body_buffer_size; /* client_body_buffer_size */
362
7650aea1816f nginx-0.0.7-2004-06-21-19:59:32 import
Igor Sysoev <igor@sysoev.ru>
parents: 356
diff changeset
350 size_t send_lowat; /* send_lowat */
391
b670db10cbbd nginx-0.0.7-2004-07-14-20:01:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 369
diff changeset
351 size_t postpone_output; /* postpone_output */
b670db10cbbd nginx-0.0.7-2004-07-14-20:01:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 369
diff changeset
352 size_t limit_rate; /* limit_rate */
2907
4f5753877376 limit_rate_after
Igor Sysoev <igor@sysoev.ru>
parents: 2888
diff changeset
353 size_t limit_rate_after; /* limit_rate_after */
1197
493a227edfd5 sendfile_max_chunk
Igor Sysoev <igor@sysoev.ru>
parents: 777
diff changeset
354 size_t sendfile_max_chunk; /* sendfile_max_chunk */
3178
975f0558aab3 read_ahead
Igor Sysoev <igor@sysoev.ru>
parents: 3065
diff changeset
355 size_t read_ahead; /* read_ahead */
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
356
162
96993d4d5067 nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 158
diff changeset
357 ngx_msec_t client_body_timeout; /* client_body_timeout */
96
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 95
diff changeset
358 ngx_msec_t send_timeout; /* send_timeout */
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 95
diff changeset
359 ngx_msec_t keepalive_timeout; /* keepalive_timeout */
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 95
diff changeset
360 ngx_msec_t lingering_time; /* lingering_time */
a23d010f356d nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 95
diff changeset
361 ngx_msec_t lingering_timeout; /* lingering_timeout */
1652
cc7a7d0b89e8 http resolver and resolver_timeout
Igor Sysoev <igor@sysoev.ru>
parents: 1592
diff changeset
362 ngx_msec_t resolver_timeout; /* resolver_timeout */
cc7a7d0b89e8 http resolver and resolver_timeout
Igor Sysoev <igor@sysoev.ru>
parents: 1592
diff changeset
363
cc7a7d0b89e8 http resolver and resolver_timeout
Igor Sysoev <igor@sysoev.ru>
parents: 1592
diff changeset
364 ngx_resolver_t *resolver; /* resolver */
71
59229033ae93 nginx-0.0.1-2003-04-08-19:40:10 import
Igor Sysoev <igor@sysoev.ru>
parents: 69
diff changeset
365
436
9549fc9508e5 nginx-0.0.11-2004-09-23-10:32:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 435
diff changeset
366 time_t keepalive_header; /* keepalive_timeout */
9549fc9508e5 nginx-0.0.11-2004-09-23-10:32:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 435
diff changeset
367
2888
512d164a8348 keepalive_requests
Igor Sysoev <igor@sysoev.ru>
parents: 2857
diff changeset
368 ngx_uint_t keepalive_requests; /* keepalive_requests */
3793
279083731ec6 keepalive_disable
Igor Sysoev <igor@sysoev.ru>
parents: 3773
diff changeset
369 ngx_uint_t keepalive_disable; /* keepalive_disable */
1806
ba9e6e57f65d satisfy all|any
Igor Sysoev <igor@sysoev.ru>
parents: 1804
diff changeset
370 ngx_uint_t satisfy; /* satisfy */
3984
3e51832c8215 lingering_close "off|on|always"
Igor Sysoev <igor@sysoev.ru>
parents: 3793
diff changeset
371 ngx_uint_t lingering_close; /* lingering_close */
2361
c59485781f0a if_modified_since
Igor Sysoev <igor@sysoev.ru>
parents: 2261
diff changeset
372 ngx_uint_t if_modified_since; /* if_modified_since */
4062
82738a316a54 The "max_ranges" directive.
Igor Sysoev <igor@sysoev.ru>
parents: 3984
diff changeset
373 ngx_uint_t max_ranges; /* max_ranges */
2841
faafc084a7a4 fix client_body_in_file_only type
Igor Sysoev <igor@sysoev.ru>
parents: 2785
diff changeset
374 ngx_uint_t client_body_in_file_only; /* client_body_in_file_only */
1806
ba9e6e57f65d satisfy all|any
Igor Sysoev <igor@sysoev.ru>
parents: 1804
diff changeset
375
2845
10d6b9950453 client_body_in_single_buffer
Igor Sysoev <igor@sysoev.ru>
parents: 2841
diff changeset
376 ngx_flag_t client_body_in_single_buffer;
10d6b9950453 client_body_in_single_buffer
Igor Sysoev <igor@sysoev.ru>
parents: 2841
diff changeset
377 /* client_body_in_singe_buffer */
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
378 ngx_flag_t internal; /* internal */
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
379 ngx_flag_t sendfile; /* sendfile */
3052
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2979
diff changeset
380 #if (NGX_HAVE_FILE_AIO)
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2979
diff changeset
381 ngx_flag_t aio; /* aio */
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2979
diff changeset
382 #endif
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
383 ngx_flag_t tcp_nopush; /* tcp_nopush */
452
23fb87bddda1 nginx-0.1.1-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
384 ngx_flag_t tcp_nodelay; /* tcp_nodelay */
346
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 335
diff changeset
385 ngx_flag_t reset_timedout_connection; /* reset_timedout_connection */
1804
d457a1576532 several changes in server_name:
Igor Sysoev <igor@sysoev.ru>
parents: 1790
diff changeset
386 ngx_flag_t server_name_in_redirect; /* server_name_in_redirect */
521
6f00349b98e5 nginx-0.1.35-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 511
diff changeset
387 ngx_flag_t port_in_redirect; /* port_in_redirect */
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
388 ngx_flag_t msie_padding; /* msie_padding */
679
df95dcff753a nginx-0.3.61-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 673
diff changeset
389 ngx_flag_t msie_refresh; /* msie_refresh */
527
7fa11e5c6e96 nginx-0.1.38-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 523
diff changeset
390 ngx_flag_t log_not_found; /* log_not_found */
2261
07bf557a2e40 *) log_subrequest
Igor Sysoev <igor@sysoev.ru>
parents: 2256
diff changeset
391 ngx_flag_t log_subrequest; /* log_subrequest */
679
df95dcff753a nginx-0.3.61-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 673
diff changeset
392 ngx_flag_t recursive_error_pages; /* recursive_error_pages */
1592
128ea9efb824 server_tokens
Igor Sysoev <igor@sysoev.ru>
parents: 1585
diff changeset
393 ngx_flag_t server_tokens; /* server_tokens */
3484
81457372d938 chunked_transfer_encoding
Igor Sysoev <igor@sysoev.ru>
parents: 3395
diff changeset
394 ngx_flag_t chunked_transfer_encoding; /* chunked_transfer_encoding */
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 257
diff changeset
395
1790
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
396 #if (NGX_HTTP_GZIP)
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
397 ngx_flag_t gzip_vary; /* gzip_vary */
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
398
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
399 ngx_uint_t gzip_http_version; /* gzip_http_version */
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
400 ngx_uint_t gzip_proxied; /* gzip_proxied */
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
401
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
402 #if (NGX_PCRE)
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
403 ngx_array_t *gzip_disable; /* gzip_disable */
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
404 #endif
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
405 #endif
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
406
4477
7033faf6dc3c Added disable_symlinks directive.
Andrey Belov <defan@nginx.com>
parents: 4412
diff changeset
407 #if (NGX_HAVE_OPENAT)
7033faf6dc3c Added disable_symlinks directive.
Andrey Belov <defan@nginx.com>
parents: 4412
diff changeset
408 ngx_uint_t disable_symlinks; /* disable_symlinks */
4495
b4379a91f9b5 Disable symlinks: added the "from=" parameter to the "disable_symlinks"
Valentin Bartenev <vbart@nginx.com>
parents: 4494
diff changeset
409 ngx_http_complex_value_t *disable_symlinks_from;
4477
7033faf6dc3c Added disable_symlinks directive.
Andrey Belov <defan@nginx.com>
parents: 4412
diff changeset
410 #endif
7033faf6dc3c Added disable_symlinks directive.
Andrey Belov <defan@nginx.com>
parents: 4412
diff changeset
411
176
c0552e5ab567 nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents: 162
diff changeset
412 ngx_array_t *error_pages; /* error_page */
2407
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
413 ngx_http_try_file_t *try_files; /* try_files */
158
d377ee423603 nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 154
diff changeset
414
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
415 ngx_path_t *client_body_temp_path; /* client_body_temp_path */
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
416
1454
f497ed7682a7 open_file_cache in HTTP
Igor Sysoev <igor@sysoev.ru>
parents: 1387
diff changeset
417 ngx_open_file_cache_t *open_file_cache;
1767
c42431762903 open_file_cache_retest > open_file_cache_valid
Igor Sysoev <igor@sysoev.ru>
parents: 1652
diff changeset
418 time_t open_file_cache_valid;
1772
25c93614e6b9 open_file_cache_min_uses
Igor Sysoev <igor@sysoev.ru>
parents: 1767
diff changeset
419 ngx_uint_t open_file_cache_min_uses;
1454
f497ed7682a7 open_file_cache in HTTP
Igor Sysoev <igor@sysoev.ru>
parents: 1387
diff changeset
420 ngx_flag_t open_file_cache_errors;
1457
223e92651ca5 open_file_cache_events
Igor Sysoev <igor@sysoev.ru>
parents: 1454
diff changeset
421 ngx_flag_t open_file_cache_events;
201
267ea1d98683 nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
422
2785
d478379e51ac *) refactor error_log processing: listen socket log might inherit built-in
Igor Sysoev <igor@sysoev.ru>
parents: 2701
diff changeset
423 ngx_log_t *error_log;
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents: 190
diff changeset
424
589
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 581
diff changeset
425 ngx_uint_t types_hash_max_size;
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 581
diff changeset
426 ngx_uint_t types_hash_bucket_size;
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 581
diff changeset
427
2028
bff8689c6953 move configuration phase only field to the end of structure
Igor Sysoev <igor@sysoev.ru>
parents: 2027
diff changeset
428 ngx_queue_t *locations;
bff8689c6953 move configuration phase only field to the end of structure
Igor Sysoev <igor@sysoev.ru>
parents: 2027
diff changeset
429
485
4ebe09b07e30 nginx-0.1.17-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
430 #if 0
396
6f3b20c1ac50 nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents: 395
diff changeset
431 ngx_http_core_loc_conf_t *prev_location;
485
4ebe09b07e30 nginx-0.1.17-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
432 #endif
396
6f3b20c1ac50 nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents: 395
diff changeset
433 };
13
2aba961a1d34 nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
434
2aba961a1d34 nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
435
2027
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
436 typedef struct {
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
437 ngx_queue_t queue;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
438 ngx_http_core_loc_conf_t *exact;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
439 ngx_http_core_loc_conf_t *inclusive;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
440 ngx_str_t *name;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
441 u_char *file_name;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
442 ngx_uint_t line;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
443 ngx_queue_t list;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
444 } ngx_http_location_queue_t;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
445
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
446
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
447 struct ngx_http_location_tree_node_s {
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
448 ngx_http_location_tree_node_t *left;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
449 ngx_http_location_tree_node_t *right;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
450 ngx_http_location_tree_node_t *tree;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
451
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
452 ngx_http_core_loc_conf_t *exact;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
453 ngx_http_core_loc_conf_t *inclusive;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
454
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
455 u_char auto_redirect;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
456 u_char len;
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
457 u_char name[1];
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
458 };
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
459
f321b59ae0e9 locations tree
Igor Sysoev <igor@sysoev.ru>
parents: 2024
diff changeset
460
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
461 void ngx_http_core_run_phases(ngx_http_request_t *r);
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
462 ngx_int_t ngx_http_core_generic_phase(ngx_http_request_t *r,
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
463 ngx_http_phase_handler_t *ph);
3634
40e356cf4176 add files missed in the previuos commit
Igor Sysoev <igor@sysoev.ru>
parents: 3632
diff changeset
464 ngx_int_t ngx_http_core_rewrite_phase(ngx_http_request_t *r,
40e356cf4176 add files missed in the previuos commit
Igor Sysoev <igor@sysoev.ru>
parents: 3632
diff changeset
465 ngx_http_phase_handler_t *ph);
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
466 ngx_int_t ngx_http_core_find_config_phase(ngx_http_request_t *r,
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
467 ngx_http_phase_handler_t *ph);
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
468 ngx_int_t ngx_http_core_post_rewrite_phase(ngx_http_request_t *r,
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
469 ngx_http_phase_handler_t *ph);
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
470 ngx_int_t ngx_http_core_access_phase(ngx_http_request_t *r,
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
471 ngx_http_phase_handler_t *ph);
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
472 ngx_int_t ngx_http_core_post_access_phase(ngx_http_request_t *r,
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
473 ngx_http_phase_handler_t *ph);
2407
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
474 ngx_int_t ngx_http_core_try_files_phase(ngx_http_request_t *r,
16d1236bc298 try_files
Igor Sysoev <igor@sysoev.ru>
parents: 2361
diff changeset
475 ngx_http_phase_handler_t *ph);
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
476 ngx_int_t ngx_http_core_content_phase(ngx_http_request_t *r,
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 679
diff changeset
477 ngx_http_phase_handler_t *ph);
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 41
diff changeset
478
2138
fb3b084e7d42 test Content-Type via hash:
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
479
fb3b084e7d42 test Content-Type via hash:
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
480 void *ngx_http_test_content_type(ngx_http_request_t *r, ngx_hash_t *types_hash);
201
267ea1d98683 nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
481 ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r);
2979
b941147f2b2e ngx_http_set_exten() is always successful since 0.3.46
Igor Sysoev <igor@sysoev.ru>
parents: 2907
diff changeset
482 void ngx_http_set_exten(ngx_http_request_t *r);
3632
920919d9148c ngx_http_send_response()
Igor Sysoev <igor@sysoev.ru>
parents: 3535
diff changeset
483 ngx_int_t ngx_http_send_response(ngx_http_request_t *r, ngx_uint_t status,
920919d9148c ngx_http_send_response()
Igor Sysoev <igor@sysoev.ru>
parents: 3535
diff changeset
484 ngx_str_t *ct, ngx_http_complex_value_t *cv);
557
ecd9c160f25b nginx-0.3.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
485 u_char *ngx_http_map_uri_to_path(ngx_http_request_t *r, ngx_str_t *name,
773
c3ebeee31026 remove r->root_length
Igor Sysoev <igor@sysoev.ru>
parents: 758
diff changeset
486 size_t *root_length, size_t reserved);
539
371c1cee100d nginx-0.1.44-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 527
diff changeset
487 ngx_int_t ngx_http_auth_basic_user(ngx_http_request_t *r);
1790
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
488 #if (NGX_HTTP_GZIP)
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
489 ngx_int_t ngx_http_gzip_ok(ngx_http_request_t *r);
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
490 #endif
775edc46ee66 ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents: 1772
diff changeset
491
201
267ea1d98683 nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
492
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 507
diff changeset
493 ngx_int_t ngx_http_subrequest(ngx_http_request_t *r,
758
86bb73dc8d40 fix <!--#include virtual=... wait="yes" -->
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
494 ngx_str_t *uri, ngx_str_t *args, ngx_http_request_t **sr,
777
4ab852b691f5 <!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents: 773
diff changeset
495 ngx_http_post_subrequest_t *psr, ngx_uint_t flags);
356
2e3cbc1bbe3c nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
496 ngx_int_t ngx_http_internal_redirect(ngx_http_request_t *r,
499
64d9afb209da nginx-0.1.24-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 489
diff changeset
497 ngx_str_t *uri, ngx_str_t *args);
1353
7443fbe0b013 named location
Igor Sysoev <igor@sysoev.ru>
parents: 1253
diff changeset
498 ngx_int_t ngx_http_named_location(ngx_http_request_t *r, ngx_str_t *name);
7443fbe0b013 named location
Igor Sysoev <igor@sysoev.ru>
parents: 1253
diff changeset
499
485
4ebe09b07e30 nginx-0.1.17-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 479
diff changeset
500
569
174f1e853e1e nginx-0.3.6-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 563
diff changeset
501 ngx_http_cleanup_t *ngx_http_cleanup_add(ngx_http_request_t *r, size_t size);
174f1e853e1e nginx-0.3.6-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 563
diff changeset
502
44
0e81ac0bb3e2 nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 41
diff changeset
503
356
2e3cbc1bbe3c nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
504 typedef ngx_int_t (*ngx_http_output_header_filter_pt)(ngx_http_request_t *r);
2e3cbc1bbe3c nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
505 typedef ngx_int_t (*ngx_http_output_body_filter_pt)
499
64d9afb209da nginx-0.1.24-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 489
diff changeset
506 (ngx_http_request_t *r, ngx_chain_t *chain);
346
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 335
diff changeset
507
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 335
diff changeset
508
356
2e3cbc1bbe3c nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
509 ngx_int_t ngx_http_output_filter(ngx_http_request_t *r, ngx_chain_t *chain);
2e3cbc1bbe3c nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
510 ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *chain);
346
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 335
diff changeset
511
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 335
diff changeset
512
4494
13e09cf11d4e Disable symlinks: initialization of the "disable_symlinks" field in
Valentin Bartenev <vbart@nginx.com>
parents: 4477
diff changeset
513 ngx_int_t ngx_http_set_disable_symlinks(ngx_http_request_t *r,
13e09cf11d4e Disable symlinks: initialization of the "disable_symlinks" field in
Valentin Bartenev <vbart@nginx.com>
parents: 4477
diff changeset
514 ngx_http_core_loc_conf_t *clcf, ngx_str_t *path, ngx_open_file_info_t *of);
13e09cf11d4e Disable symlinks: initialization of the "disable_symlinks" field in
Valentin Bartenev <vbart@nginx.com>
parents: 4477
diff changeset
515
4668
ba2c7463ce18 Merge of r4614, r4624-r4629, r4631: proxy recursive changes.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4495
diff changeset
516 ngx_int_t ngx_http_get_forwarded_addr(ngx_http_request_t *r, ngx_addr_t *addr,
ba2c7463ce18 Merge of r4614, r4624-r4629, r4631: proxy recursive changes.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4495
diff changeset
517 u_char *xff, size_t xfflen, ngx_array_t *proxies, int recursive);
ba2c7463ce18 Merge of r4614, r4624-r4629, r4631: proxy recursive changes.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4495
diff changeset
518
4494
13e09cf11d4e Disable symlinks: initialization of the "disable_symlinks" field in
Valentin Bartenev <vbart@nginx.com>
parents: 4477
diff changeset
519
577
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
520 extern ngx_module_t ngx_http_core_module;
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
521
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
522 extern ngx_uint_t ngx_http_max_module;
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
523
2701
756f73ca1e39 support HEAD in proxy cache
Igor Sysoev <igor@sysoev.ru>
parents: 2695
diff changeset
524 extern ngx_str_t ngx_http_core_get_method;
756f73ca1e39 support HEAD in proxy cache
Igor Sysoev <igor@sysoev.ru>
parents: 2695
diff changeset
525
577
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
526
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
527 #define ngx_http_clear_content_length(r) \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
528 \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
529 r->headers_out.content_length_n = -1; \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
530 if (r->headers_out.content_length) { \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
531 r->headers_out.content_length->hash = 0; \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
532 r->headers_out.content_length = NULL; \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
533 }
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
534 \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
535 #define ngx_http_clear_accept_ranges(r) \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
536 \
581
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
537 r->allow_ranges = 0; \
577
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
538 if (r->headers_out.accept_ranges) { \
2024
7018254cc006 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1982
diff changeset
539 r->headers_out.accept_ranges->hash = 0; \
577
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
540 r->headers_out.accept_ranges = NULL; \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
541 }
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
542
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
543 #define ngx_http_clear_last_modified(r) \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
544 \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
545 r->headers_out.last_modified_time = -1; \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
546 if (r->headers_out.last_modified) { \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
547 r->headers_out.last_modified->hash = 0; \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
548 r->headers_out.last_modified = NULL; \
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
549 }
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
550
4206
1a94a56a4e5d Clear old Location header (if any) while adding a new one.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4062
diff changeset
551 #define ngx_http_clear_location(r) \
1a94a56a4e5d Clear old Location header (if any) while adding a new one.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4062
diff changeset
552 \
1a94a56a4e5d Clear old Location header (if any) while adding a new one.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4062
diff changeset
553 if (r->headers_out.location) { \
1a94a56a4e5d Clear old Location header (if any) while adding a new one.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4062
diff changeset
554 r->headers_out.location->hash = 0; \
1a94a56a4e5d Clear old Location header (if any) while adding a new one.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4062
diff changeset
555 r->headers_out.location = NULL; \
1a94a56a4e5d Clear old Location header (if any) while adding a new one.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4062
diff changeset
556 }
1a94a56a4e5d Clear old Location header (if any) while adding a new one.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4062
diff changeset
557
577
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 573
diff changeset
558
13
2aba961a1d34 nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
559 #endif /* _NGX_HTTP_CORE_H_INCLUDED_ */