From 1276cb94c68d5e17321a203196fcb20f720488ad Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@open-xchange.com>
Date: Thu, 31 Oct 2024 22:28:36 +0100
Subject: [PATCH] lib-sieve: sieve-storage - Add debug messages for saving
 binaries

---
 src/lib-sieve/sieve-script.c  | 3 +++
 src/lib-sieve/sieve-storage.c | 9 ++++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/lib-sieve/sieve-script.c b/src/lib-sieve/sieve-script.c
index 5caeb9153..1816eae58 100644
--- a/src/lib-sieve/sieve-script.c
+++ b/src/lib-sieve/sieve-script.c
@@ -738,6 +738,7 @@ int sieve_script_binary_save_default(struct sieve_script *script ATTR_UNUSED,
 	int ret;
 
 	if (path == NULL) {
+		e_debug(script->event, "No path to save Sieve script");
 		sieve_script_set_error(
 			script, SIEVE_ERROR_NOT_POSSIBLE,
 			"Cannot save script binary for this storage");
@@ -750,6 +751,8 @@ int sieve_script_binary_save_default(struct sieve_script *script ATTR_UNUSED,
 		script->storage, mkdir_get_executable_mode(save_mode)) < 0)
 		return -1;
 
+	e_debug(script->event, "Saving binary to '%s'", path);
+
 	ret = sieve_binary_save(sbin, path, update, save_mode, &error_code);
 	if (ret < 0) {
 		sieve_script_set_error(script, error_code,
diff --git a/src/lib-sieve/sieve-storage.c b/src/lib-sieve/sieve-storage.c
index 6a857b8c9..bf3f30c3e 100644
--- a/src/lib-sieve/sieve-storage.c
+++ b/src/lib-sieve/sieve-storage.c
@@ -300,6 +300,10 @@ int sieve_storage_alloc_with_settings(struct sieve_instance *svinst,
 	storage->max_storage = set->quota_storage_size;
 	storage->max_scripts = set->quota_script_count;
 
+	if (storage->bin_path != NULL) {
+		e_debug(storage->event, "Directory for binaries: %s",
+			storage->bin_path);
+	}
 	if (storage->max_storage > 0) {
 		e_debug(storage->event, "quota: "
 			"Storage limit: %"PRIuUOFF_T" bytes",
@@ -819,8 +823,11 @@ int sieve_storage_setup_bin_path(struct sieve_storage *storage, mode_t mode)
 		return -1;
 	}
 
-	if (stat(bin_path, &st) == 0)
+	if (stat(bin_path, &st) == 0) {
+		e_debug(storage->event,
+			"Directory for saving binary already exists");
 		return 0;
+	}
 
 	if (errno == EACCES) {
 		sieve_storage_set_critical(storage,
-- 
GitLab