From: Timo Sirainen Date: Tue, 14 Jan 2020 12:58:05 +0000 (+0200) Subject: lib-imap-storage, doveadm: Ignore INBOX ACLs when accessing server metadata X-Git-Tag: 2.3.10~128 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9a4e34ad417c35b3369a5355d15d4ac2d820fe1d;p=thirdparty%2Fdovecot%2Fcore.git lib-imap-storage, doveadm: Ignore INBOX ACLs when accessing server metadata The server metadata is always accessible. INBOX's ACLs aren't relevant, even though internally for now we're using INBOX for storing the server metadata. --- diff --git a/src/doveadm/doveadm-mail-mailbox-metadata.c b/src/doveadm/doveadm-mail-mailbox-metadata.c index c75123e9f7..ec5b6023a5 100644 --- a/src/doveadm/doveadm-mail-mailbox-metadata.c +++ b/src/doveadm/doveadm-mail-mailbox-metadata.c @@ -35,9 +35,11 @@ cmd_mailbox_metadata_open_mailbox(struct metadata_cmd_context *mctx, return -1; } - /* server attribute */ + /* Server attribute. It shouldn't depend on INBOX's ACLs, + so ignore them. */ *ns_r = mail_namespace_find_inbox(user->namespaces); - *box_r = mailbox_alloc((*ns_r)->list, "INBOX", 0); + *box_r = mailbox_alloc((*ns_r)->list, "INBOX", + MAILBOX_FLAG_IGNORE_ACLS); mctx->key = t_strconcat(MAILBOX_ATTRIBUTE_PREFIX_DOVECOT_PVT_SERVER, mctx->key, NULL); diff --git a/src/lib-imap-storage/imap-metadata.c b/src/lib-imap-storage/imap-metadata.c index 03d5b571a7..0674bada0f 100644 --- a/src/lib-imap-storage/imap-metadata.c +++ b/src/lib-imap-storage/imap-metadata.c @@ -243,7 +243,8 @@ imap_metadata_transaction_begin_server(struct mail_user *user) struct imap_metadata_transaction *imtrans; ns = mail_namespace_find_inbox(user->namespaces); - box = mailbox_alloc(ns->list, "INBOX", 0); + /* Server metadata shouldn't depend on INBOX's ACLs, so ignore them. */ + box = mailbox_alloc(ns->list, "INBOX", MAILBOX_FLAG_IGNORE_ACLS); mailbox_set_reason(box, "Server METADATA"); imtrans = imap_metadata_transaction_begin(box); imtrans->server = TRUE;