comparison auto/unix @ 258:6ae1357b7b7c NGINX_0_4_14

nginx 0.4.14 *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy. *) Feature: now configure detects system PCRE library on FreeBSD, Linux, and NetBSD. *) Bugfix: ngx_http_perl_module did not work with perl built with the threads support; bug appeared in 0.3.38. *) Bugfix: ngx_http_perl_module did not work if perl was called recursively. *) Bugfix: nginx ignored a host name in an request line. *) Bugfix: a worker process may got caught in an endless loop, if a FastCGI server sent too many data to the stderr. *) Bugfix: the $upstream_response_time variable may be negative if the system time was changed backward. *) Bugfix: the "Auth-Login-Attempt" parameter was not sent to IMAP/POP3 proxy authentication server when POP3 was used. *) Bugfix: a segmentation fault might occur if connect to IMAP/POP3 proxy authentication server failed.
author Igor Sysoev <http://sysoev.ru>
date Mon, 27 Nov 2006 00:00:00 +0300
parents 0ad9eeb6ac7f
children 79c5df00501e
comparison
equal deleted inserted replaced
257:0e566ee1bcd5 258:6ae1357b7b7c
66 66
67 ngx_feature="setproctitle()" 67 ngx_feature="setproctitle()"
68 ngx_feature_name="NGX_HAVE_SETPROCTITLE" 68 ngx_feature_name="NGX_HAVE_SETPROCTITLE"
69 ngx_feature_run=no 69 ngx_feature_run=no
70 ngx_feature_incs= 70 ngx_feature_incs=
71 ngx_feature_path=
71 ngx_feature_libs=$NGX_SETPROCTITLE_LIB 72 ngx_feature_libs=$NGX_SETPROCTITLE_LIB
72 ngx_feature_test="setproctitle(\"test\");" 73 ngx_feature_test="setproctitle(\"test\");"
73 . auto/feature 74 . auto/feature
74 75
75 76
76 ngx_feature="pread()" 77 ngx_feature="pread()"
77 ngx_feature_name="NGX_HAVE_PREAD" 78 ngx_feature_name="NGX_HAVE_PREAD"
78 ngx_feature_run=no 79 ngx_feature_run=no
79 ngx_feature_incs= 80 ngx_feature_incs=
81 ngx_feature_path=
80 ngx_feature_libs= 82 ngx_feature_libs=
81 ngx_feature_test="char buf[1]; ssize_t n; n = pread(0, buf, 1, 0)" 83 ngx_feature_test="char buf[1]; ssize_t n; n = pread(0, buf, 1, 0)"
82 . auto/feature 84 . auto/feature
83 85
84 86
85 ngx_feature="pwrite()" 87 ngx_feature="pwrite()"
86 ngx_feature_name="NGX_HAVE_PWRITE" 88 ngx_feature_name="NGX_HAVE_PWRITE"
87 ngx_feature_run=no 89 ngx_feature_run=no
88 ngx_feature_incs= 90 ngx_feature_incs=
91 ngx_feature_path=
89 ngx_feature_libs= 92 ngx_feature_libs=
90 ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0)" 93 ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0)"
91 . auto/feature 94 . auto/feature
92 95
93 96
94 ngx_feature="strerror_r()" 97 ngx_feature="strerror_r()"
95 ngx_feature_name="NGX_HAVE_STRERROR_R" 98 ngx_feature_name="NGX_HAVE_STRERROR_R"
96 ngx_feature_run=yes 99 ngx_feature_run=yes
97 ngx_feature_incs="#include <string.h>" 100 ngx_feature_incs="#include <string.h>"
101 ngx_feature_path=
98 ngx_feature_libs= 102 ngx_feature_libs=
99 ngx_feature_test="char buf[1024]; long n; n = strerror_r(1, buf, 1024); 103 ngx_feature_test="char buf[1024]; long n; n = strerror_r(1, buf, 1024);
100 if (n < 0 || n > 1024) return 1;" 104 if (n < 0 || n > 1024) return 1;"
101 . auto/feature 105 . auto/feature
102 106
105 109
106 ngx_feature="gnu style strerror_r()" 110 ngx_feature="gnu style strerror_r()"
107 ngx_feature_name="NGX_HAVE_GNU_STRERROR_R" 111 ngx_feature_name="NGX_HAVE_GNU_STRERROR_R"
108 ngx_feature_run=yes 112 ngx_feature_run=yes
109 ngx_feature_incs="#include <string.h>" 113 ngx_feature_incs="#include <string.h>"
114 ngx_feature_path=
110 ngx_feature_libs= 115 ngx_feature_libs=
111 ngx_feature_test="char buf[1024]; long n; n = strerror_r(1, buf, 1024); 116 ngx_feature_test="char buf[1024]; long n; n = strerror_r(1, buf, 1024);
112 if (n >= 0 && n < 1024) return 1;" 117 if (n >= 0 && n < 1024) return 1;"
113 . auto/feature 118 . auto/feature
114 119
115 120
116 ngx_feature="localtime_r()" 121 ngx_feature="localtime_r()"
117 ngx_feature_name="NGX_HAVE_LOCALTIME_R" 122 ngx_feature_name="NGX_HAVE_LOCALTIME_R"
118 ngx_feature_run=no 123 ngx_feature_run=no
119 ngx_feature_incs="#include <time.h>" 124 ngx_feature_incs="#include <time.h>"
125 ngx_feature_path=
120 ngx_feature_libs= 126 ngx_feature_libs=
121 ngx_feature_test="struct tm t; time_t c=0; localtime_r(&c, &t)" 127 ngx_feature_test="struct tm t; time_t c=0; localtime_r(&c, &t)"
122 . auto/feature 128 . auto/feature
123 129
124 130
125 ngx_feature="posix_memalign()" 131 ngx_feature="posix_memalign()"
126 ngx_feature_name="NGX_HAVE_POSIX_MEMALIGN" 132 ngx_feature_name="NGX_HAVE_POSIX_MEMALIGN"
127 ngx_feature_run=no 133 ngx_feature_run=no
128 ngx_feature_incs="#include <stdlib.h>" 134 ngx_feature_incs="#include <stdlib.h>"
135 ngx_feature_path=
129 ngx_feature_libs= 136 ngx_feature_libs=
130 ngx_feature_test="void *p; int n; n = posix_memalign(&p, 4096, 4096)" 137 ngx_feature_test="void *p; int n; n = posix_memalign(&p, 4096, 4096)"
131 . auto/feature 138 . auto/feature
132 139
133 140
134 ngx_feature="memalign()" 141 ngx_feature="memalign()"
135 ngx_feature_name="NGX_HAVE_MEMALIGN" 142 ngx_feature_name="NGX_HAVE_MEMALIGN"
136 ngx_feature_run=no 143 ngx_feature_run=no
137 ngx_feature_incs="#include <stdlib.h>" 144 ngx_feature_incs="#include <stdlib.h>"
145 ngx_feature_path=
138 ngx_feature_libs= 146 ngx_feature_libs=
139 ngx_feature_test="void *p; p = memalign(4096, 4096)" 147 ngx_feature_test="void *p; p = memalign(4096, 4096)"
140 . auto/feature 148 . auto/feature
141 149
142 150
143 ngx_feature="sched_yield()" 151 ngx_feature="sched_yield()"
144 ngx_feature_name="NGX_HAVE_SCHED_YIELD" 152 ngx_feature_name="NGX_HAVE_SCHED_YIELD"
145 ngx_feature_run=no 153 ngx_feature_run=no
146 ngx_feature_incs="#include <sched.h>" 154 ngx_feature_incs="#include <sched.h>"
155 ngx_feature_path=
147 ngx_feature_libs= 156 ngx_feature_libs=
148 ngx_feature_test="sched_yield()" 157 ngx_feature_test="sched_yield()"
149 . auto/feature 158 . auto/feature
150 159
151 160
152 ngx_feature="mmap(MAP_ANON|MAP_SHARED)" 161 ngx_feature="mmap(MAP_ANON|MAP_SHARED)"
153 ngx_feature_name="NGX_HAVE_MAP_ANON" 162 ngx_feature_name="NGX_HAVE_MAP_ANON"
154 ngx_feature_run=yes 163 ngx_feature_run=yes
155 ngx_feature_incs="#include <sys/mman.h>" 164 ngx_feature_incs="#include <sys/mman.h>"
165 ngx_feature_path=
156 ngx_feature_libs= 166 ngx_feature_libs=
157 ngx_feature_test="void *p; 167 ngx_feature_test="void *p;
158 p = mmap(NULL, 4096, PROT_READ|PROT_WRITE, 168 p = mmap(NULL, 4096, PROT_READ|PROT_WRITE,
159 MAP_ANON|MAP_SHARED, -1, 0); 169 MAP_ANON|MAP_SHARED, -1, 0);
160 if (p == MAP_FAILED) return 1;" 170 if (p == MAP_FAILED) return 1;"
165 ngx_feature_name="NGX_HAVE_MAP_DEVZERO" 175 ngx_feature_name="NGX_HAVE_MAP_DEVZERO"
166 ngx_feature_run=yes 176 ngx_feature_run=yes
167 ngx_feature_incs="#include <sys/mman.h> 177 ngx_feature_incs="#include <sys/mman.h>
168 #include <sys/stat.h> 178 #include <sys/stat.h>
169 #include <fcntl.h>" 179 #include <fcntl.h>"
180 ngx_feature_path=
170 ngx_feature_libs= 181 ngx_feature_libs=
171 ngx_feature_test='void *p; int fd; 182 ngx_feature_test='void *p; int fd;
172 fd = open("/dev/zero", O_RDWR); 183 fd = open("/dev/zero", O_RDWR);
173 p = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); 184 p = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
174 if (p == MAP_FAILED) return 1;' 185 if (p == MAP_FAILED) return 1;'
178 ngx_feature="System V shared memory" 189 ngx_feature="System V shared memory"
179 ngx_feature_name="NGX_HAVE_SYSVSHM" 190 ngx_feature_name="NGX_HAVE_SYSVSHM"
180 ngx_feature_run=yes 191 ngx_feature_run=yes
181 ngx_feature_incs="#include <sys/ipc.h> 192 ngx_feature_incs="#include <sys/ipc.h>
182 #include <sys/shm.h>" 193 #include <sys/shm.h>"
194 ngx_feature_path=
183 ngx_feature_libs= 195 ngx_feature_libs=
184 ngx_feature_test="int id; 196 ngx_feature_test="int id;
185 id = shmget(IPC_PRIVATE, 4096, (SHM_R|SHM_W|IPC_CREAT)); 197 id = shmget(IPC_PRIVATE, 4096, (SHM_R|SHM_W|IPC_CREAT));
186 if (id == -1) return 1; 198 if (id == -1) return 1;
187 shmctl(id, IPC_RMID, NULL);" 199 shmctl(id, IPC_RMID, NULL);"
190 202
191 ngx_feature="struct msghdr.msg_control" 203 ngx_feature="struct msghdr.msg_control"
192 ngx_feature_name="NGX_HAVE_MSGHDR_MSG_CONTROL" 204 ngx_feature_name="NGX_HAVE_MSGHDR_MSG_CONTROL"
193 ngx_feature_run=no 205 ngx_feature_run=no
194 ngx_feature_incs="#include <sys/socket.h>" 206 ngx_feature_incs="#include <sys/socket.h>"
207 ngx_feature_path=
195 ngx_feature_libs= 208 ngx_feature_libs=
196 ngx_feature_test="struct msghdr msg; msg.msg_control = NULL" 209 ngx_feature_test="struct msghdr msg; msg.msg_control = NULL"
197 . auto/feature 210 . auto/feature
198 211
199 212
200 ngx_feature="ioctl(FIONBIO)" 213 ngx_feature="ioctl(FIONBIO)"
201 ngx_feature_name="NGX_HAVE_FIONBIO" 214 ngx_feature_name="NGX_HAVE_FIONBIO"
202 ngx_feature_run=no 215 ngx_feature_run=no
203 ngx_feature_incs="#include <sys/ioctl.h> 216 ngx_feature_incs="#include <sys/ioctl.h>
204 $NGX_INCLUDE_SYS_FILIO_H" 217 $NGX_INCLUDE_SYS_FILIO_H"
218 ngx_feature_path=
205 ngx_feature_libs= 219 ngx_feature_libs=
206 ngx_feature_test="int i; i = FIONBIO" 220 ngx_feature_test="int i; i = FIONBIO"
207 . auto/feature 221 . auto/feature
208 222
209 223
210 ngx_feature="struct tm.tm_gmtoff" 224 ngx_feature="struct tm.tm_gmtoff"
211 ngx_feature_name="NGX_HAVE_GMTOFF" 225 ngx_feature_name="NGX_HAVE_GMTOFF"
212 ngx_feature_run=no 226 ngx_feature_run=no
213 ngx_feature_incs="#include <time.h>" 227 ngx_feature_incs="#include <time.h>"
228 ngx_feature_path=
214 ngx_feature_libs= 229 ngx_feature_libs=
215 ngx_feature_test="struct tm tm; tm.tm_gmtoff = 0" 230 ngx_feature_test="struct tm tm; tm.tm_gmtoff = 0"
216 . auto/feature 231 . auto/feature