comparison src/http/ngx_http_core_module.c @ 60:df7d3fff122b NGINX_0_1_30

nginx 0.1.30 *) Bugfix: the worker process may got caught in an endless loop if the SSI was used. *) Bugfix: the response encrypted by SSL may not transferred complete. *) Bugfix: if the length of the response part received at once from proxied or FastCGI server was equal to 500, then nginx returns the 500 response code; in proxy mode the bug appeared in 0.1.29 only. *) Bugfix: nginx did not consider the directives with 8 or 9 parameters as invalid. *) Feature: the "return" directive can return the 204 response code. *) Feature: the "ignore_invalid_headers" directive.
author Igor Sysoev <http://sysoev.ru>
date Sat, 14 May 2005 00:00:00 +0400
parents b55cbf18157e
children 0790a8599248
comparison
equal deleted inserted replaced
59:4cb463ba8cce 60:df7d3fff122b
142 ngx_conf_set_enum_slot, 142 ngx_conf_set_enum_slot,
143 NGX_HTTP_SRV_CONF_OFFSET, 143 NGX_HTTP_SRV_CONF_OFFSET,
144 offsetof(ngx_http_core_srv_conf_t, restrict_host_names), 144 offsetof(ngx_http_core_srv_conf_t, restrict_host_names),
145 &ngx_http_restrict_host_names }, 145 &ngx_http_restrict_host_names },
146 146
147 { ngx_string("ignore_invalid_headers"),
148 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_CONF_FLAG,
149 ngx_conf_set_flag_slot,
150 NGX_HTTP_SRV_CONF_OFFSET,
151 offsetof(ngx_http_core_srv_conf_t, ignore_invalid_headers),
152 NULL },
153
147 { ngx_string("location"), 154 { ngx_string("location"),
148 NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_BLOCK|NGX_CONF_TAKE12, 155 NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_BLOCK|NGX_CONF_TAKE12,
149 ngx_http_core_location, 156 ngx_http_core_location,
150 NGX_HTTP_SRV_CONF_OFFSET, 157 NGX_HTTP_SRV_CONF_OFFSET,
151 0, 158 0,
503 510
504 if (rc == NGX_DECLINED) { 511 if (rc == NGX_DECLINED) {
505 continue; 512 continue;
506 } 513 }
507 514
508 if (rc >= NGX_HTTP_SPECIAL_RESPONSE || rc == NGX_ERROR) { 515 if (rc >= NGX_HTTP_SPECIAL_RESPONSE
516 || rc == NGX_HTTP_NO_CONTENT
517 || rc == NGX_ERROR)
518 {
509 ngx_http_finalize_request(r, rc); 519 ngx_http_finalize_request(r, rc);
510 return; 520 return;
511 } 521 }
512 522
513 if (r->phase == NGX_HTTP_CONTENT_PHASE) { 523 if (r->phase == NGX_HTTP_CONTENT_PHASE) {
1576 cscf->post_accept_timeout = NGX_CONF_UNSET_MSEC; 1586 cscf->post_accept_timeout = NGX_CONF_UNSET_MSEC;
1577 cscf->request_pool_size = NGX_CONF_UNSET_SIZE; 1587 cscf->request_pool_size = NGX_CONF_UNSET_SIZE;
1578 cscf->client_header_timeout = NGX_CONF_UNSET_MSEC; 1588 cscf->client_header_timeout = NGX_CONF_UNSET_MSEC;
1579 cscf->client_header_buffer_size = NGX_CONF_UNSET_SIZE; 1589 cscf->client_header_buffer_size = NGX_CONF_UNSET_SIZE;
1580 cscf->restrict_host_names = NGX_CONF_UNSET_UINT; 1590 cscf->restrict_host_names = NGX_CONF_UNSET_UINT;
1591 cscf->ignore_invalid_headers = NGX_CONF_UNSET;
1581 1592
1582 return cscf; 1593 return cscf;
1583 } 1594 }
1584 1595
1585 1596
1660 return NGX_CONF_ERROR; 1671 return NGX_CONF_ERROR;
1661 } 1672 }
1662 1673
1663 ngx_conf_merge_unsigned_value(conf->restrict_host_names, 1674 ngx_conf_merge_unsigned_value(conf->restrict_host_names,
1664 prev->restrict_host_names, 0); 1675 prev->restrict_host_names, 0);
1676
1677 ngx_conf_merge_value(conf->ignore_invalid_headers,
1678 prev->ignore_invalid_headers, 1);
1665 1679
1666 return NGX_CONF_OK; 1680 return NGX_CONF_OK;
1667 } 1681 }
1668 1682
1669 1683