Mercurial > hg > nginx-mail
comparison src/core/ngx_buf.c @ 130:82d695e3d662 NGINX_0_3_12
nginx 0.3.12
*) Security: if nginx was built with the ngx_http_realip_module and the
"satisfy_any on" directive was used, then access and authorization
directives did not work. The ngx_http_realip_module was not built
and is not built by default.
*) Change: the "$time_gmt" variable name was changed to "$time_local".
*) Change: the "proxy_header_buffer_size" and
"fastcgi_header_buffer_size" directives was renamed to the
"proxy_buffer_size" and "fastcgi_buffer_size" directives.
*) Feature: the ngx_http_memcached_module.
*) Feature: the "proxy_buffering" directive.
*) Bugfix: the changes in accept mutex handling when the "rtsig" method
was used; bug appeared in 0.3.0.
*) Bugfix: if the client sent the "Transfer-Encoding: chunked" header
line, then nginx returns the 411 error.
*) Bugfix: if the "auth_basic" directive was inherited from the http
level, then the realm in the "WWW-Authenticate" header line was
without the "Basic realm" text.
*) Bugfix: if the "combined" format was explicitly specified in the
"access_log" directive, then the empty lines was written to the log;
bug appeared in 0.3.8.
*) Bugfix: nginx did not run on the sparc platform under any OS except
Solaris.
*) Bugfix: now it is not necessary to place space between the quoted
string and closing bracket in the "if" directive.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Sat, 26 Nov 2005 00:00:00 +0300 |
parents | b55cbf18157e |
children | af7f2341ecc5 |
comparison
equal
deleted
inserted
replaced
129:a27c77ef3ad8 | 130:82d695e3d662 |
---|---|
149 | 149 |
150 return NGX_OK; | 150 return NGX_OK; |
151 } | 151 } |
152 | 152 |
153 | 153 |
154 ngx_chain_t * | |
155 ngx_chain_get_free_buf(ngx_pool_t *p, ngx_chain_t **free) | |
156 { | |
157 ngx_chain_t *cl; | |
158 | |
159 if (*free) { | |
160 cl = *free; | |
161 *free = cl->next; | |
162 cl->next = NULL; | |
163 return cl; | |
164 } | |
165 | |
166 cl = ngx_alloc_chain_link(p); | |
167 if (cl == NULL) { | |
168 return NULL; | |
169 } | |
170 | |
171 cl->buf = ngx_calloc_buf(p); | |
172 if (cl->buf == NULL) { | |
173 return NULL; | |
174 } | |
175 | |
176 cl->next = NULL; | |
177 | |
178 return cl; | |
179 } | |
180 | |
181 | |
154 void | 182 void |
155 ngx_chain_update_chains(ngx_chain_t **free, ngx_chain_t **busy, | 183 ngx_chain_update_chains(ngx_chain_t **free, ngx_chain_t **busy, |
156 ngx_chain_t **out, ngx_buf_tag_t tag) | 184 ngx_chain_t **out, ngx_buf_tag_t tag) |
157 { | 185 { |
158 ngx_chain_t *cl; | 186 ngx_chain_t *cl; |