changeset 6361:7f6c99dc1f17 HEAD

Added -k parameter to preserve environment. Normally everything but TZ and HOME are dropped.
author Timo Sirainen <tss@iki.fi>
date Sun, 09 Sep 2007 04:42:42 +0300
parents 461ae76c84da
children ad46cb956a0a
files src/deliver/deliver.c
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/deliver/deliver.c	Sun Sep 09 04:33:45 2007 +0300
+++ b/src/deliver/deliver.c	Sun Sep 09 04:42:42 2007 +0300
@@ -579,6 +579,7 @@
 	uid_t process_euid;
 	pool_t namespace_pool;
 	bool stderr_rejection = FALSE;
+	bool keep_environment = FALSE;
 	int i, ret;
 
 	i_set_failure_exit_callback(failure_exit_callback);
@@ -595,8 +596,6 @@
         lib_signals_ignore(SIGXFSZ, TRUE);
 #endif
 
-	deliver_env_clean();
-
 	destination = NULL;
 	for (i = 1; i < argc; i++) {
 		if (strcmp(argv[i], "-d") == 0) {
@@ -617,6 +616,8 @@
 					"Missing config file path argument");
 			}
 			config_path = argv[i];
+		} else if (strcmp(argv[i], "-k") == 0) {
+			keep_environment = TRUE;
 		} else if (strcmp(argv[i], "-m") == 0) {
 			/* destination mailbox */
 			i++;
@@ -646,6 +647,9 @@
 		}
 	}
 
+	if (!keep_environment)
+		deliver_env_clean();
+
 	process_euid = geteuid();
 	if (destination != NULL)
 		user = destination;