Mercurial > hg > nginx-ranges
annotate auto/os/conf @ 58:b55cbf18157e NGINX_0_1_29
nginx 0.1.29
*) Feature: the ngx_http_ssi_module supports "include virtual" command.
*) Feature: the ngx_http_ssi_module supports the condition command like
'if expr="$NAME"' and "else" and "endif" commands. Only one nested
level is supported.
*) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and
DATE_GMT variables and "config timefmt" command.
*) Feature: the "ssi_ignore_recycled_buffers" directive.
*) Bugfix: the "echo" command did not show the default value for the
empty QUERY_STRING variable.
*) Change: the ngx_http_proxy_module was rewritten.
*) Feature: the "proxy_redirect", "proxy_pass_request_headers",
"proxy_pass_request_body", and "proxy_method" directives.
*) Feature: the "proxy_set_header" directive. The "proxy_x_var" was
canceled and must be replaced with the proxy_set_header directive.
*) Change: the "proxy_preserve_host" is canceled and must be replaced
with the "proxy_set_header Host $host" and the "proxy_redirect off"
directives, the "proxy_set_header Host $host:$proxy_port" directive
and the appropriate proxy_redirect directives.
*) Change: the "proxy_set_x_real_ip" is canceled and must be replaced
with the "proxy_set_header X-Real-IP $remote_addr" directive.
*) Change: the "proxy_add_x_forwarded_for" is canceled and must be
replaced with
the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"
directive.
*) Change: the "proxy_set_x_url" is canceled and must be replaced with
the "proxy_set_header X-URL http://$host:$server_port$request_uri"
directive.
*) Feature: the "fastcgi_param" directive.
*) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params"
directive are canceled and must be replaced with the fastcgi_param
directives.
*) Feature: the "index" directive can use the variables.
*) Feature: the "index" directive can be used at http and server levels.
*) Change: the last index only in the "index" directive can be absolute.
*) Feature: the "rewrite" directive can use the variables.
*) Feature: the "internal" directive.
*) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
*) Change: nginx now passes the invalid lines in a client request
headers or a backend response header.
*) Bugfix: if the backend did not transfer response for a long time and
the "send_timeout" was less than "proxy_read_timeout", then nginx
returned the 408 response.
*) Bugfix: the segmentation fault was occurred if the backend sent an
invalid line in response header; bug appeared in 0.1.26.
*) Bugfix: the segmentation fault may occurred in FastCGI fault
tolerance configuration.
*) Bugfix: the "expires" directive did not remove the previous
"Expires" and "Cache-Control" headers.
*) Bugfix: nginx did not take into account trailing dot in "Host"
header line.
*) Bugfix: the ngx_http_auth_module did not work under Linux.
*) Bugfix: the rewrite directive worked incorrectly, if the arguments
were in a request.
*) Bugfix: nginx could not be built on MacOS X.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Thu, 12 May 2005 00:00:00 +0400 |
parents | 0d75d65c642f |
children | 5db440287648 |
rev | line source |
---|---|
0 | 1 |
2 # Copyright (C) Igor Sysoev | |
3 | |
4 | |
18 | 5 if test -z "$NGX_PLATFORM"; then |
0 | 6 echo "checking for OS" |
7 | |
28 | 8 NGX_SYSTEM=`uname -s 2>/dev/null` |
9 NGX_RELEASE=`uname -r 2>/dev/null` | |
10 NGX_MACHINE=`uname -m 2>/dev/null` | |
0 | 11 |
28 | 12 echo " + $NGX_SYSTEM $NGX_RELEASE $NGX_MACHINE" |
0 | 13 |
28 | 14 NGX_PLATFORM="$NGX_SYSTEM:$NGX_RELEASE:$NGX_MACHINE"; |
42 | 15 |
0 | 16 else |
18 | 17 echo "building for $NGX_PLATFORM" |
0 | 18 fi |
19 | |
42 | 20 case "$NGX_PLATFORM" in |
0 | 21 |
22 FreeBSD:* | DragonFly:*) | |
23 . auto/os/freebsd | |
24 ;; | |
25 | |
58 | 26 Darwin:*) |
27 have=NGX_DARWIN . auto/have_headers | |
28 have=NGX_HAVE_INHERITED_NONBLOCK . auto/have | |
29 CORE_INCS="$UNIX_INCS" | |
30 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" | |
31 CORE_SRCS="$UNIX_SRCS" | |
32 CRYPT_LIB= | |
33 ;; | |
34 | |
0 | 35 Linux:*) |
36 . auto/os/linux | |
37 ;; | |
38 | |
39 SunOS:*) | |
40 . auto/os/solaris | |
41 ;; | |
42 | |
43 win32) | |
4 | 44 . auto/os/win32 |
0 | 45 ;; |
46 | |
47 *) | |
48 CORE_INCS="$UNIX_INCS" | |
49 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" | |
50 CORE_SRCS="$UNIX_SRCS" | |
52 | 51 CRYPT_LIB="-lcrypt" |
0 | 52 ;; |
53 | |
54 esac | |
4 | 55 |
56 | |
42 | 57 case "$NGX_MACHINE" in |
28 | 58 |
58 | 59 i386|i686|i86pc|amd64) |
60 have=NGX_HAVE_NONALIGNED . auto/have | |
61 ;; | |
28 | 62 |
63 esac | |
64 | |
65 | |
42 | 66 if [ "$NGX_PLATFORM" != win32 ]; then |
4 | 67 |
58 | 68 NGX_USER=${NGX_USER:-nobody} |
22 | 69 |
70 if [ -z "$NGX_GROUP" -a $NGX_USER = nobody ] ; then | |
71 if grep nobody /etc/group 2>&1 >/dev/null; then | |
72 echo "checking for nobody group ... found" | |
73 NGX_GROUP=nobody | |
74 else | |
75 echo "checking for nobody group ... not found" | |
76 | |
77 if grep nogroup /etc/group 2>&1 >/dev/null; then | |
78 echo "checking for nogroup group ... found" | |
79 NGX_GROUP=nogroup | |
80 else | |
81 echo "checking for nogroup group ... not found" | |
82 NGX_GROUP=nobody | |
83 fi | |
84 fi | |
85 | |
86 else | |
87 NGX_GROUP=$NGX_USER | |
10 | 88 fi |
89 | |
90 | |
42 | 91 ngx_feature="poll()" |
92 ngx_feature_name= | |
93 ngx_feature_run=no | |
94 ngx_feature_incs="#include <poll.h>" | |
95 ngx_feature_libs= | |
96 ngx_feature_test="int n, dp; struct pollfd pl; | |
97 dp = 0; | |
98 pl.fd = 0; | |
99 pl.events = 0; | |
100 pl.revents = 0; | |
101 n = poll(&pl, 1, 0)" | |
102 . auto/feature | |
103 | |
104 if [ $ngx_found = no ]; then | |
105 EVENT_POLL=NONE | |
106 fi | |
107 | |
108 | |
4 | 109 ngx_feature="/dev/poll" |
18 | 110 ngx_feature_name="NGX_HAVE_DEVPOLL" |
4 | 111 ngx_feature_run=no |
112 ngx_feature_incs="#include <sys/devpoll.h>" | |
113 ngx_feature_libs= | |
114 ngx_feature_test="int n, dp; struct dvpoll dvp; | |
115 dp = 0; | |
116 dvp.dp_fds = NULL; | |
117 dvp.dp_nfds = 0; | |
118 dvp.dp_timeout = 0; | |
119 n = ioctl(dp, DP_POLL, &dvp)" | |
120 . auto/feature | |
121 | |
122 if [ $ngx_found = yes ]; then | |
123 CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS" | |
124 EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE" | |
125 EVENT_FOUND=YES | |
126 fi | |
127 | |
128 | |
129 if test -z "$NGX_KQUEUE_CHECKED"; then | |
130 ngx_feature="kqueue" | |
18 | 131 ngx_feature_name="NGX_HAVE_KQUEUE" |
4 | 132 ngx_feature_run=no |
133 ngx_feature_incs="#include <sys/event.h>" | |
134 ngx_feature_libs= | |
135 ngx_feature_test="int kq; kq = kqueue()" | |
136 . auto/feature | |
137 | |
138 if [ $ngx_found = yes ]; then | |
139 | |
18 | 140 have=NGX_HAVE_CLEAR_EVENT . auto/have |
4 | 141 EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE" |
142 CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS" | |
143 EVENT_FOUND=YES | |
144 | |
145 ngx_feature="kqueue's NOTE_LOWAT" | |
18 | 146 ngx_feature_name="NGX_HAVE_LOWAT_EVENT" |
4 | 147 ngx_feature_run=no |
148 ngx_feature_incs="#include <sys/event.h>" | |
149 ngx_feature_libs= | |
150 ngx_feature_test="struct kevent kev; | |
151 kev.fflags = NOTE_LOWAT;" | |
152 . auto/feature | |
153 fi | |
154 fi | |
38 | 155 |
42 | 156 if [ "$NGX_SYSTEM" = "NetBSD" ]; then |
38 | 157 |
158 # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t" | |
42 | 159 |
160 cat << END >> $NGX_AUTO_CONFIG_H | |
161 | |
162 #define NGX_KQUEUE_UDATA_T | |
163 | |
164 END | |
165 | |
166 else | |
38 | 167 cat << END >> $NGX_AUTO_CONFIG_H |
168 | |
169 #define NGX_KQUEUE_UDATA_T (void *) | |
170 | |
171 END | |
172 | |
42 | 173 fi |
4 | 174 fi |