[Remove entries to the current 2.0 section below, when backported]
+ *) Log an error when requests for URIs which fail to map to a valid
+ filesystem name are rejected with 403. [Jeff Trawick]
+
*) Fixed mod_usertrack to not get false positive matches on the
user-tracking cookie's name. PR 16661.
[Manni Wood <manniwood@planet-save.com>]
{
void *sconf = r->server->module_config;
core_server_config *conf = ap_get_module_config(sconf, &core_module);
+ apr_status_t rv;
/* XXX this seems too specific, this should probably become
* some general-case test
while (*path == '/') {
++path;
}
- if (apr_filepath_merge(&r->filename, conf->ap_document_root, path,
- APR_FILEPATH_TRUENAME
- | APR_FILEPATH_SECUREROOT, r->pool)
+ if ((rv = apr_filepath_merge(&r->filename, conf->ap_document_root, path,
+ APR_FILEPATH_TRUENAME
+ | APR_FILEPATH_SECUREROOT, r->pool))
!= APR_SUCCESS) {
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
+ "URI in request %s maps to invalid filename", r->the_request);
return HTTP_FORBIDDEN;
}
r->canonical_filename = r->filename;
while (*path == '/') {
++path;
}
- if (apr_filepath_merge(&r->filename, conf->ap_document_root, path,
- APR_FILEPATH_TRUENAME
- | APR_FILEPATH_SECUREROOT, r->pool)
+ if ((rv = apr_filepath_merge(&r->filename, conf->ap_document_root, path,
+ APR_FILEPATH_TRUENAME
+ | APR_FILEPATH_SECUREROOT, r->pool))
!= APR_SUCCESS) {
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
+ "URI in request %s maps to invalid filename", r->the_request);
return HTTP_FORBIDDEN;
}
r->canonical_filename = r->filename;