Name Last Update
..
sa-report Loading commit data...
sa-report-server Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...

This directory contains code for a client/server implementation of the mis-classified messages feedback loop.

In our implementation of the loop, messages mis-classified as spam or ham are collected in a mailbox (encrypted), along with their correct classification. A batch process then reads these messages and builds a new Bayesian token map for Spamassassin.

The loop is started by the dovecot-antispam plugin, which spawns a program whenever a user moves a message to or from the Spam folder. Since this program is executed synchronously within the folder move, and considering that it is spawned by dovecot in a very resource-constrained context, it has to be quick and tiny, deferring all processing and queuing behavior to a separate component. Such component is the sa-report-server, which takes care of performing PGP encryption and forwarding the message to the collector mailbox.