diff options
author | Guilhem Moulin <guilhem@fripost.org> | 2013-12-14 22:23:09 +0100 |
---|---|---|
committer | Guilhem Moulin <guilhem@fripost.org> | 2015-06-07 02:51:22 +0200 |
commit | 827332364b00d3b47367fa97901dab8f4bfe4e91 (patch) | |
tree | 960fbfb219aee0563718358c1d9721bbdaa9ad4e /roles/IMAP | |
parent | 3ba746801d48d0c8375a88097ccd566c007eb8b2 (diff) |
Compile Spamassassin rules.
See /usr/share/doc/spamassassin/README.Debian.gz
Diffstat (limited to 'roles/IMAP')
-rw-r--r-- | roles/IMAP/files/etc/spamassassin/v320.pre | 64 | ||||
-rw-r--r-- | roles/IMAP/handlers/main.yml | 6 | ||||
-rw-r--r-- | roles/IMAP/tasks/spam.yml | 6 |
3 files changed, 76 insertions, 0 deletions
diff --git a/roles/IMAP/files/etc/spamassassin/v320.pre b/roles/IMAP/files/etc/spamassassin/v320.pre new file mode 100644 index 0000000..a5c1b3e --- /dev/null +++ b/roles/IMAP/files/etc/spamassassin/v320.pre @@ -0,0 +1,64 @@ +# This is the right place to customize your installation of SpamAssassin. +# +# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be +# tweaked. +# +# This file was installed during the installation of SpamAssassin 3.2.0, +# and contains plugin loading commands for the new plugins added in that +# release. It will not be overwritten during future SpamAssassin installs, +# so you can modify it to enable some disabled-by-default plugins below, +# if you so wish. +# +# There are now multiple files read to enable plugins in the +# /etc/mail/spamassassin directory; previously only one, "init.pre" was +# read. Now both "init.pre", "v310.pre", and any other files ending in +# ".pre" will be read. As future releases are made, new plugins will be +# added to new files, named according to the release they're added in. +########################################################################### + +# Check - Provides main check functionality +# +loadplugin Mail::SpamAssassin::Plugin::Check + +# HTTPSMismatch - find URI mismatches between href and anchor text +# +loadplugin Mail::SpamAssassin::Plugin::HTTPSMismatch + +# URIDetail - test URIs using detailed URI information +# +loadplugin Mail::SpamAssassin::Plugin::URIDetail + +# Shortcircuit - stop evaluation early if high-accuracy rules fire +# +# loadplugin Mail::SpamAssassin::Plugin::Shortcircuit + +# Plugins which used to be EvalTests.pm +# broken out into separate plugins +loadplugin Mail::SpamAssassin::Plugin::Bayes +loadplugin Mail::SpamAssassin::Plugin::BodyEval +loadplugin Mail::SpamAssassin::Plugin::DNSEval +loadplugin Mail::SpamAssassin::Plugin::HTMLEval +loadplugin Mail::SpamAssassin::Plugin::HeaderEval +loadplugin Mail::SpamAssassin::Plugin::MIMEEval +loadplugin Mail::SpamAssassin::Plugin::RelayEval +loadplugin Mail::SpamAssassin::Plugin::URIEval +loadplugin Mail::SpamAssassin::Plugin::WLBLEval + +# VBounce - anti-bounce-message rules, see rules/20_vbounce.cf +# +loadplugin Mail::SpamAssassin::Plugin::VBounce + +# Rule2XSBody - speedup by compilation of ruleset to native code +# +loadplugin Mail::SpamAssassin::Plugin::Rule2XSBody + +# ASN - Look up the Autonomous System Number of the connecting IP +# and create a header containing ASN data for bayes tokenization. +# See plugin's POD docs for usage info. +# +# loadplugin Mail::SpamAssassin::Plugin::ASN + +# ImageInfo - rules to match metadata of image attachments +# +loadplugin Mail::SpamAssassin::Plugin::ImageInfo + diff --git a/roles/IMAP/handlers/main.yml b/roles/IMAP/handlers/main.yml index 9bd7dab..bda2ab9 100644 --- a/roles/IMAP/handlers/main.yml +++ b/roles/IMAP/handlers/main.yml @@ -1,28 +1,34 @@ --- - name: Restart Dovecot service: name=dovecot state=restarted - name: Restart Postfix service: name=postfix state=restarted - name: Reload Postfix service: name=postfix state=reloaded - name: Restart ClamAV service: name=clamav-daemon state=restarted +- name: Compile Spamassassin rules + sudo_user: debian-spamd + # it might take a while... + command: /usr/bin/sa-compile --quiet + chdir=/var/lib/spamassassin/ + - name: Restart Amavis service: name=amavis state=restarted - name: Copy SQL tables for spamassassin copy: src=tmp/spamassassin.sql dest=/tmp/spamassassin.sql owner=root group=root mode=0600 - name: Create SQL tables for spamassassin # see https://svn.apache.org/repos/asf/spamassassin/trunk/sql/ # for the original mysql_db: name=spamassassin state=import target=/tmp/spamassassin.sql encoding=latin1 collation=latin1_unicode_ci diff --git a/roles/IMAP/tasks/spam.yml b/roles/IMAP/tasks/spam.yml index e3baca0..51fde4b 100644 --- a/roles/IMAP/tasks/spam.yml +++ b/roles/IMAP/tasks/spam.yml @@ -1,47 +1,53 @@ - name: Install spamassassin apt: pkg={{ item }} with_items: - razor - spamassassin - spamc - libdbi-perl + - re2c + - libc6-dev + - gcc + - make notify: + - Compile Spamassassin rules - Restart Amavis - name: Create a 'spamassassin' database mysql_db: name=spamassassin state=present encoding=latin1 collation=latin1_general_ci notify: - Copy SQL tables for spamassassin - Create SQL tables for spamassassin - meta: flush_handlers - name: Copy SpamAssassin's configuration copy: src=etc/{{ item }} dest=/etc/{{ item }} owner=root group=root mode=0644 with_items: - spamassassin/local.cf - spamassassin/v310.pre + - spamassassin/v320.pre notify: - Restart Amavis - name: Provision /etc/default/spamassassin lineinfile: dest=/etc/default/spamassassin regexp='^(\s*#)?\s*{{ item.var }}=' "line={{ item.var }}={{ item.value }}" owner=root group=root mode=0644 with_items: - { var: ENABLED, value: 0 } - { var: CRON, value: 1 } - name: Create a 'amavis' SQL user # This *must* be the user we run spamd as # See https://svn.apache.org/repos/asf/spamassassin/trunk/sql/README.bayes mysql_user: > name=amavis auth_plugin=auth_socket priv="spamassassin.awl: SELECT,INSERT,UPDATE,DELETE /spamassassin.bayes_seen: SELECT,INSERT, DELETE |