comparison src/http/ngx_http_core_module.c @ 434:49a0eb7ce20c NGINX_0_7_29

nginx 0.7.29 *) Bugfix: the "fastcgi_pass" and "proxy_pass" directives did not support variables if unix domain sockets were used. *) Bugfixes in subrequest processing; the bugs had appeared in 0.7.25. *) Bugfix: a "100 Continue" response was issued for HTTP/1.0 requests; Thanks to Maxim Dounin. *) Bugfix: in memory allocation in the ngx_http_gzip_filter_module on Cygwin.
author Igor Sysoev <http://sysoev.ru>
date Wed, 24 Dec 2008 00:00:00 +0300
parents dac47e9ef0d5
children ce4f9ff90bfa
comparison
equal deleted inserted replaced
433:18f6c20ac73a 434:49a0eb7ce20c
860 860
861 ngx_http_finalize_request(r, NGX_HTTP_REQUEST_ENTITY_TOO_LARGE); 861 ngx_http_finalize_request(r, NGX_HTTP_REQUEST_ENTITY_TOO_LARGE);
862 return NGX_OK; 862 return NGX_OK;
863 } 863 }
864 864
865 if (r->headers_in.expect) { 865 if (r->headers_in.expect && r->http_version > NGX_HTTP_VERSION_10) {
866 expect = ngx_http_core_send_continue(r); 866 expect = ngx_http_core_send_continue(r);
867 867
868 if (expect != NGX_OK) { 868 if (expect != NGX_OK) {
869 ngx_http_finalize_request(r, expect); 869 ngx_http_finalize_request(r, expect);
870 return NGX_OK; 870 return NGX_OK;
1080 if (tf->lengths) { 1080 if (tf->lengths) {
1081 ngx_memzero(&e, sizeof(ngx_http_script_engine_t)); 1081 ngx_memzero(&e, sizeof(ngx_http_script_engine_t));
1082 1082
1083 e.ip = tf->lengths->elts; 1083 e.ip = tf->lengths->elts;
1084 e.request = r; 1084 e.request = r;
1085 e.flushed = 1;
1086 1085
1087 /* 1 is for terminating '\0' as in static names */ 1086 /* 1 is for terminating '\0' as in static names */
1088 len = 1; 1087 len = 1;
1089 1088
1090 while (*(uintptr_t *) e.ip) { 1089 while (*(uintptr_t *) e.ip) {
1125 path.len = (name + tf->name.len - 1) - path.data; 1124 path.len = (name + tf->name.len - 1) - path.data;
1126 1125
1127 } else { 1126 } else {
1128 e.ip = tf->values->elts; 1127 e.ip = tf->values->elts;
1129 e.pos = name; 1128 e.pos = name;
1129 e.flushed = 1;
1130 1130
1131 while (*(uintptr_t *) e.ip) { 1131 while (*(uintptr_t *) e.ip) {
1132 code = *(ngx_http_script_code_pt *) e.ip; 1132 code = *(ngx_http_script_code_pt *) e.ip;
1133 code((ngx_http_script_engine_t *) &e); 1133 code((ngx_http_script_engine_t *) &e);
1134 } 1134 }
2091 sr->parent = r; 2091 sr->parent = r;
2092 sr->post_subrequest = ps; 2092 sr->post_subrequest = ps;
2093 sr->read_event_handler = ngx_http_request_empty_handler; 2093 sr->read_event_handler = ngx_http_request_empty_handler;
2094 sr->write_event_handler = ngx_http_handler; 2094 sr->write_event_handler = ngx_http_handler;
2095 2095
2096 if (c->data == r) { 2096 if (c->data == r && r->postponed == NULL) {
2097 c->data = sr; 2097 c->data = sr;
2098 } 2098 }
2099 2099
2100 sr->in_addr = r->in_addr; 2100 sr->in_addr = r->in_addr;
2101 sr->port = r->port; 2101 sr->port = r->port;