From ad09a2e24044908a42e4beefd13ba4e463e88663 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@open-xchange.com>
Date: Tue, 1 Oct 2024 20:47:03 +0200
Subject: [PATCH] lib-sieve: Rely on username being available at runtime

---
 src/lib-sieve/storage/dict/sieve-dict-storage.c          | 9 +--------
 src/lib-sieve/storage/ldap/sieve-ldap-storage.c          | 9 +--------
 src/plugins/sieve-extprograms/sieve-extprograms-common.c | 6 ++----
 3 files changed, 4 insertions(+), 20 deletions(-)

diff --git a/src/lib-sieve/storage/dict/sieve-dict-storage.c b/src/lib-sieve/storage/dict/sieve-dict-storage.c
index 4c7468764..cd8a72d78 100644
--- a/src/lib-sieve/storage/dict/sieve-dict-storage.c
+++ b/src/lib-sieve/storage/dict/sieve-dict-storage.c
@@ -54,15 +54,8 @@ sieve_dict_storage_init(struct sieve_storage *storage,
 		}
 	}
 
-	if (username == NULL) {
-		if (svinst->username == NULL) {
-			sieve_storage_set_critical(storage,
-						   "No username specified");
-			*error_code_r = SIEVE_ERROR_TEMP_FAILURE;
-			return -1;
-		}
+	if (username == NULL)
 		username = svinst->username;
-	}
 
 	if (svinst->base_dir == NULL) {
 		sieve_storage_set_critical(
diff --git a/src/lib-sieve/storage/ldap/sieve-ldap-storage.c b/src/lib-sieve/storage/ldap/sieve-ldap-storage.c
index b413c7c7c..ec08831d8 100644
--- a/src/lib-sieve/storage/ldap/sieve-ldap-storage.c
+++ b/src/lib-sieve/storage/ldap/sieve-ldap-storage.c
@@ -67,15 +67,8 @@ sieve_ldap_storage_init(struct sieve_storage *storage,
 		}
 	}
 
-	if (username == NULL) {
-		if (svinst->username == NULL) {
-			sieve_storage_set_critical(
-				storage, "No username specified");
-			*error_code_r = SIEVE_ERROR_TEMP_FAILURE;
-			return -1;
-		}
+	if (username == NULL)
 		username = svinst->username;
-	}
 
 	e_debug(storage->event, "user=%s, config=%s",
 		username, storage->location);
diff --git a/src/plugins/sieve-extprograms/sieve-extprograms-common.c b/src/plugins/sieve-extprograms/sieve-extprograms-common.c
index fae2ecb31..ea954c72c 100644
--- a/src/plugins/sieve-extprograms/sieve-extprograms-common.c
+++ b/src/plugins/sieve-extprograms/sieve-extprograms-common.c
@@ -539,10 +539,8 @@ sieve_extprogram_create(const struct sieve_extension *ext,
 			svinst->event, path, args, &pc_params);
 	}
 
-	if (svinst->username != NULL) {
-		program_client_set_env(sprog->program_client, "USER",
-				       svinst->username);
-	}
+	program_client_set_env(sprog->program_client, "USER",
+			       svinst->username);
 	if (svinst->home_dir != NULL) {
 		program_client_set_env(sprog->program_client, "HOME",
 				       svinst->home_dir);
-- 
GitLab