summaryrefslogtreecommitdiff
path: root/include/mod_auth.h
diff options
context:
space:
mode:
authorStefan Fritsch <sf@apache.org>2010-09-19 17:55:47 +0000
committerStefan Fritsch <sf@apache.org>2010-09-19 17:55:47 +0000
commit1008c272602551d6fef0d05e6f214c66f51de5c7 (patch)
tree6fb6a023cf6785c87e5ecf8a87a80aa57bcd9f9d /include/mod_auth.h
parentb661aa20aa532bb152418fb4bc8a1ea5f53c4751 (diff)
downloadhttpd-1008c272602551d6fef0d05e6f214c66f51de5c7.tar.gz
Allow authz providers to check args while reading the config and allow
them to cache parsed args. Use this to check that argument to 'all' provider is 'granted' or 'denied'. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@998706 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include/mod_auth.h')
-rw-r--r--include/mod_auth.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/include/mod_auth.h b/include/mod_auth.h
index 69cab09b7f..1a424b3147 100644
--- a/include/mod_auth.h
+++ b/include/mod_auth.h
@@ -103,9 +103,23 @@ struct authn_provider_list {
typedef struct {
/* Given a request_rec, expected to return AUTHZ_GRANTED
* if we can authorize user access.
+ * @param r the request record
+ * @param require_line the argument to the authz provider
+ * @param parsed_require_line the value set by parse_require_line(), if any
*/
authz_status (*check_authorization)(request_rec *r,
- const char *require_line);
+ const char *require_line,
+ const void *parsed_require_line);
+
+ /** Check the syntax of a require line and optionally cache the parsed
+ * line. This function may be NULL.
+ * @param cmd the config directive
+ * @param require_line the argument to the authz provider
+ * @param parsed_require_line place to store parsed require_line for use by provider
+ * @return Error message or NULL on success
+ */
+ const char *(*parse_require_line)(cmd_parms *cmd, const char *require_line,
+ const void **parsed_require_line);
} authz_provider;
/* ap_authn_cache_store: Optional function for authn providers