From 23006f3868bda5d20d5db0d7fa1f8cd422ff2f60 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Mon, 16 Mar 2015 22:27:17 +0100 Subject: [PATCH] lib-sieve: file storage: Fixed bug that caused missing active symlink to cause a temporary error in some cases. --- .../storage/file/sieve-file-storage.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/lib-sieve/storage/file/sieve-file-storage.c b/src/lib-sieve/storage/file/sieve-file-storage.c index f4033e9a7..7405947f6 100644 --- a/src/lib-sieve/storage/file/sieve-file-storage.c +++ b/src/lib-sieve/storage/file/sieve-file-storage.c @@ -333,13 +333,20 @@ static int sieve_file_storage_init_common } 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", -- GitLab