diff options
author | Eric Covener <covener@apache.org> | 2024-06-24 19:22:51 +0200 |
---|---|---|
committer | Eric Covener <covener@apache.org> | 2024-06-24 19:22:51 +0200 |
commit | 925b6f0ceb8983a11662b5f3a6f2fa75860c2cde (patch) | |
tree | 40372f74b0a86da15b1e9502c9efa9549b16e202 /modules/mappers | |
parent | mod_proxy: escape for non-proxypass configuration (diff) | |
download | apache2-925b6f0ceb8983a11662b5f3a6f2fa75860c2cde.tar.xz apache2-925b6f0ceb8983a11662b5f3a6f2fa75860c2cde.zip |
add ap_set_content_type_ex to differentiate
trusted sources
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1918551 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/mappers')
-rw-r--r-- | modules/mappers/mod_actions.c | 6 | ||||
-rw-r--r-- | modules/mappers/mod_negotiation.c | 8 | ||||
-rw-r--r-- | modules/mappers/mod_rewrite.c | 2 |
3 files changed, 9 insertions, 7 deletions
diff --git a/modules/mappers/mod_actions.c b/modules/mappers/mod_actions.c index ac9c3b7428..5e398b53d9 100644 --- a/modules/mappers/mod_actions.c +++ b/modules/mappers/mod_actions.c @@ -182,8 +182,10 @@ static int action_handler(request_rec *r) return DECLINED; /* Second, check for actions (which override the method scripts) */ - action = r->handler ? r->handler : - ap_field_noparam(r->pool, r->content_type); + action = r->handler; + if (!action && AP_REQUEST_IS_TRUSTED_CT(r)) { + action = ap_field_noparam(r->pool, r->content_type); + } if (action && (t = apr_table_get(conf->action_types, action))) { int virtual = (*t++ == '0' ? 0 : 1); diff --git a/modules/mappers/mod_negotiation.c b/modules/mappers/mod_negotiation.c index c056b28455..a528f81439 100644 --- a/modules/mappers/mod_negotiation.c +++ b/modules/mappers/mod_negotiation.c @@ -1167,7 +1167,7 @@ static int read_types_multi(negotiation_state *neg) * might be doing. */ if (sub_req->handler && !sub_req->content_type) { - ap_set_content_type(sub_req, CGI_MAGIC_TYPE); + ap_set_content_type_ex(sub_req, CGI_MAGIC_TYPE, 1); } /* @@ -3003,14 +3003,14 @@ static int handle_map_file(request_rec *r) /* set MIME type and charset as negotiated */ if (best->mime_type && *best->mime_type) { if (best->content_charset && *best->content_charset) { - ap_set_content_type(r, apr_pstrcat(r->pool, + ap_set_content_type_ex(r, apr_pstrcat(r->pool, best->mime_type, "; charset=", best->content_charset, - NULL)); + NULL), 1); } else { - ap_set_content_type(r, apr_pstrdup(r->pool, best->mime_type)); + ap_set_content_type_ex(r, apr_pstrdup(r->pool, best->mime_type), 1); } } diff --git a/modules/mappers/mod_rewrite.c b/modules/mappers/mod_rewrite.c index b70c878210..79732d106a 100644 --- a/modules/mappers/mod_rewrite.c +++ b/modules/mappers/mod_rewrite.c @@ -5419,7 +5419,7 @@ static int hook_mimetype(request_rec *r) rewritelog(r, 1, NULL, "force filename %s to have MIME-type '%s'", r->filename, t); - ap_set_content_type(r, t); + ap_set_content_type_ex(r, t, 1); } /* handler */ |