From 5357208dd8376107fabdda39c8e307c21e6fc98b Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan@rename-it.nl>
Date: Tue, 22 Dec 2015 21:28:17 +0100
Subject: [PATCH] lib-sieve: result: Fixed handling of implicit keep for a
 partially executed transaction that yield a temporary failure. It would
 probably result in message duplication.

---
 src/lib-sieve/sieve-result.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib-sieve/sieve-result.c b/src/lib-sieve/sieve-result.c
index 6459f3a56..e819b1987 100644
--- a/src/lib-sieve/sieve-result.c
+++ b/src/lib-sieve/sieve-result.c
@@ -1371,6 +1371,8 @@ int sieve_result_execute
 			switch ((ret=_sieve_result_implicit_keep
 				(result, ( status != SIEVE_EXEC_OK ))) ) {
 			case SIEVE_EXEC_OK:
+				if ( result_status == SIEVE_EXEC_TEMP_FAILURE )
+					result_status = SIEVE_EXEC_FAILURE;
 				break;
 			case SIEVE_EXEC_TEMP_FAILURE:
 				if (!result->executed) {
-- 
GitLab