comparison src/http/modules/ngx_http_proxy_module.c @ 642:d3cf6c6b0043 NGINX_1_1_5

nginx 1.1.5 *) Feature: the "uwsgi_buffering" and "scgi_buffering" directives. Thanks to Peter Smit. *) Bugfix: non-cacheable responses might be cached if "proxy_cache_bypass" directive was used. Thanks to John Ferlito. *) Bugfix: in HTTP/1.1 support in the ngx_http_proxy_module. *) Bugfix: cached responses with an empty body were returned incorrectly; the bug had appeared in 0.8.31. *) Bugfix: 201 responses of the ngx_http_dav_module were incorrect; the bug had appeared in 0.8.32. *) Bugfix: in the "return" directive. *) Bugfix: the "ssl_session_cache builtin" directive caused segmentation fault; the bug had appeared in 1.1.1.
author Igor Sysoev <http://sysoev.ru>
date Wed, 05 Oct 2011 00:00:00 +0400
parents eb208e0cf44d
children 6f21ae02fb01
comparison
equal deleted inserted replaced
641:6c19b251b926 642:d3cf6c6b0043
1557 1557
1558 } else if (p->length < 0) { 1558 } else if (p->length < 0) {
1559 r = p->input_ctx; 1559 r = p->input_ctx;
1560 p->upstream_done = 1; 1560 p->upstream_done = 1;
1561 1561
1562 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, 1562 ngx_log_error(NGX_LOG_WARN, r->connection->log, 0,
1563 "upstream sent too many data"); 1563 "upstream sent too many data");
1564 } 1564 }
1565 1565
1566 return NGX_OK; 1566 return NGX_OK;
1567 } 1567 }
1645 break; 1645 break;
1646 case LF: 1646 case LF:
1647 state = sw_trailer; 1647 state = sw_trailer;
1648 break; 1648 break;
1649 case ';': 1649 case ';':
1650 case ' ':
1651 case '\t':
1650 state = sw_last_chunk_extension; 1652 state = sw_last_chunk_extension;
1651 break; 1653 break;
1652 default: 1654 default:
1653 goto invalid; 1655 goto invalid;
1654 } 1656 }
1662 break; 1664 break;
1663 case LF: 1665 case LF:
1664 state = sw_chunk_data; 1666 state = sw_chunk_data;
1665 break; 1667 break;
1666 case ';': 1668 case ';':
1669 case ' ':
1670 case '\t':
1667 state = sw_chunk_extension; 1671 state = sw_chunk_extension;
1668 break; 1672 break;
1669 default: 1673 default:
1670 goto invalid; 1674 goto invalid;
1671 } 1675 }
1811 1815
1812 return NGX_DONE; 1816 return NGX_DONE;
1813 1817
1814 invalid: 1818 invalid:
1815 1819
1816 ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,
1817 "upstream sent invalid chunked response");
1818
1819 return NGX_ERROR; 1820 return NGX_ERROR;
1820 } 1821 }
1821 1822
1822 1823
1823 static ngx_int_t 1824 static ngx_int_t
1927 break; 1928 break;
1928 } 1929 }
1929 1930
1930 /* invalid response */ 1931 /* invalid response */
1931 1932
1932 ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, 1933 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
1933 "upstream sent invalid chunked response"); 1934 "upstream sent invalid chunked response");
1934 1935
1935 return NGX_ERROR; 1936 return NGX_ERROR;
1936 } 1937 }
1937 1938
2083 break; 2084 break;
2084 } 2085 }
2085 2086
2086 /* invalid response */ 2087 /* invalid response */
2087 2088
2088 ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0, 2089 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
2089 "upstream sent invalid chunked response"); 2090 "upstream sent invalid chunked response");
2090 2091
2091 return NGX_ERROR; 2092 return NGX_ERROR;
2092 } 2093 }
2093 2094