Mercurial > hg > nginx
comparison src/http/ngx_http_header_filter.c @ 461:a88a3e4e158f release-0.1.5
nginx-0.1.5-RELEASE import
*) Bugfix: on Solaris and Linux there may be too many "recvmsg()
returned not enough data" alerts.
*) Bugfix: there were the "writev() failed (22: Invalid argument)"
errors on Solaris in proxy mode without sendfile. On other platforms
that do not support sendfile at all the process got caught in an
endless loop.
*) Bugfix: segmentation fault on Solaris in proxy mode and using
sendfile.
*) Bugfix: segmentation fault on Solaris.
*) Bugfix: on-line upgrade did not work on Linux.
*) Bugfix: the ngx_http_autoindex_module module did not escape the
spaces, the quotes, and the percent signs in the directory listing.
*) Change: the decrease of the copy operations.
*) Feature: the userid_p3p directive.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 11 Nov 2004 14:07:14 +0000 |
parents | ded1284520cc |
children | 8e8f3af115b5 |
comparison
equal
deleted
inserted
replaced
460:5f8319142dfc | 461:a88a3e4e158f |
---|---|
317 | 317 |
318 if (r->headers_out.content_length == NULL) { | 318 if (r->headers_out.content_length == NULL) { |
319 if (r->headers_out.content_length_n >= 0) { | 319 if (r->headers_out.content_length_n >= 0) { |
320 b->last = ngx_sprintf(b->last, "Content-Length: %O" CRLF, | 320 b->last = ngx_sprintf(b->last, "Content-Length: %O" CRLF, |
321 r->headers_out.content_length_n); | 321 r->headers_out.content_length_n); |
322 | |
323 #if 0 | |
324 b->last += ngx_snprintf((char *) b->last, | |
325 sizeof("Content-Length: ") + NGX_OFF_T_LEN + 2, | |
326 "Content-Length: " OFF_T_FMT CRLF, | |
327 r->headers_out.content_length_n); | |
328 #endif | |
329 } | 322 } |
330 } | 323 } |
331 | 324 |
332 if (r->headers_out.content_type && r->headers_out.content_type->value.len) { | 325 if (r->headers_out.content_type && r->headers_out.content_type->value.len) { |
333 b->last = ngx_cpymem(b->last, "Content-Type: ", | 326 b->last = ngx_cpymem(b->last, "Content-Type: ", |
394 if (clcf->keepalive_header | 387 if (clcf->keepalive_header |
395 && (r->headers_in.gecko || r->headers_in.konqueror)) | 388 && (r->headers_in.gecko || r->headers_in.konqueror)) |
396 { | 389 { |
397 b->last = ngx_sprintf(b->last, "Keep-Alive: timeout=%T" CRLF, | 390 b->last = ngx_sprintf(b->last, "Keep-Alive: timeout=%T" CRLF, |
398 clcf->keepalive_header); | 391 clcf->keepalive_header); |
399 #if 0 | |
400 b->last += ngx_snprintf((char *) b->last, | |
401 sizeof("Keep-Alive: timeout=") + TIME_T_LEN + 2, | |
402 "Keep-Alive: timeout=" TIME_T_FMT CRLF, | |
403 clcf->keepalive_header); | |
404 #endif | |
405 } | 392 } |
406 | 393 |
407 } else { | 394 } else { |
408 b->last = ngx_cpymem(b->last, "Connection: close" CRLF, | 395 b->last = ngx_cpymem(b->last, "Connection: close" CRLF, |
409 sizeof("Connection: close" CRLF) - 1); | 396 sizeof("Connection: close" CRLF) - 1); |