dovecot-2.2-pigeonhole: lib-sieve: Make message the time the mes...
pigeonhole at rename-it.nl
pigeonhole at rename-it.nl
Fri Nov 13 23:36:34 UTC 2015
details: http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/e26cb6c0bf07
changeset: 2131:e26cb6c0bf07
user: Stephan Bosch <stephan at rename-it.nl>
date: Sat Nov 14 00:36:19 2015 +0100
description:
lib-sieve: Make message the time the message processing started available to any extension.
diffstat:
src/lib-sieve/plugins/date/ext-date-common.c | 6 ++++--
src/lib-sieve/sieve-message.c | 10 ++++++++++
src/lib-sieve/sieve-message.h | 2 ++
3 files changed, 16 insertions(+), 2 deletions(-)
diffs (66 lines):
diff -r d1e5a06fc9d7 -r e26cb6c0bf07 src/lib-sieve/plugins/date/ext-date-common.c
--- a/src/lib-sieve/plugins/date/ext-date-common.c Sat Nov 14 00:30:30 2015 +0100
+++ b/src/lib-sieve/plugins/date/ext-date-common.c Sat Nov 14 00:36:19 2015 +0100
@@ -33,12 +33,14 @@
{
struct ext_date_context *dctx;
pool_t pool;
+ struct timeval msg_time;
+ time_t current_date;
struct tm *tm;
- time_t current_date;
int zone_offset;
/* Get current time at instance main script is started */
- time(¤t_date);
+ sieve_message_context_time(renv->msgctx, &msg_time);
+ current_date = msg_time.tv_sec;
tm = localtime(¤t_date);
zone_offset = utc_offset(tm, current_date);
diff -r d1e5a06fc9d7 -r e26cb6c0bf07 src/lib-sieve/sieve-message.c
--- a/src/lib-sieve/sieve-message.c Sat Nov 14 00:30:30 2015 +0100
+++ b/src/lib-sieve/sieve-message.c Sat Nov 14 00:36:19 2015 +0100
@@ -76,6 +76,7 @@
int refcount;
struct sieve_instance *svinst;
+ struct timeval time;
struct mail_user *mail_user;
const struct sieve_message_data *msgdata;
@@ -163,6 +164,9 @@
msgctx->mail_user = mail_user;
msgctx->msgdata = msgdata;
+ if (gettimeofday(&msgctx->time, NULL) < 0)
+ i_fatal("gettimeofday(): %m");
+
sieve_message_context_reset(msgctx);
return msgctx;
@@ -247,6 +251,12 @@
return msgctx->context_pool;
}
+void sieve_message_context_time(struct sieve_message_context *msgctx,
+ struct timeval *time)
+{
+ *time = msgctx->time;
+}
+
/* Extension support */
void sieve_message_context_extension_set
diff -r d1e5a06fc9d7 -r e26cb6c0bf07 src/lib-sieve/sieve-message.h
--- a/src/lib-sieve/sieve-message.h Sat Nov 14 00:30:30 2015 +0100
+++ b/src/lib-sieve/sieve-message.h Sat Nov 14 00:36:19 2015 +0100
@@ -29,6 +29,8 @@
pool_t sieve_message_context_pool
(struct sieve_message_context *msgctx) ATTR_PURE;
+void sieve_message_context_time(struct sieve_message_context *msgctx,
+ struct timeval *time);
/* Extension support */
More information about the dovecot-cvs
mailing list