dovecot-2.2-pigeonhole: lib-sieve: file storage: Fixed bug that ...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Mon Mar 16 21:28:10 UTC 2015


details:   http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/cf8007c9a74f
changeset: 2020:cf8007c9a74f
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Mon Mar 16 22:27:17 2015 +0100
description:
lib-sieve: file storage: Fixed bug that caused missing active symlink to cause a temporary error in some cases.

diffstat:

 src/lib-sieve/storage/file/sieve-file-storage.c |  19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)

diffs (30 lines):

diff -r 07e25d04d8f2 -r cf8007c9a74f src/lib-sieve/storage/file/sieve-file-storage.c
--- a/src/lib-sieve/storage/file/sieve-file-storage.c	Mon Mar 16 22:09:55 2015 +0100
+++ b/src/lib-sieve/storage/file/sieve-file-storage.c	Mon Mar 16 22:27:17 2015 +0100
@@ -333,13 +333,20 @@
 		}
 
 		if (t_realpath(active_dir, &active_dir) < 0) {
-			sieve_storage_sys_error(storage,
-				"Failed to normalize active script directory (path=%s): %m",
-				active_dir);
-			*error_r = SIEVE_ERROR_TEMP_FAILURE;
-			return -1;
+			if (errno != ENOENT) {
+				sieve_storage_sys_error(storage,
+					"Failed to normalize active script directory (path=%s): %m",
+					active_dir);
+				*error_r = SIEVE_ERROR_TEMP_FAILURE;
+				return -1;
+			} 
+			sieve_storage_sys_debug(storage,
+				"Failed to normalize active script directory (path=%s): "
+				"Part of the path does not exist (yet)",
+				active_dir);			
+		} else {
+			active_path = t_abspath_to(active_fname, active_dir);
 		}
-		active_path = t_abspath_to(active_fname, active_dir);
 
 		sieve_storage_sys_debug(storage,
 			"Using %sSieve script path: %s",


More information about the dovecot-cvs mailing list