From 587d90d86d03753fd7de91a5f7e58bf0192f2ee7 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan@rename-it.nl>
Date: Tue, 22 Dec 2015 21:30:12 +0100
Subject: [PATCH] lib-sieve: Made sure that quota errors never get logged as
 errors in syslog. Also improved handling of permission errors caused by ACL
 plugin.

---
 src/lib-sieve/sieve-actions.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/lib-sieve/sieve-actions.c b/src/lib-sieve/sieve-actions.c
index eaf7fcbd5..85f9990b0 100644
--- a/src/lib-sieve/sieve-actions.c
+++ b/src/lib-sieve/sieve-actions.c
@@ -636,13 +636,20 @@ static void act_store_log_status
 		errstr = trans->error;
 		error_code = trans->error_code;
 
-		if ( error_code == MAIL_ERROR_NOTFOUND ||
+		if ( error_code == MAIL_ERROR_NOQUOTA ) {
+			/* Never log quota problems as error in global log */
+			sieve_result_global_log_error(aenv,
+				"failed to store into mailbox %s: %s",
+				mailbox_name, errstr);
+		} else if ( error_code == MAIL_ERROR_NOTFOUND ||
 			error_code == MAIL_ERROR_PARAMS ||
-			error_code == MAIL_ERROR_NOQUOTA ) {
-			sieve_result_error(aenv, "failed to store into mailbox %s: %s",
+			error_code == MAIL_ERROR_PERM ) {
+			sieve_result_error(aenv,
+				"failed to store into mailbox %s: %s",
 				mailbox_name, errstr);
 		} else {
-			sieve_result_global_error(aenv, "failed to store into mailbox %s: %s",
+			sieve_result_global_error(aenv,
+				"failed to store into mailbox %s: %s",
 				mailbox_name, errstr);
 		}
 
-- 
GitLab