mirror of
https://github.com/apache/httpd.git
synced 2025-11-08 04:22:21 +03:00
Introduce the map_to_storage hook, which allows modules to bypass
the directory_walk and file_walk for non-file requests. TRACE shortcut moved to http_protocol.c as APR_HOOK_MIDDLE, and the directory_walk/file_walk happen as APR_HOOK_VERY_LAST in core.c. A seperate patch to mod_proxy is required to short circuit both the TRACE and directory_walk/file_walk stuff. That patch is next. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90665 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -288,6 +288,21 @@ AP_DECLARE_HOOK(int,create_request,(request_rec *r))
|
||||
*/
|
||||
AP_DECLARE_HOOK(int,translate_name,(request_rec *r))
|
||||
|
||||
/**
|
||||
* This hook allow modules to set the per_dir_config based on their own
|
||||
* context (such as <Proxy > sections) and responds to contextless requests
|
||||
* such as TRACE that need no security or filesystem mapping.
|
||||
* based on the filesystem.
|
||||
* @param r The current request
|
||||
* @return DONE (or HTTP_) if this contextless request was just fulfilled
|
||||
* (such as TRACE), OK if this is not a file, and DECLINED if this is a file.
|
||||
* The core map_to_storage (HOOK_RUN_LAST) will directory_walk and file_walk
|
||||
* the r->filename.
|
||||
*
|
||||
* @ingroup hooks
|
||||
*/
|
||||
AP_DECLARE_HOOK(int,map_to_storage,(request_rec *r))
|
||||
|
||||
/**
|
||||
* This hook allows modules to check the authentication information sent with
|
||||
* the request.
|
||||
@@ -341,9 +356,9 @@ AP_DECLARE_HOOK(int,auth_checker,(request_rec *r))
|
||||
*/
|
||||
AP_DECLARE_HOOK(void,insert_filter,(request_rec *r))
|
||||
|
||||
AP_DECLARE(int) directory_walk(request_rec *r);
|
||||
AP_DECLARE(int) location_walk(request_rec *r);
|
||||
AP_DECLARE(int) file_walk(request_rec *r);
|
||||
AP_DECLARE(int) ap_location_walk(request_rec *r);
|
||||
AP_DECLARE(int) ap_directory_walk(request_rec *r);
|
||||
AP_DECLARE(int) ap_file_walk(request_rec *r);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user