From: Graham Leggett Date: Fri, 1 Jun 2001 17:26:19 +0000 (+0000) Subject: Move the addition of default AP_HTTP_HTTP_HEADER filters to the X-Git-Tag: 2.0.19~156 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1fe44dacdef7182c780dfc99a2e1faf0e664e70d;p=apache Move the addition of default AP_HTTP_HTTP_HEADER filters to the insert_filter phase so that other filters are not bypassed by default. PR: Obtained from: Submitted by: Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89252 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/http/http_core.c b/modules/http/http_core.c index f59e2533d3..e3f2c1e496 100644 --- a/modules/http/http_core.c +++ b/modules/http/http_core.c @@ -295,6 +295,13 @@ static int ap_process_http_connection(conn_rec *c) return OK; } +static void ap_http_insert_filter(request_rec *r) +{ + ap_add_output_filter("BYTERANGE", NULL, r, r->connection); + ap_add_output_filter("CONTENT_LENGTH", NULL, r, r->connection); + ap_add_output_filter("HTTP_HEADER", NULL, r, r->connection); +} + static void register_hooks(apr_pool_t *p) { ap_hook_pre_connection(ap_pre_http_connection,NULL,NULL, @@ -304,6 +311,7 @@ static void register_hooks(apr_pool_t *p) ap_hook_http_method(http_method,NULL,NULL,APR_HOOK_REALLY_LAST); ap_hook_default_port(http_port,NULL,NULL,APR_HOOK_REALLY_LAST); + ap_hook_insert_filter(ap_http_insert_filter, NULL, NULL, APR_HOOK_REALLY_LAST); ap_register_input_filter("HTTP_IN", ap_http_filter, AP_FTYPE_CONNECTION); ap_register_input_filter("DECHUNK", ap_dechunk_filter, AP_FTYPE_TRANSCODE); ap_register_output_filter("HTTP_HEADER", ap_http_header_filter, diff --git a/modules/http/http_request.c b/modules/http/http_request.c index 4f4af75b8a..735c1e6d72 100644 --- a/modules/http/http_request.c +++ b/modules/http/http_request.c @@ -517,10 +517,6 @@ static request_rec *internal_internal_redirect(const char *new_uri, new->output_filters = r->connection->output_filters; new->input_filters = r->connection->input_filters; - ap_add_output_filter("BYTERANGE", NULL, new, new->connection); - ap_add_output_filter("CONTENT_LENGTH", NULL, new, new->connection); - ap_add_output_filter("HTTP_HEADER", NULL, new, new->connection); - apr_table_setn(new->subprocess_env, "REDIRECT_STATUS", apr_psprintf(r->pool, "%d", r->status)); diff --git a/server/protocol.c b/server/protocol.c index 98564c999d..987e01c4b6 100644 --- a/server/protocol.c +++ b/server/protocol.c @@ -590,11 +590,6 @@ request_rec *ap_read_request(conn_rec *conn) ? r->server->keep_alive_timeout * APR_USEC_PER_SEC : r->server->timeout * APR_USEC_PER_SEC)); - ap_add_output_filter("BYTERANGE", NULL, r, r->connection); - ap_add_output_filter("CONTENT_LENGTH", NULL, r, r->connection); - ap_add_output_filter("HTTP_HEADER", NULL, r, r->connection); - - /* Get the request... */ if (!read_request_line(r)) { if (r->status == HTTP_REQUEST_URI_TOO_LARGE) {