comparison src/http/ngx_http_header_filter.c @ 10:46833bd150cb NGINX_0_1_5

nginx 0.1.5 *) 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 <http://sysoev.ru>
date Thu, 11 Nov 2004 00:00:00 +0300
parents 80ba094c6b3e
children 8b6db3bda591
comparison
equal deleted inserted replaced
9:77eee314ddbd 10:46833bd150cb
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);