dovecot-1.2: deliver: Don't preserve HOME environment when using...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Jan 3 17:33:30 EET 2009
details: http://hg.dovecot.org/dovecot-1.2/rev/db0d0d7385fd
changeset: 8587:db0d0d7385fd
user: Timo Sirainen <tss at iki.fi>
date: Sat Jan 03 10:33:20 2009 -0500
description:
deliver: Don't preserve HOME environment when using -d parameter.
diffstat:
3 files changed, 5 insertions(+), 5 deletions(-)
src/deliver/deliver.c | 6 +++---
src/deliver/deliver.h | 2 +-
src/deliver/smtp-client.c | 2 +-
diffs (53 lines):
diff -r 71cc9f3e3f2d -r db0d0d7385fd src/deliver/deliver.c
--- a/src/deliver/deliver.c Wed Dec 31 01:49:50 2008 +0200
+++ b/src/deliver/deliver.c Sat Jan 03 10:33:20 2009 -0500
@@ -719,14 +719,14 @@ static void print_help(void)
" [-f <envelope sender>] [-m <mailbox>] [-n] [-s] [-e] [-k]\n");
}
-void deliver_env_clean(void)
+void deliver_env_clean(bool preserve_home)
{
const char *tz, *home;
tz = getenv("TZ");
if (tz != NULL)
tz = t_strconcat("TZ=", tz, NULL);
- home = getenv("HOME");
+ home = preserve_home ? getenv("HOME") : NULL;
if (home != NULL)
home = t_strconcat("HOME=", home, NULL);
@@ -920,7 +920,7 @@ int main(int argc, char *argv[])
if (user == NULL)
user = getenv("USER");
if (!keep_environment)
- deliver_env_clean();
+ deliver_env_clean(!user_auth);
process_euid = geteuid();
if (user_auth)
diff -r 71cc9f3e3f2d -r db0d0d7385fd src/deliver/deliver.h
--- a/src/deliver/deliver.h Wed Dec 31 01:49:50 2008 +0200
+++ b/src/deliver/deliver.h Sat Jan 03 10:33:20 2009 -0500
@@ -34,7 +34,7 @@ typedef int deliver_mail_func_t(struct m
extern deliver_mail_func_t *deliver_mail;
-void deliver_env_clean(void);
+void deliver_env_clean(bool preserve_home);
/* Save a mail into given mailbox with given flags and keywords. */
int deliver_save(struct mail_namespace *namespaces,
diff -r 71cc9f3e3f2d -r db0d0d7385fd src/deliver/smtp-client.c
--- a/src/deliver/smtp-client.c Wed Dec 31 01:49:50 2008 +0200
+++ b/src/deliver/smtp-client.c Sat Jan 03 10:33:20 2009 -0500
@@ -46,7 +46,7 @@ smtp_client_run_sendmail(const char *des
if (dup2(fd, STDIN_FILENO) < 0)
i_fatal("dup2() failed: %m");
- deliver_env_clean();
+ deliver_env_clean(TRUE);
(void)execv(sendmail_path, (void *)argv);
i_fatal("execv(%s) failed: %m", sendmail_path);
More information about the dovecot-cvs
mailing list