Mercurial > hg > nginx-vendor-0-8
comparison src/http/modules/ngx_http_fastcgi_module.c @ 570:8246d8a2c2be NGINX_0_8_37
nginx 0.8.37
*) Feature: the ngx_http_split_clients_module.
*) Feature: the "map" directive supports keys more than 255 characters.
*) Bugfix: nginx ignored the "private" and "no-store" values in the
"Cache-Control" backend response header line.
*) Bugfix: a "stub" parameter of an "include" SSI directive was not
used, if empty response has 200 status code.
*) Bugfix: if a proxied or FastCGI request was internally redirected to
another proxied or FastCGI location, then a segmentation fault might
occur in a worker process; the bug had appeared in 0.8.33.
Thanks to Yichun Zhang.
*) Bugfix: IMAP connections may hang until they timed out while talking
to Zimbra server.
Thanks to Alan Batie.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 17 May 2010 00:00:00 +0400 |
parents | 566e105a89f1 |
children | ff463db0be31 |
comparison
equal
deleted
inserted
replaced
569:19b134bf21c0 | 570:8246d8a2c2be |
---|---|
587 } | 587 } |
588 } | 588 } |
589 | 589 |
590 u = r->upstream; | 590 u = r->upstream; |
591 | 591 |
592 u->schema.len = sizeof("fastcgi://") - 1; | 592 ngx_str_set(&u->schema, "fastcgi://"); |
593 u->schema.data = (u_char *) "fastcgi://"; | |
594 | |
595 u->output.tag = (ngx_buf_tag_t) &ngx_http_fastcgi_module; | 593 u->output.tag = (ngx_buf_tag_t) &ngx_http_fastcgi_module; |
596 | 594 |
597 u->conf = &flcf->upstream; | 595 u->conf = &flcf->upstream; |
598 | 596 |
599 #if (NGX_HTTP_CACHE) | 597 #if (NGX_HTTP_CACHE) |
1447 u->headers_in.status_n = status; | 1445 u->headers_in.status_n = status; |
1448 u->headers_in.status_line = *status_line; | 1446 u->headers_in.status_line = *status_line; |
1449 | 1447 |
1450 } else if (u->headers_in.location) { | 1448 } else if (u->headers_in.location) { |
1451 u->headers_in.status_n = 302; | 1449 u->headers_in.status_n = 302; |
1452 u->headers_in.status_line.len = | 1450 ngx_str_set(&u->headers_in.status_line, |
1453 sizeof("302 Moved Temporarily") - 1; | 1451 "302 Moved Temporarily"); |
1454 u->headers_in.status_line.data = | |
1455 (u_char *) "302 Moved Temporarily"; | |
1456 | 1452 |
1457 } else { | 1453 } else { |
1458 u->headers_in.status_n = 200; | 1454 u->headers_in.status_n = 200; |
1459 u->headers_in.status_line.len = sizeof("200 OK") - 1; | 1455 ngx_str_set(&u->headers_in.status_line, "200 OK"); |
1460 u->headers_in.status_line.data = (u_char *) "200 OK"; | |
1461 } | 1456 } |
1462 | 1457 |
1463 if (u->state) { | 1458 if (u->state) { |
1464 u->state->status = u->headers_in.status_n; | 1459 u->state->status = u->headers_in.status_n; |
1465 } | 1460 } |
1920 * conf->upstream.uri = { 0, NULL }; | 1915 * conf->upstream.uri = { 0, NULL }; |
1921 * conf->upstream.location = NULL; | 1916 * conf->upstream.location = NULL; |
1922 * conf->upstream.store_lengths = NULL; | 1917 * conf->upstream.store_lengths = NULL; |
1923 * conf->upstream.store_values = NULL; | 1918 * conf->upstream.store_values = NULL; |
1924 * | 1919 * |
1925 * conf->index.len = 0; | 1920 * conf->index.len = { 0, NULL }; |
1926 * conf->index.data = NULL; | |
1927 */ | 1921 */ |
1928 | 1922 |
1929 conf->upstream.store = NGX_CONF_UNSET; | 1923 conf->upstream.store = NGX_CONF_UNSET; |
1930 conf->upstream.store_access = NGX_CONF_UNSET_UINT; | 1924 conf->upstream.store_access = NGX_CONF_UNSET_UINT; |
1931 conf->upstream.buffering = NGX_CONF_UNSET; | 1925 conf->upstream.buffering = NGX_CONF_UNSET; |