struct acl_backend *acl_mailbox_list_get_backend(struct mailbox_list *list)
{
- struct acl_mailbox_list *alist = ACL_LIST_CONTEXT(list);
+ struct acl_mailbox_list *alist = ACL_LIST_CONTEXT_REQUIRE(list);
return alist->rights.backend;
}
bool parent, unsigned int acl_storage_right_idx,
bool *can_see_r)
{
- struct acl_mailbox_list *alist = ACL_LIST_CONTEXT(list);
+ struct acl_mailbox_list *alist = ACL_LIST_CONTEXT_REQUIRE(list);
struct acl_backend *backend = alist->rights.backend;
const unsigned int *idx_arr = alist->rights.acl_storage_right_idx;
struct acl_object *aclobj;
{
struct acl_mailbox_list_iterate_context *ctx =
ACL_LIST_ITERATE_CONTEXT(_ctx);
- struct acl_mailbox_list *alist = ACL_LIST_CONTEXT(_ctx->list);
+ struct acl_mailbox_list *alist = ACL_LIST_CONTEXT_REQUIRE(_ctx->list);
struct acl_backend *backend = alist->rights.backend;
const unsigned int *idxp;
const struct acl_mask *acl_mask;
const char *const *patterns,
enum mailbox_list_iter_flags flags)
{
- struct acl_mailbox_list *alist = ACL_LIST_CONTEXT(list);
+ struct acl_mailbox_list *alist = ACL_LIST_CONTEXT_REQUIRE(list);
struct mailbox_list_iterate_context *ctx;
int ret;
const char *const *patterns,
enum mailbox_list_iter_flags flags)
{
- struct acl_mailbox_list *alist = ACL_LIST_CONTEXT(list);
+ struct acl_mailbox_list *alist = ACL_LIST_CONTEXT_REQUIRE(list);
struct mailbox_list_iterate_context *_ctx;
struct acl_mailbox_list_iterate_context *ctx;
const char *p;
{
struct acl_mailbox_list_iterate_context *ctx =
ACL_LIST_ITERATE_CONTEXT(_ctx);
- struct acl_mailbox_list *alist = ACL_LIST_CONTEXT(_ctx->list);
+ struct acl_mailbox_list *alist = ACL_LIST_CONTEXT_REQUIRE(_ctx->list);
const struct mailbox_info *info;
while ((info = alist->module_ctx.super.iter_next(_ctx)) != NULL) {
{
struct acl_mailbox_list_iterate_context *ctx =
ACL_LIST_ITERATE_CONTEXT(_ctx);
- struct acl_mailbox_list *alist = ACL_LIST_CONTEXT(_ctx->list);
+ struct acl_mailbox_list *alist = ACL_LIST_CONTEXT_REQUIRE(_ctx->list);
int ret = _ctx->failed ? -1 : 0;
if (ctx->lookup_boxes != NULL)
static void acl_mailbox_list_deinit(struct mailbox_list *list)
{
- struct acl_mailbox_list *alist = ACL_LIST_CONTEXT(list);
+ struct acl_mailbox_list *alist = ACL_LIST_CONTEXT_REQUIRE(list);
if (alist->rights.backend != NULL)
acl_backend_deinit(&alist->rights.backend);
int acl_mailbox_right_lookup(struct mailbox *box, unsigned int right_idx)
{
struct acl_mailbox *abox = ACL_CONTEXT_REQUIRE(box);
- struct acl_mailbox_list *alist = ACL_LIST_CONTEXT(box->list);
int ret;
if (abox->skip_acl_checks)
return 1;
+ struct acl_mailbox_list *alist = ACL_LIST_CONTEXT_REQUIRE(box->list);
+
ret = acl_object_have_right(abox->aclobj,
alist->rights.acl_storage_right_idx[right_idx]);
if (ret > 0)
static void acl_mailbox_copy_acls_from_parent(struct mailbox *box)
{
struct acl_mailbox *abox = ACL_CONTEXT_REQUIRE(box);
- struct acl_mailbox_list *alist = ACL_LIST_CONTEXT(box->list);
+ struct acl_mailbox_list *alist = ACL_LIST_CONTEXT_REQUIRE(box->list);
struct acl_object *parent_aclobj;
struct acl_object_list_iter *iter;
struct acl_rights_update update;
static int acl_mailbox_open_check_acl(struct mailbox *box)
{
struct acl_mailbox *abox = ACL_CONTEXT_REQUIRE(box);
- struct acl_mailbox_list *alist = ACL_LIST_CONTEXT(box->list);
+ struct acl_mailbox_list *alist = ACL_LIST_CONTEXT_REQUIRE(box->list);
const unsigned int *idx_arr = alist->rights.acl_storage_right_idx;
enum acl_storage_rights open_right;
int ret;