dovecot-2.1-pigeonhole: lib-sieve: Prevent passing NULL sender t...
pigeonhole at rename-it.nl
pigeonhole at rename-it.nl
Sat Dec 22 23:27:42 EET 2012
details: http://hg.rename-it.nl/dovecot-2.1-pigeonhole/rev/fc0bf6b1cb6b
changeset: 1668:fc0bf6b1cb6b
user: Stephan Bosch <stephan at rename-it.nl>
date: Sat Dec 22 22:27:34 2012 +0100
description:
lib-sieve: Prevent passing NULL sender to raw mail storage when active message is substituted.
diffstat:
src/lib-sieve/sieve-config.h | 2 ++
src/lib-sieve/sieve-message.c | 5 ++++-
2 files changed, 6 insertions(+), 1 deletions(-)
diffs (33 lines):
diff -r b56711807edc -r fc0bf6b1cb6b src/lib-sieve/sieve-config.h
--- a/src/lib-sieve/sieve-config.h Mon Nov 26 21:16:54 2012 +0100
+++ b/src/lib-sieve/sieve-config.h Sat Dec 22 22:27:34 2012 +0100
@@ -11,4 +11,6 @@
#define SIEVE_SCRIPT_FILEEXT "sieve"
#define SIEVE_BINARY_FILEEXT "svbin"
+#define DEFAULT_ENVELOPE_SENDER "MAILER-DAEMON"
+
#endif
diff -r b56711807edc -r fc0bf6b1cb6b src/lib-sieve/sieve-message.c
--- a/src/lib-sieve/sieve-message.c Mon Nov 26 21:16:54 2012 +0100
+++ b/src/lib-sieve/sieve-message.c Sat Dec 22 22:27:34 2012 +0100
@@ -357,6 +357,7 @@
struct sieve_message_version *version;
struct mailbox_header_lookup_ctx *headers_ctx;
struct mailbox *box = NULL;
+ const char *sender;
int ret;
if ( msgctx->raw_mail_user == NULL ) {
@@ -367,8 +368,10 @@
}
i_stream_seek(input, 0);
+ sender = sieve_message_get_sender(msgctx);
+ sender = (sender == NULL ? DEFAULT_ENVELOPE_SENDER : sender );
ret = raw_mailbox_alloc_stream(msgctx->raw_mail_user, input, (time_t)-1,
- sieve_message_get_sender(msgctx), &box);
+ sender, &box);
if ( ret < 0 ) {
sieve_sys_error(msgctx->svinst, "can't open substituted mail as raw: %s",
More information about the dovecot-cvs
mailing list