X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/c3d55a5719b81c63c76cd118f47cd56b68a2be9d..46d57b0e1b08f618e5d46f2538c7ac92c79e2326:/procmail/logging diff --git a/procmail/logging b/procmail/logging index 67d7712..ac4b8dc 100644 --- a/procmail/logging +++ b/procmail/logging @@ -5,23 +5,25 @@ MSGIDDIR=$PMVAR/msgid :0 * MSGID ?? ^<\/[^>]+ { - MSGID_NAME=`echo $MATCH | tr -d "'\"?[:cntrl:]" | tr ' /*$' '__+S'` + MSGID_NAME=`echo -n $MATCH | sha224sum | cut -d' ' -f1` - #VERBOSE=yes - # check if filename > 228 characters and if so, then shorten it to prevent - # hitting filesystem limit after we append the timestamp :0 - * MSGID_NAME ?? ^..................................................................................................................................................................................................................................... - { - HASH=`echo $MSGID_NAME | md5sum | cut -d' ' -f1` - MSGID_NAME=`echo $MSGID_NAME | cut -c-196`$HASH - } - - THISLOGFILE_REL=$MSGID_NAME%$OURDATE_SHORT - THISLOGFILE="$MSGIDDIR/$THISLOGFILE_REL" + * 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 - #VERBOSE=no } MASTERLOGFILE="$LOGFILE" @@ -36,11 +38,15 @@ LOG="=========================================================================== 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';