Mercurial > dovecot > original-hg > dovecot-1.2
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);