From b6c92160b09b98f85da28b136d288aa9d83029d6 Mon Sep 17 00:00:00 2001 From: "martin f. krafft" Date: Sun, 23 Sep 2007 21:51:43 +0200 Subject: [PATCH] only delay if ts is actually in the future --- procmail/delay-delivery | 42 ++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/procmail/delay-delivery b/procmail/delay-delivery index 405cbcb..2c6fc4d 100644 --- a/procmail/delay-delivery +++ b/procmail/delay-delivery @@ -5,30 +5,42 @@ * DELAY ?? . * ! DELAYED ?? . { + :0 + * DELAY ?? ^[0-9] + { DELAY="now + $DELAY" } + #TODO: for tickling, use header date - RELEASE="`date -d \"now + $DELAY\" +'%s %c'`" + RELEASE="`date -d \"$DELAY\" +'%s %c'`" :0 *$ RELEASE ?? ^\/${RE_NOT_SPACE}+ { RELEASE_TS=$MATCH } + + VERBOSE=yes :0 - *$ RELEASE ?? ^[0-9]+${RE_SPACE}+\/.+ - { RELEASE_TIME="$MATCH" } + *$ $RELEASE_TS^0 + *$ -$OURDATE_TS^0 + { + :0 + *$ RELEASE ?? ^[0-9]+${RE_SPACE}+\/.+ + { RELEASE_TIME="$MATCH" } - LOG="delay: delay delivery of $MSGID until $RELEASE_TIME$NL" + LOG="delay: delay delivery of $MSGID until $RELEASE_TIME$NL" - DELAYED_QUEUE_DB=$PMVAR/delayed-queue.sqlite - DO_QUERY="$SQLITE $DELAYED_QUEUE_DB" + DELAYED_QUEUE_DB=$PMVAR/delayed-queue.sqlite + DO_QUERY="$SQLITE $DELAYED_QUEUE_DB" - DATA="$MSGID" - INCLUDERC=$PMDIR/sql-escape + DATA="$MSGID" + INCLUDERC=$PMDIR/sql-escape - Q="insert into messages values - ($DATA, '\\'\$DESTFILE\\'', $RELEASE_TS)" - TRAP="$TRAP; $DO_QUERY '$Q'" + Q="insert into messages values + ($DATA, '\\'\$DESTFILE\\'', $RELEASE_TS)" + TRAP="$TRAP; $DO_QUERY '$Q'" - :0 fw - |$FORMAIL -I "X-Delayed: $RELEASE_TS ($RELEASE_TIME)" + :0 fw + |$FORMAIL -I "X-Delayed: $RELEASE_TS ($RELEASE_TIME)" - :0 - $DELAYED_QUEUE + :0 + $DELAYED_QUEUE + } + VERBOSE=no } -- 2.39.2