From dc5b2483a6bd296d78ed8a13dca954bc3f12483e Mon Sep 17 00:00:00 2001 From: nevart Date: Wed, 25 Sep 2024 16:49:00 +0000 Subject: [PATCH 1/4] Drop Debian 11 support --- README.md | 11 -- defaults/main.yml | 12 +-- molecule/default/molecule.yml | 4 - molecule/default/prepare.yml | 16 --- tasks/main.yml | 55 ++-------- tasks/pyzor.yml | 2 +- tasks/razor.yml | 6 +- templates/cron.daily/spamassassin_v3.j2 | 131 ----------------------- templates/cron.daily/spamassassin_v4 | 50 --------- templates/logrotate.d/spamd.j2 | 2 +- templates/monit/conf.d/spamassassin.j2 | 4 +- templates/spamassassin/local.cf.j2 | 16 ++- templates/spamassassin/welcomelist.cf.j2 | 4 +- 13 files changed, 23 insertions(+), 290 deletions(-) delete mode 100644 templates/cron.daily/spamassassin_v3.j2 delete mode 100644 templates/cron.daily/spamassassin_v4 diff --git a/README.md b/README.md index 05596fd..7c84add 100644 --- a/README.md +++ b/README.md @@ -57,11 +57,6 @@ Defaults: - X-Spam-Status # manual welcomelisting - # In spamassassin 4.0.0 whitelist has been renamed to welcomelist and blacklist to blocklist, see - # https://cwiki.apache.org/confluence/display/spamassassin/WelcomelistBlocklist - # the role variable spamassassin_whitelist has been renamed to spamassassin_welcomelist accordingly. - # If spamassassin_whitelist is set in host vars and non-empty, it will be merged with spamassassin_welcomelist - ## file: /etc/spamassassin/whitelist.cf resp. /etc/spamassassin/welcomelist.cf spamassassin_welcomelist: [] # Add addtional update channels, which should be updates by the daily @@ -102,17 +97,11 @@ Defaults: # score: "0 1.5 0 0.919" spamassassin_custom_scores: [] - # On Debian 12/Bookworm, this role will per default install 'spamd' alongside spamassassin - # On Debian 11/Bullseye, 'spamd' will not be installed per default, except: - # 1. bullseye-backports are enabled in your apt sources AND spamassassin is already installed with version >=4.0.0-1 - # 2. bullseye-backports are enabled in your apt sources AND 'spamd' package is added to the 'spamassassin_packages' variable - # Note that this role does not take care of adding bullseye-backports to your apt sources! spamassassin_packages: - spamassassin - spamc - libmail-spf-perl - libmail-dkim-perl - - procps # provides /bin/kill, should actually be a dependency diff --git a/defaults/main.yml b/defaults/main.yml index 1f54e5c..fb0e8f6 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -60,11 +60,6 @@ spamassassin_bayes_ignore_header: - X-Spam-Status # manual welcomelisting -# In spamassassin 4.0.0 whitelist has been renamed to welcomelist and blacklist to blocklist, see -# https://cwiki.apache.org/confluence/display/spamassassin/WelcomelistBlocklist -# the role variable spamassassin_whitelist has been renamed to spamassassin_welcomelist accordingly. -# If spamassassin_whitelist is set in host vars and non-empty, it will be merged with spamassassin_welcomelist -## file: /etc/spamassassin/whitelist.cf resp. /etc/spamassassin/welcomelist.cf spamassassin_welcomelist: [] # Add addtional update channels, which should be updates by the daily @@ -105,17 +100,12 @@ spamassassin_spamtraining_users: [] # score: "0 1.5 0 0.919" spamassassin_custom_scores: [] -# On Debian 12/Bookworm, this role will per default install 'spamd' alongside spamassassin -# On Debian 11/Bullseye, 'spamd' will not be installed per default, except: -# 1. bullseye-backports are enabled in your apt sources AND spamassassin is already installed with version >=4.0.0-1 -# 2. bullseye-backports are enabled in your apt sources AND 'spamd' package is added to the 'spamassassin_packages' variable -# Note that this role does not take care of adding bullseye-backports to your apt sources! spamassassin_packages: - spamassassin - spamc + - spamd - libmail-spf-perl - libmail-dkim-perl - - procps # provides /bin/kill, should actually be a dependency # enable DMARC checks diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index 39237e7..a1cec37 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -4,10 +4,6 @@ driver: provider: name: virtualbox platforms: - - name: spamassassin-bullseye64 - box: debian/bullseye64 - - name: spamassassin-bullseye64-backports - box: debian/bullseye64 - name: spamassassin-bookworm64 box: debian/bookworm64 diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml index 8164331..f976139 100644 --- a/molecule/default/prepare.yml +++ b/molecule/default/prepare.yml @@ -1,20 +1,4 @@ --- -- name: Prepare backports for Bullseye - hosts: spamassassin-bullseye64-backports - become: True - tasks: - - name: Add backports repository - ansible.builtin.apt_repository: - repo: deb http://deb.debian.org/debian bullseye-backports main - state: present - - name: Pin spamassassin package - copy: - dest: /etc/apt/preferences.d/99bullseye-backports - content: | - Package: spamassassin - Pin: release a=bullseye-backports - Pin-Priority: 900 - - name: Prepare hosts: all become: True diff --git a/tasks/main.yml b/tasks/main.yml index e1f1c48..0149ac0 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -5,36 +5,6 @@ state: present cache_valid_time: 600 -- name: Gather list of installed packages - ansible.builtin.package_facts: - manager: apt - -- name: Gather if spamassassin >= 4.0.0-1 is installed - ansible.builtin.set_fact: - spamassassin_v4: "{{ True if ansible_facts.packages.spamassassin[0].version is version('4.0.0-1', '>=') else False }}" - -- name: Ensure spamd is installed - apt: - pkg: spamd - state: present - when: spamassassin_v4 - -- name: Set variables depending von spamassassin version - ansible.builtin.set_fact: - spamassassin_daemon: "{{ 'spamd' if spamassassin_v4 else 'spamassassin' }}" - welcomelist: "{{ 'welcomelist' if spamassassin_v4 else 'whitelist' }}" - blocklist: "{{ 'blocklist' if spamassassin_v4 else 'blacklist' }}" - -- name: Check if legacy var spamassassin_whitelist is set and non empty - when: (spamassassin_whitelist is defined) and (spamassassin_whitelist|length > 0) - block: - - name: Merge spamassassin_whitelist and spamassassin_welcomelist - ansible.builtin.set_fact: - spamassassin_welcomelist: "{{ spamassassin_whitelist + spamassassin_welcomelist }}" - - name: Print info - ansible.builtin.debug: - msg: "INFO: Variables 'spamassassin_whitelist' and 'spamassassin_wecomelist' are both set and 'spamassassin_whitelist' is non-empty.\nMerging variable contents.\nSee README.md for further information." - - name: Basic configuration when: spamassassin_configure block: @@ -68,7 +38,7 @@ owner: root group: root mode: 0644 - notify: Restart {{ spamassassin_daemon }} + notify: Restart spamd - name: Ensure spamassassin default rules file is latest template: @@ -77,16 +47,16 @@ owner: root group: root mode: 0644 - notify: Restart {{ spamassassin_daemon }} + notify: Restart spamd - - name: Ensure spamassassin whitelist/welcomelist is latest + - name: Ensure spamassassin welcomelist is latest template: src: spamassassin/welcomelist.cf.j2 - dest: "/etc/spamassassin/{{ welcomelist }}.cf" + dest: "/etc/spamassassin/welcomelist.cf" owner: root group: root mode: 0644 - notify: Reload {{ spamassassin_daemon }} + notify: Reload spamd - name: Ensure spamassassin logrotate is latest template: @@ -96,18 +66,7 @@ group: root mode: 0644 -- name: Ensure spamassassin ruleupdate cronjob is latest - when: not spamassassin_v4 - template: - src: cron.daily/spamassassin_v3.j2 - dest: /etc/cron.daily/spamassassin - owner: root - group: root - mode: 0755 - notify: Restart spamassassin - - name: Ensure spamassassin ruleupdate maintenance script is latest - when: spamassassin_v4 template: src: "{{ item.src }}" dest: "{{ item.dest }}" @@ -115,7 +74,6 @@ group: root mode: 0755 loop: - - { src: 'cron.daily/spamassassin_v4', dest: '/etc/cron.daily/spamassassin' } - { src: 'spamassassin/spamassassin-maint.j2', dest: '/usr/sbin/spamassassin-maint'} - name: Ensure cronjob for spamtraining is present @@ -134,7 +92,7 @@ - name: Ensure spamassassin daemon is enabled and started service: - name: "{{ spamassassin_daemon }}" + name: spamd enabled: True state: started @@ -143,7 +101,6 @@ name: spamassassin-maintenance.timer enabled: True state: started - when: spamassassin_v4 - name: Import pyzor tasks import_tasks: pyzor.yml diff --git a/tasks/pyzor.yml b/tasks/pyzor.yml index 1a59293..b0a6e75 100644 --- a/tasks/pyzor.yml +++ b/tasks/pyzor.yml @@ -14,4 +14,4 @@ args: creates: "{{ spamassassin_pyzor_config_dir }}/servers" when: not pyzor_installed.stat.exists - notify: Restart {{ spamassassin_daemon }} + notify: Restart spamd diff --git a/tasks/razor.yml b/tasks/razor.yml index 9a8ff7b..4044524 100644 --- a/tasks/razor.yml +++ b/tasks/razor.yml @@ -12,14 +12,14 @@ with_items: - "razor-admin -home={{ spamassassin_razor_config_dir }} -create" when: razor_installed.changed - notify: Restart {{ spamassassin_daemon }} + notify: Restart spamd - name: Ensure razor registers identity after install # noqa no-changed-when no-handler command: "razor-admin -home={{ spamassassin_razor_config_dir }} -register" when: razor_installed.changed - notify: Restart {{ spamassassin_daemon }} + notify: Restart spamd - name: Ensure razor discovers home after install # noqa no-changed-when no-handler command: "razor-admin -home={{ spamassassin_razor_config_dir }} -discover" when: razor_installed.changed - notify: Restart {{ spamassassin_daemon }} + notify: Restart spamd diff --git a/templates/cron.daily/spamassassin_v3.j2 b/templates/cron.daily/spamassassin_v3.j2 deleted file mode 100644 index 5afb0ee..0000000 --- a/templates/cron.daily/spamassassin_v3.j2 +++ /dev/null @@ -1,131 +0,0 @@ -#jinja2: lstrip_blocks: True -#!/bin/sh - -# Duncan Findlay -# duncf@debian.org - -# Daily cronjob for SpamAssassin updates. This isn't pretty but it -# should do the job. - -CRON=0 - -test -f /etc/default/spamassassin && . /etc/default/spamassassin - -test -x /usr/bin/sa-update || exit 0 -test -x /etc/init.d/spamassassin || exit 0 -command -v gpg > /dev/null || exit 0 - -if [ "$CRON" = "0" ] ; then - exit 0 -fi - -# If there's a problem with the ruleset or configs, print the output -# of spamassassin --lint (which will typically get emailed to root) -# and abort. -die_with_lint() { - env -i LANG="$LANG" PATH="$PATH" start-stop-daemon \ - --chuid debian-spamd:debian-spamd --start \ - --exec /usr/bin/spamassassin -- -D --lint 2>&1 - exit 1 -} - -do_compile() { - if [ -x /usr/bin/re2c -a -x /usr/bin/sa-compile ]; then - env -i LANG="$LANG" PATH="$PATH" start-stop-daemon \ - --chuid debian-spamd:debian-spamd --start \ - --exec /usr/bin/sa-compile -- --quiet - - # Fixup perms -- group and other should be able to - # read and execute, but never write. Works around - # sa-compile's failure to obey umask. - runuser -u debian-spamd -- \ - chmod -R go-w,go+rX /var/lib/spamassassin/compiled - fi -} - -# Tell a running spamd to reload its configs and rules. -reload() { - # Reload - if which invoke-rc.d >/dev/null 2>&1; then - invoke-rc.d --quiet spamassassin status > /dev/null && \ - invoke-rc.d spamassassin reload > /dev/null - else - /etc/init.d/spamassassin reload > /dev/null - fi - if [ -d /etc/spamassassin/sa-update-hooks.d ]; then - run-parts --lsbsysinit /etc/spamassassin/sa-update-hooks.d - fi -} - -# Sleep for up to 3600 seconds if not running interactively -if [ ! -t 0 ]; then - RANGE=3600 - number=`od -vAn -N2 -tu4 < /dev/urandom` - number=`expr $number "%" $RANGE` - sleep $number -fi - -# Update -umask 022 -{% if spamassassin_additional_update_channels %} -sa_lintfail=0 -sa_updates=0 - -{% endif %} -env -i LANG="$LANG" PATH="$PATH" http_proxy="$http_proxy" \ - start-stop-daemon --chuid debian-spamd:debian-spamd --start \ - --exec /usr/bin/sa-update -- \ - --gpghomedir /var/lib/spamassassin/sa-update-keys 2>&1 -{% if spamassassin_additional_update_channels %} -retcode=$? -[ $retcode -eq 2 ] && sa_lintfail=1 -[ $retcode -eq 0 ] && sa_updates=1 - -{% for channel in spamassassin_additional_update_channels %} -env -i LANG="$LANG" PATH="$PATH" http_proxy="$http_proxy" \ - start-stop-daemon --chuid debian-spamd:debian-spamd --start \ - --exec /usr/bin/sa-update -- \ -{% if channel.gpg|d() %} - --gpghomedir /var/lib/spamassassin/sa-update-keys \ -{% else %} - --nogpg \ -{% endif %} - --channel {{ channel.address }} 2>&1 -retcode_chan=$? -[ $retcode_chan -eq 2 ] && sa_lintfail=1 -[ $retcode_chan -eq 0 ] && sa_updates=1 - -{% endfor %} -[ $sa_updates -eq 1 ] && retcode=0 -[ $sa_lintfail -eq 1 ] && retcode=2 - -case $retcode in -{% else %} -case $? in -{% endif %} - 0) - # got updates! - env -i LANG="$LANG" PATH="$PATH" start-stop-daemon \ - --chuid debian-spamd:debian-spamd --start \ - --exec /usr/bin/spamassassin -- --lint 2>&1 || die_with_lint - do_compile - reload - ;; - 1) - # no updates - exit 0 - ;; - 2) - # lint failed! - die_with_lint - ;; - *) - echo "sa-update failed for unknown reasons" 1>&2 - ;; -esac - -# Local variables: -# mode: shell-script -# tab-width: 4 -# indent-tabs-mode: nil -# end: diff --git a/templates/cron.daily/spamassassin_v4 b/templates/cron.daily/spamassassin_v4 deleted file mode 100644 index 3c6ef98..0000000 --- a/templates/cron.daily/spamassassin_v4 +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh - -# Copyright 2007,2008 Duncan Findlay -# Copyright 2008-2019 Noah Meyerhans - -# This script does not do anything by default. If you are using systemd, -# invoke "systemctl enable --now spamassassin-maintenance.timer" to enable -# spamassassin's daily maintenance systemd timer. If you are not using -# systemd, or otherwise prefer to use cron for daily maintenance, set CRON=1 -# in /etc/cron.daily/spamassassin - -CRON=0 - -test -f /etc/default/spamassassin && . /etc/default/spamassassin - -test -x /usr/bin/sa-update || exit 0 -command -v gpg > /dev/null || exit 0 - -if [ "$CRON" = "0" ] ; then - exit 0 -fi - -# If the systemd timer is active, there's nothing else for us to do: -if [ -d /run/systemd/system ] && \ - systemctl is-enabled --quiet spamassassin-maintenance.timer; then - exit 0 -fi - -# If we're running under systemd, and we reach this point, then we can -# safely convert to the timer. If you'd rather run the daily -# maintenance task from cron, even if systemd is present, then create -# a file named /etc/spamassassin/skip-timer-conversion to avoid -# running this conversion. -if [ -d /run/systemd ] && [ ! -e /etc/spamassassin/skip-timer-conversion ]; then - echo "Converting /etc/cron.daily/spamassassin to systemd timer" | - logger -p mail.notice - systemctl enable spamassassin-maintenance.timer - systemctl start spamassassin-maintenance.service - exit 0 -fi - -# Sleep for up to 3600 seconds if not running interactively -if [ ! -t 0 ]; then - RANGE=3600 - number=`od -vAn -N2 -tu4 < /dev/urandom` - number=`expr $number "%" $RANGE` - sleep $number -fi - -exec /usr/sbin/spamassassin-maint diff --git a/templates/logrotate.d/spamd.j2 b/templates/logrotate.d/spamd.j2 index 8497e19..557070e 100644 --- a/templates/logrotate.d/spamd.j2 +++ b/templates/logrotate.d/spamd.j2 @@ -5,6 +5,6 @@ missingok notifempty delaycompress postrotate - /usr/sbin/service {{ spamassassin_daemon }} restart + /usr/sbin/service spamd restart endscript } diff --git a/templates/monit/conf.d/spamassassin.j2 b/templates/monit/conf.d/spamassassin.j2 index 56465ca..d998ed3 100644 --- a/templates/monit/conf.d/spamassassin.j2 +++ b/templates/monit/conf.d/spamassassin.j2 @@ -1,4 +1,4 @@ check process spamassassin with pidfile {{ spamassassin_pidfile }} - start program = "/usr/sbin/service {{ spamassassin_daemon }} start" with timeout 60 seconds - stop program = "/usr/sbin/service {{ spamassassin_daemon }} stop" + start program = "/usr/sbin/service spamd start" with timeout 60 seconds + stop program = "/usr/sbin/service spamd stop" group server diff --git a/templates/spamassassin/local.cf.j2 b/templates/spamassassin/local.cf.j2 index a567845..1ca1dfa 100644 --- a/templates/spamassassin/local.cf.j2 +++ b/templates/spamassassin/local.cf.j2 @@ -119,7 +119,7 @@ bayes_ignore_header {{ header }} # ifplugin Mail::SpamAssassin::Plugin::Shortcircuit # -# default: strongly-{{ welcomelist }}ed mails are *really* {{ welcomelist }}ed now, if the +# default: strongly-welcomelisted mails are *really* welcomelisted now, if the # shortcircuiting plugin is active, causing early exit to save CPU load. # Uncomment to turn this on # @@ -127,16 +127,14 @@ ifplugin Mail::SpamAssassin::Plugin::Shortcircuit # If you want to shortcircuit without launching unneeded queries, make # sure such rule priority is below -100. These examples are already: # -# shortcircuit USER_IN_{{ welcomelist|upper }} on -# shortcircuit USER_IN_DEF_{{ welcomelist|upper }} on +# shortcircuit USER_IN_WELCOMELIST on +# shortcircuit USER_IN_DEF_WELCOMELIST on # shortcircuit USER_IN_ALL_SPAM_TO on -{% if not spamassassin_v4 %}# shortcircuit SUBJECT_IN_{{ welcomelist|upper }} on{% endif %} -# the opposite; {{ blocklist }}ed mails can also save CPU +# the opposite; blocklisted mails can also save CPU # -# shortcircuit USER_IN_{{ blocklist|upper }} on -# shortcircuit USER_IN_{{ blocklist|upper }}_TO on -{% if not spamassassin_v4 %}# shortcircuit SUBJECT_IN_{{ blocklist|upper }} on{% endif %} +# shortcircuit USER_IN_BLOCKLIST on +# shortcircuit USER_IN_BLOCKLIST_TO on # if you have taken the time to correctly specify your "trusted_networks", # this is another good way to save CPU @@ -174,4 +172,4 @@ score {{ score.name }} {{ score.score }} {% endif %} # additional config files -include {{ welcomelist }}.cf +include welcomelist.cf diff --git a/templates/spamassassin/welcomelist.cf.j2 b/templates/spamassassin/welcomelist.cf.j2 index a34a8f0..c809b81 100644 --- a/templates/spamassassin/welcomelist.cf.j2 +++ b/templates/spamassassin/welcomelist.cf.j2 @@ -1,6 +1,6 @@ -# manual {{ welcomelist }}ing +# manual welcomelisting # {{ ansible_managed }} {% for pattern in spamassassin_welcomelist %} -{{ welcomelist }}_from {{ pattern }} +welcomelist_from {{ pattern }} {% endfor %} From 8a33a20abe2e02d7222bb490506d4ea3e267be9a Mon Sep 17 00:00:00 2001 From: nevart Date: Wed, 25 Sep 2024 16:50:19 +0000 Subject: [PATCH 2/4] Drop obsolete DMARC implementation --- defaults/main.yml | 28 ----------------------- handlers/main.yml | 5 ----- tasks/dmarc.yml | 57 ----------------------------------------------- tasks/main.yml | 3 --- 4 files changed, 93 deletions(-) delete mode 100644 tasks/dmarc.yml diff --git a/defaults/main.yml b/defaults/main.yml index fb0e8f6..ea6cd75 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -106,31 +106,3 @@ spamassassin_packages: - spamd - libmail-spf-perl - libmail-dkim-perl - - -# enable DMARC checks -# requires SPF and DKIM checks, which are enabled by default -spamassassin_dmarc_enabled: true -spamassassin_dmarc_dependencies: - - libconfig-tiny-perl - - libdbd-sqlite3-perl - - libdbix-simple-perl - - libemail-address-perl - - libemail-mime-perl - - libemail-sender-perl - - libemail-simple-perl - - libfile-sharedir-install-perl - - libfile-sharedir-perl - - libio-compress-lzma-perl - - libnet-dns-perl - - libnet-idn-encode-perl - - libregexp-common-perl - - libtest-file-sharedir-perl - - libxml-libxml-perl - -spamassassin_dmarc_dependencies_build: - - cpanminus - - gcc - - libc6-dev - - libextutils-cbuilder-perl - - make diff --git a/handlers/main.yml b/handlers/main.yml index 4c08c54..ceed2d7 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -23,8 +23,3 @@ service: name: monit state: restarted - -- name: Remove build dependencies - apt: - name: "{{ spamassassin_dmarc_dependencies_build }}" - state: absent diff --git a/tasks/dmarc.yml b/tasks/dmarc.yml deleted file mode 100644 index b510f49..0000000 --- a/tasks/dmarc.yml +++ /dev/null @@ -1,57 +0,0 @@ ---- -# There was an upstream change to upper case file names -- name: Delete former DMARC plugin files - file: - path: "/etc/spamassassin/{{ item }}" - state: absent - with_items: - - Dmarc.pm - - Dmarc.cf - - Dmarc.pre - -- name: Enable DMARC plugin - when: spamassassin_dmarc_enabled - block: - - name: Install DMARC dependencies - apt: - name: "{{ spamassassin_dmarc_dependencies }}" - state: present - register: dmarc_install - - - name: Install DMARC build dependencies # noqa no-handler - apt: - name: "{{ spamassassin_dmarc_dependencies_build }}" - notify: Remove build dependencies - when: dmarc_install.changed - - - name: Install perl modules # noqa no-handler - community.general.cpanm: - name: "{{ item }}" - notest: true - with_items: - - "IO::Compress::Zstd" - - "Mail::DMARC::PurePerl" - when: dmarc_install.changed - notify: Restart {{ spamassassin_daemon }} - - - name: Get DMARC plugin files - get_url: - url: "https://github.com/bigio/spamassassin-dmarc/raw/master/{{ item }}" - dest: /etc/spamassassin/ - mode: '0644' - with_items: - - DMARC.pm - - DMARC.cf - - DMARC.pre - notify: Restart {{ spamassassin_daemon }} - -- name: Delete DMARC plugin - file: - path: "/etc/spamassassin/{{ item }}" - state: absent - with_items: - - DMARC.pm - - DMARC.cf - - DMARC.pre - when: not spamassassin_dmarc_enabled - notify: Restart {{ spamassassin_daemon }} diff --git a/tasks/main.yml b/tasks/main.yml index 0149ac0..2801501 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -87,9 +87,6 @@ - "{{ spamassassin_spamtraining_users }}" - users -- name: Import DMARC tasks - import_tasks: dmarc.yml - - name: Ensure spamassassin daemon is enabled and started service: name: spamd From 6255a51278e333f980a6735710881b4db3d7bb7a Mon Sep 17 00:00:00 2001 From: nevart Date: Wed, 25 Sep 2024 16:50:47 +0000 Subject: [PATCH 3/4] Rely on modern DMARC implementation --- defaults/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/defaults/main.yml b/defaults/main.yml index ea6cd75..18d0208 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -104,5 +104,6 @@ spamassassin_packages: - spamassassin - spamc - spamd + - libmail-dmarc-perl - libmail-spf-perl - libmail-dkim-perl From dfae0ffddd258c51794b1896308ae1ed28151d5b Mon Sep 17 00:00:00 2001 From: nevart Date: Wed, 25 Sep 2024 16:16:42 +0000 Subject: [PATCH 4/4] CI: test debian12, drop debian11 and debian10 --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7d5cf08..b97c8b3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,3 +14,5 @@ jobs: integration: name: Integration uses: systemli/github-ansible-workflow/.github/workflows/ansible-integration-workflow.yaml@v1.2.0 + with: + distros: '[ "debian12" ]'