Mercurial > dovecot > original-hg > dovecot-1.2
changeset 8787:5c3406520c3f HEAD
deliver: Use user's home dir or mail dir when creating temp files, instead of hardcoded /tmp.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 26 Feb 2009 16:43:51 -0500 |
parents | db9811ec1f47 |
children | 1f2dfc6fbda9 |
files | src/deliver/deliver.c |
diffstat | 1 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/deliver/deliver.c Thu Feb 26 16:43:21 2009 -0500 +++ b/src/deliver/deliver.c Thu Feb 26 16:43:51 2009 -0500 @@ -606,7 +606,8 @@ } -static struct istream *create_raw_stream(int fd, time_t *mtime_r) +static struct istream * +create_raw_stream(const char *temp_path_prefix, int fd, time_t *mtime_r) { struct istream *input, *input2, *input_list[2]; const unsigned char *data; @@ -656,7 +657,7 @@ input_list[0] = input2; input_list[1] = NULL; input = i_stream_create_seekable(input_list, MAIL_MAX_MEMORY_BUFFER, - "/tmp/dovecot.deliver."); + temp_path_prefix); i_stream_unref(&input2); return input; } @@ -1114,7 +1115,8 @@ FILE_LOCK_METHOD_FCNTL, &errstr) < 0) i_fatal("Couldn't create internal raw storage: %s", errstr); if (path == NULL) { - input = create_raw_stream(0, &mtime); + const char *prefix = mail_user_get_temp_prefix(mail_user); + input = create_raw_stream(prefix, 0, &mtime); box = mailbox_open(&raw_ns->storage, "Dovecot Delivery Mail", input, MAILBOX_OPEN_NO_INDEX_FILES); i_stream_unref(&input);