X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/5af333ca3b83425e5cb3aa704b37654d576856c1..48c76ab2a04663c2df60766ca3c813a26d19a5e2:/procmail/logging diff --git a/procmail/logging b/procmail/logging index 04e03b6..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" -TRAP="echo \"delivered: \${LASTFOLDER#$INBOX/}\" >> '$THISLOGFILE'; - echo >> '$THISLOGFILE'; - egrep -v '^(procmail:)?[[:space:]\"]' '$THISLOGFILE' >> $MASTERLOGFILE" +:0 +* SUBJECT_ENCODED ?? . +{ LOG="subject-enc: $SUBJECT_ENCODED$NL" } + +TRAP="DESTFILE=\"\${LASTFOLDER#$BASE/}\"; + /usr/bin/lockfile -4 -r50 -l180 $PMVAR/lock; + trap \"echo >> '$THISLOGFILE'; + /bin/cat '$THISLOGFILE' >> $MASTERLOGFILE; + /bin/rm -f $PMVAR/lock\" 0" -#VERBOSE=yes +THISLOGFILE_REL