[Pkg-mailman-hackers] Bug#968371: mailman3: NNTP Gateway'ing fails and causes message to not go out via email either

Athanasius debian at miggy.org
Thu Aug 13 18:26:51 BST 2020


Package: mailman3
Version: 3.2.1-1
Severity: important

Dear Maintainer,

After importing lists from Mailman2.1 using the 'import21' module I
automatically had one list with settings to gateway to NNTP as expected.

Any email to that list with that configuration fails:

---------------------------------------------------------------------------
Aug 12 17:00:38 2020 (5717) ACCEPT: <E1k5tB7-0005Bi-O1 at river.fysh.org>
Aug 12 17:06:17 2020 (5717) ACCEPT: <20200812160616.e3aaorp5zhtjbrok at fysh.org>
Aug 12 17:06:18 2020 (5721) fysh-announce at fysh.org invalid FilterAction: discard
.  Treating as discard
Aug 12 17:06:18 2020 (5721) <20200812160616.e3aaorp5zhtjbrok at fysh.org> discarded
 by "default-posting-pipeline" pipeline handler "mime-delete": The message's con
tent type was not explicitly allowed
Aug 12 17:06:18 2020 (5721) Uncaught runner exception: 'MailingList' object has no attribute 'nntp_host'
Aug 12 17:06:18 2020 (5721) Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/mailman/core/runner.py", line 173, in _one_iteration
    self._process_one_file(msg, msgdata)
  File "/usr/lib/python3/dist-packages/mailman/core/runner.py", line 266, in _process_one_file
    keepqueued = self._dispose(mlist, msg, msgdata)
  File "/usr/lib/python3/dist-packages/mailman/runners/pipeline.py", line 37, in _dispose
    process(mlist, msg, msgdata, pipeline)
  File "/usr/lib/python3/dist-packages/mailman/core/pipelines.py", line 50, in process
    handler.process(mlist, msg, msgdata)
  File "/usr/lib/python3/dist-packages/mailman/handlers/to_usenet.py", line 53, in process
    if not mlist.nntp_host:
AttributeError: 'MailingList' object has no attribute 'nntp_host'
---------------------------------------------------------------------------

This immediate problem is addressed upstream by:

	59d8b47c432e43ce463cbb4a7aec649415d08702

Applying just the change to remove that conditional in to_usenet.py gets
past that point (and messages now make it out in email), but then the
code runs into another problem:

---------------------------------------------------------------------------
Aug 13 17:44:26 2020 (15817) ACCEPT: <20200813164426.GA15940 at fysh.org>
Aug 13 17:44:27 2020 (15814) HyperKitty archived message <20200813164426.GA15940
@fysh.org> to https://www.fysh.org/mailman3/hyperkitty/list/testlist@fysh.org/me
ssage/OMXF2QRUZLZPO3WFZMXDBSW4QZTWO5HJ/
Aug 13 17:44:28 2020 (15819) <159733706828.15819.11534859148741658229 at river.fysh
.org> NNTP unexpected exception for testlist at fysh.org
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/mailman/runners/nntp.py", line 77, in _di
spose
    conn.post(fp)
  File "/usr/lib/python3.7/nntplib.py", line 916, in post
    return self._post('POST', data)
  File "/usr/lib/python3.7/nntplib.py", line 902, in _post
    if not line.endswith(_CRLF):
TypeError: endswith first arg must be str or a tuple of str, not bytes
---------------------------------------------------------------------------

Which appears to either be an error in nntplib, or a mis-use of it.

I'm running this on a production machine so can't easily play with
running mailman3 from source to see if they've fixed this upstream.  I
might find time to try it out on another machine.

-- System Information:
Debian Release: 10.5
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.138-fysh-kvmguest (SMP w/8 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages mailman3 depends on:
ii  dbconfig-sqlite3            2.0.11+deb10u1
ii  debconf [debconf-2.0]       1.5.71
ii  logrotate                   3.14.0-4
ii  lsb-base                    10.2019051400
ii  python3                     3.7.3-1
ii  python3-aiosmtpd            1.2-3
ii  python3-alembic             1.0.0-3
ii  python3-click               7.0-1
ii  python3-dnspython           1.16.0-1
ii  python3-falcon              1.0.0-2+b3
ii  python3-flufl.bounce        3.0-1
ii  python3-flufl.i18n          2.0.1-1
ii  python3-flufl.lock          3.2-1
ii  python3-lazr.config         2.2-1
ii  python3-passlib             1.7.1-1
ii  python3-psycopg2            2.7.7-1
ii  python3-public              0.5-1
ii  python3-requests            2.21.0-1
ii  python3-sqlalchemy          1.2.18+ds1-2
ii  python3-zope.component      4.3.0-1
ii  python3-zope.configuration  4.0.3-3
ii  python3-zope.event          4.2.0-1
ii  python3-zope.interface      4.3.2-1+b2
ii  ucf                         3.0038+nmu1

Versions of packages mailman3 recommends:
ii  exim4-daemon-heavy [mail-transport-agent]  4.92-8+deb10u4

Versions of packages mailman3 suggests:
ii  chromium [www-browser]                      83.0.4103.116-1~deb10u3
ii  elinks [www-browser]                        0.13~20190125-3
ii  links [www-browser]                         2.18-2
ii  links2 [www-browser]                        2.18-2
ii  lynx [www-browser]                          2.8.9rel.1-3
ii  mailman3-doc                                3.2.1-1
ii  mariadb-server-10.3 [virtual-mysql-server]  1:10.3.23-0+deb10u1
ii  w3m [www-browser]                           0.5.3-37

-- debconf information:
  mailman3/upgrade-backup: true
  mailman3/pgsql/authmethod-user: ident
  mailman3/pgsql/manualconf:
  mailman3/internal/reconfiguring: false
* mailman3/dbconfig-install: false
  mailman3/install-error: abort
  mailman3/init_service_failed:
  mailman3/pgsql/changeconf: false
  mailman3/db/dbname: mailman3
  mailman3/remote/host: localhost
  mailman3/remove-error: abort
  mailman3/mysql/admin-user:
  mailman3/upgrade-error: abort
  mailman3/remote/port:
  mailman3/pgsql/admin-user: postgres
  mailman3/missing-db-package-error: abort
  mailman3/dbconfig-upgrade: true
  mailman3/remote/newhost:
  mailman3/internal/skip-preseed: false
  mailman3/db/app-user: mailman3 at localhost
  mailman3/purge: false
  mailman3/database-type: pgsql
  mailman3/pgsql/authmethod-admin: ident
  mailman3/pgsql/no-empty-passwords:
  mailman3/db/basepath:
  mailman3/pgsql/method: TCP/IP
  mailman3/mysql/method: Unix socket
  mailman3/dbconfig-remove: true
  mailman3/dbconfig-reinstall: false
  mailman3/passwords-do-not-match:
  mailman3/config_hyperkitty:

-- debsums errors found:
debsums: changed file /usr/lib/python3/dist-packages/mailman/handlers/to_usenet.py (from mailman3 package)



More information about the Pkg-mailman-hackers mailing list