diff -rubB modules/dav/acl/mod_dav_acl.c modules/dav/acl/mod_dav_acl.c --- modules/dav/acl/mod_dav_acl.c 2009-09-07 16:16:10.000000000 -0400 +++ modules/dav/acl/mod_dav_acl.c 2009-09-07 20:36:46.000000000 -0400 @@ -66,6 +66,24 @@ NULL }; +/** resource type hooks for principals */ +int acl_get_resource_type(const dav_resource *resource, + const char **name, + const char **uri) +{ + if (resource->exists && !resource->collection) { + *name = "principal"; + *uri = "DAV:"; + return 0; + } + + return -1; +} + +static dav_resource_type_provider res_type = { + acl_get_resource_type, +}; + static const command_rec dav_acl_cmds[] = { { NULL } }; @@ -73,6 +92,7 @@ static void register_hooks(apr_pool_t *p) { dav_options_provider_register (p, "acl", &options); + dav_resource_type_provider_register (p, "acl", &res_type); } module AP_MODULE_DECLARE_DATA dav_acl_module = {