X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/ac1820e72ec14b31fc751fb2482a0d31caed21ba..22ebba8d77c6d83bf5dc68d41a456b7f2ebd2b7b:/procmail/logging

diff --git a/procmail/logging b/procmail/logging
index 842cd9a..ac4b8dc 100644
--- a/procmail/logging
+++ b/procmail/logging
@@ -5,23 +5,52 @@ MSGIDDIR=$PMVAR/msgid
 :0
 * MSGID ?? ^<\/[^>]+
 {
-  THISLOGFILE_REL=`echo $MATCH | tr -d "'\"?[:cntrl:]" | tr ' /*' '__+'`%$OURDATE_SHORT
-  THISLOGFILE="$MSGIDDIR/$THISLOGFILE_REL"
+  MSGID_NAME=`echo -n $MATCH | sha224sum | cut -d' ' -f1`
+
+  :0
+  * MSGID_NAME ?? ^\/.
+  { HASH1="$MATCH" }
+
+  :0
+  * MSGID_NAME ?? ^.\/.
+  { HASH2="$MATCH" }
+
+  THISLOGFILE_REL="${HASH1}/${HASH2}/${MSGID_NAME}_${OURDATE_SHORT}"
+  LOGDIR="${MSGIDDIR}/${HASH1}/${HASH2}"
+  MKDIR=`test -d $LOGDIR || mkdir -p $LOGDIR`
+  MKDIR
+  LOGDIR
+  THISLOGFILE="${MSGIDDIR}/${THISLOGFILE_REL}"
+  HASH2
+  HASH1
+  MSGID_NAME
 }
 
 MASTERLOGFILE="$LOGFILE"
 LOGFILE="$THISLOGFILE"
 
-LOG="==============================================================================
-msgid:       $MSGID
+LOG="==============================================================================$NL"
+
+:0
+* LOGLATER ?? .
+{ LOG="$LOGLATER" }
+
+LOG="msgid:       $MSGID
 logfile:     $THISLOGFILE_REL
 date:        $DATE (@$OURDATE)
-from:        $FROM
+sender:      $SENDER
+from:        $FROMEMAIL ($FROM)
 original-to: $ORIGINAL_TO
 subject:     $SUBJECT$NL"
 
+:0
+* SUBJECT_ENCODED ?? .
+{ LOG="subject-enc: $SUBJECT_ENCODED$NL" }
+
 TRAP="DESTFILE=\"\${LASTFOLDER#$BASE/}\";
+      /usr/bin/lockfile -4 -r50 -l180 $PMVAR/lock;
       trap \"echo >> '$THISLOGFILE';
-             cat '$THISLOGFILE' >> $MASTERLOGFILE\" 0"
+             /bin/cat '$THISLOGFILE' >> $MASTERLOGFILE;
+             /bin/rm -f $PMVAR/lock\" 0"
 
-#VERBOSE=yes
+THISLOGFILE_REL