[Evolution-hackers] Junk filtering controls and logic are confusing




The particular working of the junk filtering pane (Preferences -> Mail
Preferences -> Junk) is confusing, and the functionality it controls is
(A) hard to understand and (B) arguably incorrect.

I'm not just trying to gripe about this - I want to help work towards a
better understanding of the junk filtering logic that can result in an
improved UI, improved documentation, and possibly improvements to the
junk filtering logic itself.  Please let me know if it is better to
discuss this in the bug tracker than on the mailing list.

The UI itself leaves open certain questions:

1. What all does 'Check incoming messages for junk' control? Everything?
Just the junk plugin (spamassassin/bogofilter)?  Does checking or
unchecking it affect whether custom headers are scanned?
    - Potential UI fix: the options for everything that is pre-empted by
disabling junk checking should be disabled when the checkbox is cleared

2. What option is ignored if a match for custom junk headers is found?
    - The code suggests that the address book and and junk filter plugin
logic are both ignored if custom headers are found

3. What happens if there is no junk plugin (bogofilter/spamassassin)
installed? UI makes it looks like the custom headers will work, and
address book checking will work.  However, the code seems to disagree:
looking at the junk_test function in camel-filter-search.c, it looks
like everything is just bypassed if there is no junk filter installed.

In my mail setup, I run SpamAssassin on the server (as a Postfix
milter).  I want Evolution to check the spam headers set by the server,
but not to mess with running bogofilter or spamassassin or anything like
that locally.  Further, since my server's SpamAssassin doesn't know
anything about my address book, I want the address book lookup to
override the custom header check.

The UI makes it ambiguous as to whether this is possible.  Looking
through the code, to the extent that I understand it so far, it looks
like it is not.  If I have no junk filter plugin, then Evolution will
not do any checking, including for custom headers.  If I have one, then
I'm double-scanning my mail and slowing down Evolution.  And the address
book check doesn't interact with the header check.

Also, custom header checks don't seem to be doing anything right now,
but that seems to be a slightly separate issue.

Is revisiting the UI and logic for junk filtering something that the
Evolution devs are open to?  I'm willing to throw some of my (sadly few)
free cycles at implementing some cleanups, at least if they are to
fairly self-contained code (I'm quite new to the Evolution code base).

In particular, a few things I am immediately interested in making
happen:
     1. Making address book checks preempt spam header checks
     2. (maybe) figuring out why the spam header check isn't doing
        anything
     3. Making spam header & address book checks work without a spam
        filtering plugin
     4. Making spam filtering UI disable things to show how it works

- Michael

-- 
Michael Ekstrand — http://elehack.net/

Attachment: signature.asc
Description: This is a digitally signed message part



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