diff --git a/sieve/tests/actions.sieve b/sieve/tests/actions.sieve index eeb7b76689135559419db1b00d0ebbf25eb40f99..142a450bd80137698591b024e923a9fd3921c62d 100644 --- a/sieve/tests/actions.sieve +++ b/sieve/tests/actions.sieve @@ -12,7 +12,7 @@ if address :contains "to" "vestingbar" { #redirect "nico@example.nl"; #redirect "stephan@example.com"; -#fileinto "INBOX.frop"; -#fileinto "INBOX"; +fileinto "frop"; +fileinto "INBOX"; keep; discard; diff --git a/src/lib-sieve/sieve-actions.c b/src/lib-sieve/sieve-actions.c index e20ba49825551802e5ab1d01ec2391b53081504b..aab85a33066360d22f39f84f1eaa8b509030de1a 100644 --- a/src/lib-sieve/sieve-actions.c +++ b/src/lib-sieve/sieve-actions.c @@ -188,10 +188,12 @@ static bool act_store_commit { struct act_store_transaction *trans = (struct act_store_transaction *) tr_context; - bool status = mailbox_transaction_commit(&trans->mail_trans); + bool status = mailbox_transaction_commit(&trans->mail_trans) == 0; act_store_log_status(trans, aenv->msgdata, FALSE, status); + mailbox_close(&trans->box); + return status; } @@ -206,6 +208,8 @@ static void act_store_rollback mailbox_transaction_rollback(&trans->mail_trans); act_store_log_status(trans, aenv->msgdata, TRUE, success); + + mailbox_close(&trans->box); } diff --git a/src/sieve-bin/sieve-exec.c b/src/sieve-bin/sieve-exec.c index b52939b6ee55afa56b53cfcbc73a68f8a33eb623..b48d2070791cc10297918ec9f711f07a143df1c5 100644 --- a/src/sieve-bin/sieve-exec.c +++ b/src/sieve-bin/sieve-exec.c @@ -106,9 +106,10 @@ int main(int argc, char **argv) } env_put(t_strdup_printf("NAMESPACE_1=%s", "maildir:/home/stephan/Maildir")); - env_put("NAMESPACE_1_PREFIX=INBOX."); - env_put("NAMESPACE_1_LIST=yes"); - env_put("NAMESPACE_1_SUBSCRIPTIONS=yes"); + env_put("NAMESPACE_1_INBOX=1"); + env_put("NAMESPACE_1_LIST=1"); + env_put("NAMESPACE_1_SEP=."); + env_put("NAMESPACE_1_SUBSCRIPTIONS=1"); namespaces_pool = namespaces_init();