Mercurial > dovecot > core-2.2
changeset 12777:988e363ac17d
acl: Added acl_backend_nonowner_lookups_rebuild()
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 04 Mar 2011 18:08:30 +0200 |
parents | 6b0f4dc0fac6 |
children | a177e4f3ee2e |
files | src/plugins/acl/acl-api-private.h src/plugins/acl/acl-api.c src/plugins/acl/acl-api.h src/plugins/acl/acl-backend-vfile-acllist.c src/plugins/acl/acl-backend-vfile.c src/plugins/acl/acl-backend-vfile.h |
diffstat | 6 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/acl/acl-api-private.h Fri Mar 04 17:57:29 2011 +0200 +++ b/src/plugins/acl/acl-api-private.h Fri Mar 04 18:08:30 2011 +0200 @@ -21,6 +21,7 @@ const char **name_r); void (*nonowner_lookups_iter_deinit) (struct acl_mailbox_list_context *ctx); + int (*nonowner_lookups_rebuild)(struct acl_backend *backend); struct acl_object *(*object_init)(struct acl_backend *backend, const char *name);
--- a/src/plugins/acl/acl-api.c Fri Mar 04 17:57:29 2011 +0200 +++ b/src/plugins/acl/acl-api.c Fri Mar 04 18:08:30 2011 +0200 @@ -163,6 +163,11 @@ ctx->backend->v.nonowner_lookups_iter_deinit(ctx); } +int acl_backend_nonowner_lookups_rebuild(struct acl_backend *backend) +{ + return backend->v.nonowner_lookups_rebuild(backend); +} + void acl_rights_write_id(string_t *dest, const struct acl_rights *right) { switch (right->id_type) {
--- a/src/plugins/acl/acl-api.h Fri Mar 04 17:57:29 2011 +0200 +++ b/src/plugins/acl/acl-api.h Fri Mar 04 18:08:30 2011 +0200 @@ -121,6 +121,8 @@ const char **name_r); void acl_backend_nonowner_lookups_iter_deinit(struct acl_mailbox_list_context **ctx); +/* Force a rebuild for nonowner lookups index */ +int acl_backend_nonowner_lookups_rebuild(struct acl_backend *backend); struct acl_object *acl_object_init_from_name(struct acl_backend *backend, const char *name);
--- a/src/plugins/acl/acl-backend-vfile-acllist.c Fri Mar 04 17:57:29 2011 +0200 +++ b/src/plugins/acl/acl-backend-vfile-acllist.c Fri Mar 04 18:08:30 2011 +0200 @@ -388,3 +388,11 @@ backend->iterating_acllist = FALSE; i_free(ctx); } + +int acl_backend_vfile_nonowner_lookups_rebuild(struct acl_backend *_backend) +{ + struct acl_backend_vfile *backend = + (struct acl_backend_vfile *)_backend; + + return acl_backend_vfile_acllist_rebuild(backend); +}
--- a/src/plugins/acl/acl-backend-vfile.c Fri Mar 04 17:57:29 2011 +0200 +++ b/src/plugins/acl/acl-backend-vfile.c Fri Mar 04 18:08:30 2011 +0200 @@ -1215,6 +1215,7 @@ acl_backend_vfile_nonowner_iter_init, acl_backend_vfile_nonowner_iter_next, acl_backend_vfile_nonowner_iter_deinit, + acl_backend_vfile_nonowner_lookups_rebuild, acl_backend_vfile_object_init, acl_backend_vfile_object_init_parent, acl_backend_vfile_object_deinit,
--- a/src/plugins/acl/acl-backend-vfile.h Fri Mar 04 17:57:29 2011 +0200 +++ b/src/plugins/acl/acl-backend-vfile.h Fri Mar 04 18:08:30 2011 +0200 @@ -47,6 +47,7 @@ const char **name_r); void acl_backend_vfile_nonowner_iter_deinit(struct acl_mailbox_list_context *ctx); +int acl_backend_vfile_nonowner_lookups_rebuild(struct acl_backend *backend); int acl_backend_vfile_object_get_mtime(struct acl_object *aclobj, time_t *mtime_r);