From: Graham Leggett Date: Sat, 17 Feb 2018 13:56:44 +0000 (+0000) Subject: Make sure ACL API support in mod_dav is not dependent on the presence X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=44b3c4f795854252328c1b0994deeb3fa164ad3e;p=apache Make sure ACL API support in mod_dav is not dependent on the presence or absence of apr-util v1.6. Log a message to note that ACL support is disabled with apr-util <= 1.5. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1824590 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/dav/main/mod_dav.c b/modules/dav/main/mod_dav.c index 6808e2cfea..1dcc3d01c3 100644 --- a/modules/dav/main/mod_dav.c +++ b/modules/dav/main/mod_dav.c @@ -117,6 +117,12 @@ static int dav_init_handler(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, dav_methods[DAV_M_BIND] = ap_method_register(p, "BIND"); dav_methods[DAV_M_SEARCH] = ap_method_register(p, "SEARCH"); + /* log a warning if ACL support is unavailable */ +#ifndef APR_XML_X2T_PARSED + ap_log_error(APLOG_MARK, APLOG_INFO, 0, NULL, APLOGNO() + "mod_dav ACL support disabled. Compile with apr-util >= 1.6 to enable."); +#endif + return OK; } diff --git a/modules/dav/main/mod_dav.h b/modules/dav/main/mod_dav.h index d1f569fb1d..cb7cac9abb 100644 --- a/modules/dav/main/mod_dav.h +++ b/modules/dav/main/mod_dav.h @@ -319,9 +319,7 @@ typedef enum { */ typedef struct dav_resource_private dav_resource_private; -#ifdef APR_XML_X2T_PARSED typedef struct dav_acl_provider dav_acl_provider; -#endif /* ** Resource descriptor, generated by a repository provider. @@ -422,9 +420,7 @@ typedef struct dav_resource { long as the dav_resource structure. */ apr_pool_t *pool; -#ifdef APR_XML_X2T_PARSED const dav_acl_provider *acls; /* acls used for this resource */ -#endif void *ctx; /* additional parameter */ @@ -2541,7 +2537,6 @@ typedef struct { ** ** DAV ACL HOOKS */ -#ifdef APR_XML_X2T_PARSED struct dav_acl_provider { @@ -2567,7 +2562,6 @@ DAV_DECLARE(void) dav_acl_provider_register(apr_pool_t *p, DAV_DECLARE(const dav_acl_provider *) dav_get_acl_providers(void); -#endif /* -------------------------------------------------------------------- ** diff --git a/modules/dav/main/providers.c b/modules/dav/main/providers.c index 7d5344b1a6..1e05960e12 100644 --- a/modules/dav/main/providers.c +++ b/modules/dav/main/providers.c @@ -32,7 +32,6 @@ DAV_DECLARE(const dav_provider *) dav_lookup_provider(const char *name) return ap_lookup_provider(DAV_PROVIDER_GROUP, name, "0"); } -#ifdef APR_XML_X2T_PARSED DAV_DECLARE(void) dav_acl_provider_register(apr_pool_t *p, const dav_acl_provider *provider) { @@ -43,7 +42,6 @@ DAV_DECLARE(const dav_acl_provider *) dav_get_acl_providers(void) { return ap_lookup_provider(DAV_PROVIDER_GROUP, "acl", "0"); } -#endif DAV_DECLARE(void) dav_options_provider_register(apr_pool_t *p, const char *name,