- name: install mailman apt: name=mailman state=latest - name: configure mailman template: dest: /etc/mailman/mm_cfg.py src: templates/mm_cfg.py notify: mailman - name: install mailman-check cronjob copy: dest: /etc/cron.daily/mailman-check src: files/mailman-check mode: u=rwx,g=rx,o=rx # the CAPTCHA patch (and some template modifications) - name: check if the files are already patched shell: 'fgrep MAILMAN_CAPTCHA_PATCHED Cgi/listinfo.py && fgrep MAILMAN_CAPTCHA_PATCHED Cgi/subscribe.py' args: chdir: /usr/lib/mailman/Mailman changed_when: False failed_when: mailman_patched.rc == 2 register: mailman_patched - name: check if all the files have the right checksums to be patched shell: 'echo "{{item}}" | sha256sum -c' loop: - "621368ef38d991be46e4537b1d5444276579cd60cc721a749d500dd0b98efe27 /usr/lib/mailman/Mailman/Cgi/listinfo.py" - "c6e46afe1c016d6853c8397916a6f6fd88c6cea71ae890ef3680617f1f8f7c9a /usr/lib/mailman/Mailman/Cgi/subscribe.py" changed_when: False when: mailman_patched.rc != 0 - name: install patched python files copy: dest: /usr/lib/mailman/Mailman/{{item}} src: files/mailman-patched/{{item}} loop: - Cgi/listinfo.py - Cgi/subscribe.py - Captcha.py when: mailman_patched.rc != 0 - name: install patched templates copy: dest: /etc/mailman/{{item}} src: files/mailman-patched/{{item}} loop: - de/listinfo.html - de/subscribeack.txt - en/listinfo.html - en/subscribeack.txt