Project

General

Profile

Actions

Enhancement #226

closed

Alternative antispam learning method

Added by Marc Dequènes over 13 years ago. Updated almost 13 years ago.

Status:
Resolved
Priority:
High
Start date:
2011-06-21
Due date:
% Done:

100%

Estimated time:
Patch Available:
No
Confirmed:
No
Security:
No
Help Needed:
No

Description

Currently, users can resend SPAM or HAM to special addresses, or use the web interface, but it is not always convenient, mostly for web-phones users.

The project is to use the dovecot-antispam plugin, in order to just have to move mails in or out a special folder in order to retrain. This folder could be automatically created and subscribed, and once SPAM is marked in the headers, it could be redirected into it automatically using SIEVE. This should not be a big deal but a few hours of work. The problem lies in dovecot-antispam behavior, which is redirecting mails to retraining at once. So if many mails are retrained around the same time, the server would be flooded with plenty of ressource-intensive DSPAM processes. Fortunately, the plugin is able to create a spool, leaving to another daemon the task to retrain them.

The goal of this project is to create this daemon, which should be able to :
- monitor the dovecot-antispam spool and manage a limited pool of DSPAM invocations (max number of process in the configuration)
- handle each mail of the queue with a certain delay (seconds in configuration)
- handle cancellation of requests when the user makes a mistake, double-retrain, and the first retrain is still in the queue
- call an antispam retraining script (script name and parameters in the configuration)

High level language required: Ruby (prefered), Python, Modern Perl OO.


Related issues 1 (0 open1 closed)

Related to DuckCorp Infrastructure - Enhancement #224: Experiment the antispam dovecot pluginResolvedMarc Dequènes2011-05-17

Actions
Actions #1

Updated by Marc Dequènes over 13 years ago

  • Description updated (diff)
Actions #2

Updated by Marc Dequènes over 13 years ago

  • Priority changed from Normal to High
Actions #3

Updated by Marc Dequènes almost 13 years ago

  • Status changed from New to In Progress
  • Assignee set to Marc Dequènes
Actions #4

Updated by Marc Dequènes almost 13 years ago

  • % Done changed from 0 to 80
Script done, tested a bit. Activated for Z-Spam folders, and being tested by the following users:
  • arnau
  • happypeng
  • duck
Actions #5

Updated by Marc Dequènes almost 13 years ago

  • % Done changed from 80 to 90
  • Help Needed set to No

The program worked without problem during several days. Retraining SPAM worked but HAM was not properly processed: srv_dspam_retrain did not understand ham as class name so i made an alias to innocent.

I just added host load check via an external script or Ruby coded loaded like a plugin, and preliminary checks worked well.

Actions #6

Updated by Marc Dequènes almost 13 years ago

Everything's fine since latest changes, so i made a new bunch of updates to improve a few things and make the software generic. Preliminary tests are ok.

I now need to find a real proper name for the project and add some documentation.

Actions #7

Updated by Marc Dequènes almost 13 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 90 to 100

The Spoolinger has been created linked with the git repository.

A few improvements have been made, and it is now really generic. The 0.2 release is used in production and seems stable.

This issue is now over. It is now a matter of project maintenance and DC administration.

Actions

Also available in: Atom PDF