From f7c37a6b084ae46a80f7314e7957bc758691143a Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Mon, 17 Nov 2008 22:38:28 +0100 Subject: [PATCH] Matched changes in Dovecot to properly handle/ignore the new mailbox ACL support. --- src/lib-sieve/sieve-actions.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lib-sieve/sieve-actions.c b/src/lib-sieve/sieve-actions.c index 246239507..be5e0f224 100644 --- a/src/lib-sieve/sieve-actions.c +++ b/src/lib-sieve/sieve-actions.c @@ -168,10 +168,18 @@ static void act_store_get_storage_error static struct mailbox *act_store_mailbox_open (const struct sieve_action_exec_env *aenv, struct mail_namespace *ns, const char *folder) { + enum mailbox_open_flags open_flags = + MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT | + MAILBOX_OPEN_SAVEONLY | MAILBOX_OPEN_POST_SESSION; struct mailbox *box; + if (strcasecmp(name, "INBOX") == 0) { + /* Deliveries to INBOX must always succeed, regardless of ACLs */ + open_flags |= MAILBOX_OPEN_IGNORE_ACLS; + } + box = mailbox_open - (ns->storage, folder, NULL, MAILBOX_OPEN_FAST |MAILBOX_OPEN_KEEP_RECENT); + (ns->storage, folder, NULL, open_flags); if ( box == NULL && aenv->scriptenv->mailbox_autocreate ) { enum mail_error error; @@ -191,7 +199,7 @@ static struct mailbox *act_store_mailbox_open /* Try opening again */ box = mailbox_open - (ns->storage, folder, NULL, MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT); + (ns->storage, folder, NULL, open_flags); if (box == NULL) return NULL; -- GitLab