Mercurial > dovecot > original-hg > dovecot-1.2
changeset 8587:db0d0d7385fd HEAD
deliver: Don't preserve HOME environment when using -d parameter.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 03 Jan 2009 10:33:20 -0500 |
parents | 71cc9f3e3f2d |
children | 73b8468c3b87 |
files | src/deliver/deliver.c src/deliver/deliver.h src/deliver/smtp-client.c |
diffstat | 3 files changed, 5 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- 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 @@ " [-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 @@ if (user == NULL) user = getenv("USER"); if (!keep_environment) - deliver_env_clean(); + deliver_env_clean(!user_auth); process_euid = geteuid(); if (user_auth)
--- 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 @@ 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,
--- 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 @@ 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);