:0 * ! DEST ?? . * ! TICKLE_DELIVERED ?? . * ORIGINAL_TO ?? ^.+@tickle\.madduck\.net$ * ORIGINAL_TO ?? ^\/[^@]+ { BIN_DATE=/bin/date DELIVERY_TIME=04:20 STAMP :0 * MATCH ?? ^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$ { STAMP="$MATCH (`$BIN_DATE -d @$MATCH +%c`)" } :0 E * MATCH ?? ^[0-9]+h$ * MATCH ?? ^\/[^h]+ { DATESTR="$DATE + $MATCH hours" } JUST_DATE="`$BIN_DATE -d \"$DATE\" +%x`" :0 E * MATCH ?? ^[0-9]+m$ * MATCH ?? ^\/[^m]+ { DATESTR="$JUST_DATE + $MATCH months $DELIVERY_TIME" } :0 E * MATCH ?? ^[0-9]+w$ * MATCH ?? ^\/[^w]+ { DATESTR="$JUST_DATE + $MATCH weeks $DELIVERY_TIME" } :0 E * MATCH ?? ^[0-9]+d?$ * MATCH ?? ^\/[^d]+ { DATESTR="$JUST_DATE + $MATCH days $DELIVERY_TIME" } JUST_DATE DELIVERY_TIME :0 E { LOG="tickle: invalid date string: $MATCH$NL" EXITCODE=69 HOST } :0 * ! STAMP ?? . { STAMP=`$BIN_DATE +'%s (%c)' -d "$DATESTR"` } :0 * ! STAMP ?? ^[0-9]+ \([A-Za-z ]+ [0-9 :]+\)$ { LOG="tickle: error creating timestamp ($STAMP), using \$now$NL" STAMP="`$BIN_DATE +%s` (ERROR: original stamp '$STAMP' invalid)" } :0 E { LOG="tickle: stamping message $MSGID with $STAMP$NL" } :0 fw |$FORMAIL -i "X-Tickle: $STAMP" :0 { DEST=$TICKLER_QUEUE } BIN_DATE } # vim:ft=procmail