]> granicus.if.org Git - apache/commitdiff
core: Add post_perdir_config hook.
authorJeff Trawick <trawick@apache.org>
Wed, 1 Aug 2012 16:54:00 +0000 (16:54 +0000)
committerJeff Trawick <trawick@apache.org>
Wed, 1 Aug 2012 16:54:00 +0000 (16:54 +0000)
Submitted by: Steinar Gunderson <sgunderson bigfoot.com>

trawick added/fixed include/ pieces

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1368121 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
include/ap_mmn.h
include/http_request.h
server/request.c

diff --git a/CHANGES b/CHANGES
index 11b2c2784fd5d81ea33b97a2162019a0515105ed..90031e56be824feb8dd763604ee4225c015e26e5 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
+  *) core: Add post_perdir_config hook.
+     [Steinar Gunderson <sgunderson bigfoot.com>]
+
   *) mod_lua: Add new directive, LuaMapHandler, for dynamically mapping 
      URIs to Lua scripts and functions using regular expressions.
      [Daniel Gruno]
index cf77bd7fbf45d1439c676e1fad2b24688743147a..7901a1e82f60aeefbd8d9693314ed228a167e90c 100644 (file)
  * 20120211.3 (2.5.0-dev)  Add forcerecovery to proxy_balancer_shared struct
  * 20120211.4 (2.5.0-dev)  Add missing HTTP status codes registered with IANA.
  * 20120724.0 (2.5.0-dev)  Add hostname argument to ap_proxy_checkproxyblock.
+ * 20120724.1 (2.5.0-dev)  Add post_perdir_config hook.
  */
 
 #define MODULE_MAGIC_COOKIE 0x41503235UL /* "AP25" */
 #ifndef MODULE_MAGIC_NUMBER_MAJOR
 #define MODULE_MAGIC_NUMBER_MAJOR 20120724
 #endif
-#define MODULE_MAGIC_NUMBER_MINOR 0                   /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 1                   /* 0...n */
 
 /**
  * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
index a81e7538b2d089227ee8d0021970c08ad9d05ce6..086e930871fca9804f179a5fc7921bc88c8a49ed 100644 (file)
@@ -528,6 +528,16 @@ AP_DECLARE(void) ap_hook_check_authz(ap_HOOK_auth_checker_t *pf,
  */
 AP_DECLARE_HOOK(void,insert_filter,(request_rec *r))
 
+/**
+ * This hook allows modules to affect the request immediately after the
+ * per-directory configuration for the request has been generated.
+ * @param r The current request
+ * @return OK (allow acces), DECLINED (let later modules decide),
+ *         or HTTP_... (deny access)
+ * @ingroup hooks
+ */
+AP_DECLARE_HOOK(int,post_perdir_config,(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);
index f285294f5cab94d300ec9c5fba68000745388d90..8998d2290badd301b07a47a52e2adb73381b8991 100644 (file)
@@ -69,6 +69,7 @@ APR_HOOK_STRUCT(
     APR_HOOK_LINK(auth_checker)
     APR_HOOK_LINK(insert_filter)
     APR_HOOK_LINK(create_request)
+    APR_HOOK_LINK(post_perdir_config)
 )
 
 AP_IMPLEMENT_HOOK_RUN_FIRST(int,translate_name,
@@ -90,6 +91,8 @@ AP_IMPLEMENT_HOOK_RUN_FIRST(int,auth_checker,
 AP_IMPLEMENT_HOOK_VOID(insert_filter, (request_rec *r), (r))
 AP_IMPLEMENT_HOOK_RUN_ALL(int, create_request,
                           (request_rec *r), (r), OK, DECLINED)
+AP_IMPLEMENT_HOOK_RUN_ALL(int, post_perdir_config,
+                          (request_rec *r), (r), OK, DECLINED)
 
 static int auth_internal_per_conf = 0;
 static int auth_internal_per_conf_hooks = 0;
@@ -191,6 +194,10 @@ AP_DECLARE(int) ap_process_request_internal(request_rec *r)
         r->log = d->log;
     }
 
+    if ((access_status = ap_run_post_perdir_config(r))) {
+        return access_status;
+    }
+
     /* Only on the main request! */
     if (r->main == NULL) {
         if ((access_status = ap_run_header_parser(r))) {