]>
git.madduck.net Git - etc/mailfilter.git/blobdiff - procmail/tickle
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
+* ! DEST ?? .
+* ! TICKLE_DELIVERED ?? .
* ORIGINAL_TO ?? ^.+@tickle\.madduck\.net$
* ORIGINAL_TO ?? ^\/[^@]+
{
* ORIGINAL_TO ?? ^.+@tickle\.madduck\.net$
* ORIGINAL_TO ?? ^\/[^@]+
{
+ BIN_DATE=/bin/date
+ DELIVERY_TIME=04:20
:0
* MATCH ?? ^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$
: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$
:0 E
* MATCH ?? ^[0-9]+m$
- * MATCH ?? ^\/[^m]
- { DATESTR="$DATE + $MATCH months 00:00 " }
+ * MATCH ?? ^\/[^m]+
+ { DATESTR="$JUST_DATE + $MATCH months $DELIVERY_TIME " }
:0 E
* MATCH ?? ^[0-9]+w$
:0 E
* MATCH ?? ^[0-9]+w$
- * MATCH ?? ^\/[^w]
- { DATESTR="$DATE + $MATCH weeks 00:00 " }
+ * MATCH ?? ^\/[^w]+
+ { DATESTR="$JUST_DATE + $MATCH weeks $DELIVERY_TIME " }
:0 E
* MATCH ?? ^[0-9]+d?$
:0 E
* MATCH ?? ^[0-9]+d?$
- * MATCH ?? ^\/[^d]
- { DATESTR="$DATE + $MATCH days 00:00 " }
+ * MATCH ?? ^\/[^d]+
+ { DATESTR="$JUST_DATE + $MATCH days $DELIVERY_TIME " }
- :0 E
- * MATCH ?? ^[0-9]+h$
- * MATCH ?? ^\/[^h]
- { DATESTR="$DATE + $MATCH hours" }
+ JUST_DATE
+ DELIVERY_TIME
- { STAMP=`/bin/date +%s -d "$DATESTR"` }
+ { 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)"
+ }
- LOG="tickle: stamping message $MSGID with $STAMP$NL"
+ :0 E
+ { LOG="tickle: stamping message $MSGID with $STAMP$NL" }
:0 fw
|$FORMAIL -i "X-Tickle: $STAMP"
:0
:0 fw
|$FORMAIL -i "X-Tickle: $STAMP"
:0
+ { DEST=$TICKLER_QUEUE }
+
+ BIN_DATE