changeset 9329:956d2f962e97 HEAD

acl: When looking up ACL defaults, use global/local default files if they exist.
author Timo Sirainen <tss@iki.fi>
date Sat, 15 Aug 2009 20:41:55 -0400
parents a1b1a8b6555e
children cf93e420fc57
files src/plugins/acl/acl-api.c
diffstat 1 files changed, 10 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/acl/acl-api.c	Fri Aug 14 18:46:44 2009 -0400
+++ b/src/plugins/acl/acl-api.c	Sat Aug 15 20:41:55 2009 -0400
@@ -33,21 +33,13 @@
 	struct acl_backend *backend = aclobj->backend;
 	const struct acl_mask *have_mask;
 
-	if (*aclobj->name == '\0') {
-		/* we want to look up default rights */
+	if (backend->v.object_refresh_cache(aclobj) < 0)
+		return -1;
+
+	have_mask = acl_cache_get_my_rights(backend->cache, aclobj->name);
+	if (have_mask == NULL) {
 		if (acl_backend_get_default_rights(backend, &have_mask) < 0)
 			return -1;
-	} else {
-		if (backend->v.object_refresh_cache(aclobj) < 0)
-			return -1;
-
-		have_mask = acl_cache_get_my_rights(backend->cache,
-						    aclobj->name);
-		if (have_mask == NULL) {
-			if (acl_backend_get_default_rights(backend,
-							   &have_mask) < 0)
-				return -1;
-		}
 	}
 
 	return acl_cache_mask_isset(have_mask, right_idx);
@@ -91,20 +83,13 @@
 	struct acl_backend *backend = aclobj->backend;
 	const struct acl_mask *mask;
 
-	if (*aclobj->name == '\0') {
-		/* we want to look up default rights */
+	if (backend->v.object_refresh_cache(aclobj) < 0)
+		return -1;
+
+	mask = acl_cache_get_my_rights(backend->cache, aclobj->name);
+	if (mask == NULL) {
 		if (acl_backend_get_default_rights(backend, &mask) < 0)
 			return -1;
-	} else {
-		if (backend->v.object_refresh_cache(aclobj) < 0)
-			return -1;
-
-		mask = acl_cache_get_my_rights(backend->cache,
-					       aclobj->name);
-		if (mask == NULL) {
-			if (acl_backend_get_default_rights(backend, &mask) < 0)
-				return -1;
-		}
 	}
 
 	*rights_r = acl_backend_mask_get_names(backend, mask, pool);