From 1fe44dacdef7182c780dfc99a2e1faf0e664e70d Mon Sep 17 00:00:00 2001 From: Graham Leggett Date: Fri, 1 Jun 2001 17:26:19 +0000 Subject: [PATCH] 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 --- modules/http/http_core.c | 8 ++++++++ modules/http/http_request.c | 4 ---- server/protocol.c | 5 ----- 3 files changed, 8 insertions(+), 9 deletions(-) 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) { -- 2.50.1