Re: [Evolution] Spamfiltering with evolution - NO LONGER WORKS



On Sat, 2008-01-19 at 18:05 -0500, Paul Smith wrote:
On Thu, 2008-01-17 at 15:23 -0430, Patrick O'Callaghan wrote:
I think it's fairly clear that when someone says "it doesn't work" they
mean "it doesn't work for me", but again I apologize if you found the
tonen aggresive.

This was merely the last in a long line of posts over the last week
which seemed long on explaining how bad things were and short on
providing useful information that might help resolve issues.  Taken by
itself yours was not bad; I probably should have picked a different
example.  Sorry about that :-(.

I considered inserting a man-in-the-middle trap in /usr/bin/bogofilter
to log invocations but decided against it since I don't know if Evo
calls the actual BF executable or has a side entrance via a library
(so an empty log wouldn't tell me anything).

From the info you've provided, it seems like a man-in-the-middle trap is
the next step.  This was where I was ultimately headed when I sent my
last email but I wanted to check some other things first; that's why I
asked for people to enable logging, etc.

I've looked at the source to the bogofilter plugin and it does indeed
invoke /usr/bin/bogofilter with various arguments: there is no backend
library (I don't think bogofilter provides one actually).  Further, the
plugin doesn't provide any customization whatsoever that would allow you
to tell it to use a different program for man-in-the-middle operation.
So, unfortunately, you'll have to replace your /usr/bin/bogofilter with
the man-in-the-middle script.

When did you ask for this? I must have missed it. Any way here it is:
the wordlist.db has mod time of 2007-11-10 07:05, so I think it's safe
to say it's not being touched.

My suspicion, then, is that the plugin is not even being invoked.
However, please proceed with the man-in-the-middle approach and see what
it tells you.  You can probably guess what steps to take but enable
logging/debug and write it to a test file.  Also print the exit code
from bogofilter to the test file, etc.

You said something about Evo logging, but did you try to enable logging
as I described before, by setting CAMEL_DEBUG=junk (make sure you export
it) then starting evolution (from the shell command line of course)?
Also be sure you run "evolution --force-shutdown" first and check that
all evolution processes are dead before doing this.

If you do this you SHOULD see debug output for the bogofilter junk
plugin for EVERY email you receive.

It's possible, though, that your version of Evo was not built with
proper debugging enabled; in that case you might not see it.  I don't
know that much about Fedora, since I gave up on Red Hat back around Red
Hat 5 or 6 or so, but maybe they have debug build packages you could
install instead?

What makes this interesting is that I've just noticed that on the office
machine I don't have a ~/.bogofilter directory, and hence no
wordlist.db, but I've been merrily clicking away on the Junk icon and
hearing no complaint from Evo, i.e. even when BF *cannot possibly be
working* Evo doesn't say anything. The BF man page says it should give
an exit status of 3 if the wordlist.db file cannot be read. Is Evo
checking this?

From my reading of the code, the plugin definitely needs some love in
the area of error handling (and customization would be nice too).
Bogofilter's exit code is translated into a boolean: if it's true (0)
the check function returns true (which appears to mean the message is
spam); if it's false (any non-0 value) the check returns false, which
means the message is not spam.  The code does NOT check for specific
non-0 values such as 3.  Bummer.

I've upgraded to 2.12.3 (evolution-2.12.3-1.fc8 and
evolution-data-server-1.12.3-1.fc8).

Junk filtering still doesn't work. The /usr/bin/bogofilter is still not
being called.

poc




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]