dovecot: Support returning MAIL_FETCH_FROM_ENVELOPE.
dovecot at dovecot.org
dovecot at dovecot.org
Thu Nov 8 21:26:01 EET 2007
details: http://hg.dovecot.org/dovecot/rev/ced2ffbeef8b
changeset: 6749:ced2ffbeef8b
user: Timo Sirainen <tss at iki.fi>
date: Thu Nov 08 21:25:07 2007 +0200
description:
Support returning MAIL_FETCH_FROM_ENVELOPE.
diffstat:
2 files changed, 17 insertions(+), 1 deletion(-)
src/lib-storage/index/raw/raw-mail.c | 17 ++++++++++++++++-
src/lib-storage/index/raw/raw-storage.h | 1 +
diffs (45 lines):
diff -r d712370dfd14 -r ced2ffbeef8b src/lib-storage/index/raw/raw-mail.c
--- a/src/lib-storage/index/raw/raw-mail.c Thu Nov 08 21:18:55 2007 +0200
+++ b/src/lib-storage/index/raw/raw-mail.c Thu Nov 08 21:25:07 2007 +0200
@@ -84,6 +84,21 @@ raw_mail_get_stream(struct mail *_mail,
return index_mail_init_stream(mail, hdr_size, body_size, stream_r);
}
+static int
+raw_mail_get_special(struct mail *_mail, enum mail_fetch_field field,
+ const char **value_r)
+{
+ struct raw_mailbox *mbox = (struct raw_mailbox *)_mail->box;
+
+ switch (field) {
+ case MAIL_FETCH_FROM_ENVELOPE:
+ *value_r = mbox->envelope_sender;
+ return 0;
+ default:
+ return index_mail_get_special(_mail, field, value_r);
+ }
+}
+
struct mail_vfuncs raw_mail_vfuncs = {
index_mail_close,
index_mail_free,
@@ -102,7 +117,7 @@ struct mail_vfuncs raw_mail_vfuncs = {
index_mail_get_headers,
index_mail_get_header_stream,
raw_mail_get_stream,
- index_mail_get_special,
+ raw_mail_get_special,
index_mail_update_flags,
index_mail_update_keywords,
index_mail_expunge
diff -r d712370dfd14 -r ced2ffbeef8b src/lib-storage/index/raw/raw-storage.h
--- a/src/lib-storage/index/raw/raw-storage.h Thu Nov 08 21:18:55 2007 +0200
+++ b/src/lib-storage/index/raw/raw-storage.h Thu Nov 08 21:25:07 2007 +0200
@@ -21,6 +21,7 @@ struct raw_mailbox {
time_t mtime, ctime;
uoff_t size;
+ const char *envelope_sender;
unsigned int synced:1;
};
More information about the dovecot-cvs
mailing list