comparison src/http/modules/ngx_http_proxy_module.c @ 168:3314be145cb9 NGINX_0_3_31

nginx 0.3.31 *) Change: now nginx passes the malformed proxied backend responses. *) Feature: the "listen" directives support the address in the "*:port" form. *) Feature: the EVFILER_TIMER support in MacOSX 10.4. *) Workaround: for MacOSX 64-bit kernel kqueue millisecond timeout bug. Thanks to Andrei Nigmatulin. *) Bugfix: if there were several "listen" directives listening one various addresses inside one server, then server names like "*.domain.tld" worked for first address only; bug appeared in 0.3.18. *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive and the request body was in temporarily file then the request was not transferred. *) Bugfix: perl 5.8.8 compatibility.
author Igor Sysoev <http://sysoev.ru>
date Fri, 10 Mar 2006 00:00:00 +0300
parents 73e8476f9142
children 1b490fc19afa
comparison
equal deleted inserted replaced
167:544cb5cba207 168:3314be145cb9
798 798
799 if (rc == NGX_HTTP_PROXY_PARSE_NO_HEADER) { 799 if (rc == NGX_HTTP_PROXY_PARSE_NO_HEADER) {
800 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, 800 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
801 "upstream sent no valid HTTP/1.0 header"); 801 "upstream sent no valid HTTP/1.0 header");
802 802
803 #if 0
803 if (u->accel) { 804 if (u->accel) {
804 return NGX_HTTP_UPSTREAM_INVALID_HEADER; 805 return NGX_HTTP_UPSTREAM_INVALID_HEADER;
805 } 806 }
807 #endif
806 808
807 r->http_version = NGX_HTTP_VERSION_9; 809 r->http_version = NGX_HTTP_VERSION_9;
808 p->status = NGX_HTTP_OK; 810 p->status = NGX_HTTP_OK;
809 811
810 return NGX_OK; 812 return NGX_OK;
959 961
960 break; 962 break;
961 963
962 /* HTTP status code */ 964 /* HTTP status code */
963 case sw_status: 965 case sw_status:
966 if (ch == ' ') {
967 break;
968 }
969
964 if (ch < '0' || ch > '9') { 970 if (ch < '0' || ch > '9') {
965 return NGX_HTTP_PROXY_PARSE_NO_HEADER; 971 return NGX_HTTP_PROXY_PARSE_NO_HEADER;
966 } 972 }
967 973
968 p->status = p->status * 10 + ch - '0'; 974 p->status = p->status * 10 + ch - '0';
1109 } 1115 }
1110 1116
1111 /* there was error while a header line parsing */ 1117 /* there was error while a header line parsing */
1112 1118
1113 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, 1119 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
1114 ngx_http_upstream_header_errors[rc 1120 "upstream sent invalid header");
1115 - NGX_HTTP_PARSE_HEADER_ERROR]);
1116 1121
1117 return NGX_HTTP_UPSTREAM_INVALID_HEADER; 1122 return NGX_HTTP_UPSTREAM_INVALID_HEADER;
1118 } 1123 }
1119 } 1124 }
1120 1125