Package: mailman Version: 1:2.1.23-1 Severity: normal Tags: patch Dear Maintainer,
* What led up to the situation? Upgraded mailman to the version in testing. We have the SpamAssassin module in use as per instructions: in mm_cfg.py we uncommented the line: GLOBAL_PIPELINE.insert(1, 'SpamAssassin') Mailman produced errors like these in ite error log: Sep 16 19:06:29 2016 (3736) Uncaught runner exception: cannot import name matche s_p Sep 16 19:06:29 2016 (3736) Traceback (most recent call last): File "/var/lib/mailman/Mailman/Queue/Runner.py", line 119, in _oneloop self._onefile(msg, msgdata) File "/var/lib/mailman/Mailman/Queue/Runner.py", line 190, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/var/lib/mailman/Mailman/Queue/IncomingRunner.py", line 130, in _dispose more = self._dopipeline(mlist, msg, msgdata, pipeline) File "/var/lib/mailman/Mailman/Queue/IncomingRunner.py", line 150, in _dopipel ine __import__(modname) File "/var/lib/mailman/Mailman/Handlers/SpamAssassin.py", line 31, in <module> from Mailman.Handlers.Moderate import matches_p ImportError: cannot import name matches_p and all messages were shunted. * What exactly did you do (or not do) that was effective (or ineffective)? Applying the following patch fixes the probelm for us: --- /usr/lib/mailman/Mailman/Handlers/SpamAssassin.py 2016-04-26 03:06:54.000000000 +1000 +++ /backup/usr/lib/mailman/Mailman/Handlers/SpamAssassin.py 2016-05-02 15:21:29.833067102 +1000 @@ -28,7 +28,6 @@ from Mailman import Errors from Mailman.Logging.Syslog import syslog from Mailman.Handlers import Hold -from Mailman.Handlers.Moderate import matches_p SPAMD_HOST = getattr(mm_cfg, 'SPAMASSASSIN_HOST', '') DISCARD_SCORE = getattr(mm_cfg, 'SPAMASSASSIN_DISCARD_SCORE', 10) @@ -78,7 +77,7 @@ if MEMBER_BONUS != 0: for sender in msg.get_senders(): if mlist.isMember(sender) or \ - matches_p(sender, mlist.accept_these_nonmembers, mlist.internal_name()): + mlist.GetPattern(sender, mlist.accept_these_nonmembers, at_list='accept_these_nonmembers'): score -= MEMBER_BONUS break * What was the outcome of this action? mailman works again * What outcome did you expect instead? -------- It appears that the SpamAssasin module is added by the Debian packaging and it used an interface from the main mailman package that was removed. The version of mailman in Stable is fine (1:2.1.18-2+deb8u1) but that in Testing ans Unstable are broken (1:2.1.22-1 and 1:2.1.23-1). -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (990, 'testing'), (500, 'stable-updates'), (500, 'stable'), (1, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 4.4.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: sysvinit (via /sbin/init) Versions of packages mailman depends on: ii apache2 [httpd] 2.4.23-4 ii cron [cron-daemon] 3.0pl1-128 ii debconf [debconf-2.0] 1.5.59 ii libc6 2.23-5 ii logrotate 3.8.7-2 ii lsb-base 9.20160629 ii python-dnspython 1.14.0-3 pn python:any <none> ii ucf 3.0036 Versions of packages mailman recommends: ii postfix [mail-transport-agent] 3.1.0-5+b1 Versions of packages mailman suggests: ii listadmin 2.40-5 ii lynx 2.8.9dev9-1 ii spamassassin 3.4.1-5 -- debconf information: * mailman/create_site_list: * mailman/used_languages: en * mailman/default_server_language: en mailman/gate_news: false * mailman/site_languages: en * mailman/queue_files_present: abort installation -- debsums errors found: debsums: changed file /usr/lib/mailman/Mailman/Handlers/SpamAssassin.py (from mailman package)