I have looked into this bug, and I have found the following problem:

plugins/sa-junk-plugin/em-junk-filter.c starts spamc through
pipe_to_sa_full(). This function starts the various client programs and
checks the exit status of the command that was run.

This last part is the problem : on line 253 a check for the exit code of
either spamc or spamassassin is done and an error is returned to
evolution (which results in the popup).

The interesting thing about this is that the rest of the plugin uses a
non-zero exit status to denote spam, but the pipe_to_sa_full() funtion
returns an error when the exit status is non-zero. So, every spam
message gets processed as it should be, but pipe_to_sa_full() considers
it an error.

Spamassassin and spamc use error code '64' to denote abnormal program
termination. pipe_to_sa_full() should thus check for '64' or '70' in the
case of spamassassin, and check for >1 in the case of spamc before
throwing an error.

Attached you will find a patch that changes the error to only appear if
the errorcode is >64.


** Attachment added: "spamc and spamassassin use error codes of 64 and above to 
denote execution errors, not non-null"
   http://launchpadlibrarian.net/19512159/fix-evolution-spamc-error.diff

-- 
Failed spamassassin pipe on Evolution (Intrepid)
https://bugs.launchpad.net/bugs/275746
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to