[maildropl] error writing to filter (bogofilter)
Matthias Andree
matthias.andree at gmx.de
Sun Jun 16 11:53:08 CEST 2013
Christian,
Sorting and comparing your ENV dumps with comm -3 yields
(left-justified: only in first part; indented: only in second part;
omitted: common to both parts):
FROM=chris
FROM=xxxx at xxxx
LINES=4455
LINES=4458
MAILDIRMAKE=/usr/local/bin/maildirmake
MATCH=Message-ID:
REFORMAIL=/usr/local/bin/reformail
SED=/usr/bin/sed
SIZE=333285
SIZE=333309
Looks harmless from bogofilter's perspective, it would not use any of those.
I'd now suggest to add a few bogofilter debug options, and redirect its
stdout and stderr to some file, such as (replace DEBUG flags by a
concatenation of *lower-case* characters from the list below), this goes
on one line:
xfilter "bogofilter -u -e -p -vvv -x DEBUG 2>stderr.txt | tee stdout.txt"
#define BIT_ALGORITHM MASK_BIT('A')
#define BIT_READER MASK_BIT('B')
#define BIT_CONFIG MASK_BIT('C')
#define BIT_DATABASE MASK_BIT('D')
#define BIT_GENERAL MASK_BIT('G')
#define BIT_HTML MASK_BIT('H')
#define BIT_ICONV MASK_BIT('I')
#define BIT_LEXER MASK_BIT('L')
#define BIT_MIME MASK_BIT('M')
#define BIT_MULTI MASK_BIT('U')
#define BIT_REGISTER MASK_BIT('R')
#define BIT_SPAMICITY MASK_BIT('S')
#define BIT_TEXT MASK_BIT('T')
#define BIT_WORDLIST MASK_BIT('W')
#define BIT_MEMORY MASK_BIT('Y')
#define BIT_TEST MASK_BIT('Z')
I think that -x bcdgmty and possibly an added l (letter ell) should be
all you need. stderr.txt will then contain a trace of what bogofilter is
attempting to do and how far it has gotten. Note it may contain binary
data, so don't dump it to a console directly, but use cat -v or
something else that escapes control characters.
Report those stdout.txt and stderr.txt files to David Relson and myself
by email OFF-LISTS (but I'll probably not be able to look at this before
30 hours from now).
Setting Reply-To: to bogofilter list, to which you are also subscribed.
It may also help to show a trace of
cat offending-message.msg | maildrop -V2
(note that this does *not* reproduce how Postfix calls maildrop, because
your postfix uses maildrop -d chris, but -d is incompatible with -V
according to my maildrop manpage).
As well as the truss.txt you get from:
cat offending-message.msg | truss -aef -o truss.txt maildrop -d chris
(This is assuming "chris" for your login and that Darwin kept FreeBSD's
truss(1). Replace accordingly.)
More information about the Bogofilter
mailing list