gating mailman <-> inn2, message duplication
Laurens Kils-Hütten <[email protected]> Thu, 26 Feb 2026 22:35:18 +0100
| Newsgroups | gmane.network.inn |
|---|---|
| Message-ID | <[email protected]> |
Hi all, I'd like to ask for help with this problem I'm having with setting up gating between a mailing list and a local newsgroup. The symptom is this: when I send messages from a subscribed email account to the list, I get a duplicate back to the list with a notable lag of about 1 to 3 seconds. From what I can grasp from logs and message headers, this is what appears to be happening: The mta sends the message to mailman, mailman distributes the message to any subscribers *and* to inn2 via nnrp. inn2 posts the message to the respective group *and* - apparently - hands it back to mailman. mailman in turn sends it out to subscribers again and also back to inn2. Now however nnrp fails, since this duplicate message already has an Injection-Info header which cannot be changed. This is where the loop ends. All mail recepients got the duplicate, but not the newsgroup. When messages originate from netnews I don't get duplicates. I'm suspecting that maybe on initial arrival from the mailman side, there isn't any Path header set yet, so the exclusion pattern doesn't match anything? # this is in /etc/news/newsfeeds: news2mail!:!*:Ac,Tc,Wn*:/usr/lib/news/bin/news2mail test-grenzland-club/grenzland.club:!*,grenzland.test:Ap,Tm:news2mail! # the exclusion pattern "grenzland.club" should prevent messages # from being send back via news2mail, but apparently this doesn't # work as it should. # this is from /etc/news/news2mail.cf: test-grenzland-club [email protected] # this basically works, news articles arrive at the proper # list address. # Path: headers look like this, no matter whether messages originated # from email or news: Path: grenzland.club!.POSTED.localhost!not-for-mail Any ideas what might be the problem or what to look into? Thanks a lot, more details follow. This is from the logs: # This is from /var/log/mailman3/mailman3.log # note that it begins with two ACCEPT messages two seconds apart. The # message IDs are identical. These are the duplicates. The problem must # occur between the first and the second ACCEPT. # After the second ACCEPT mailman's NNTP client throws an error as it # fails to hand the duplictate over to inn2, thus preventing an endless # loop. Feb 23 20:39:08 2026 (2776528) ACCEPT: <[email protected]> Feb 23 20:39:10 2026 (2776528) ACCEPT: <[email protected]> Feb 23 20:39:12 2026 (2776530) <[email protected]> NNTP error for [email protected] Traceback (most recent call last): File "/usr/lib/python3/dist-packages/mailman/runners/nntp.py", line 94, in _dispose conn.post(fp) ~~~~~~~~~^^^^ File "/usr/lib/python3/dist-packages/nntplib/__init__.py", line 916, in post return self._post('POST', data) ~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/nntplib/__init__.py", line 909, in _post return self._getresp() ~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/nntplib/__init__.py", line 492, in _getresp raise NNTPTemporaryError(resp) nntplib.NNTPTemporaryError: 441 Can't set system Injection-Info header field # /var/log/news/news.notice: # (different time stamp, but it always looks the same) # you can see how the first post is accepted, but the second post of the # duplicate fails. Same story ... 2026-02-25T22:49:31.966611+01:00 grenzland innd: localhost connected 21 streaming allowed 2026-02-25T22:49:32.006079+01:00 grenzland innd: localhost:21 NCmode "MODE READER" received 2026-02-25T22:49:32.006427+01:00 grenzland innd: localhost:21 checkpoint seconds 1 accepted 0 refused 0 rejected 0 duplicate 0 accepted size 0 duplicate size 0 rejected size 0 2026-02-25T22:49:32.006490+01:00 grenzland innd: localhost:21 closed seconds 1 accepted 0 refused 0 rejected 0 duplicate 0 accepted size 0 duplicate size 0 rejected size 0 2026-02-25T22:49:32.015322+01:00 grenzland nnrpd[2990705]: localhost (127.0.0.1) connect - port 119 2026-02-25T22:49:32.059569+01:00 grenzland nnrpd[2990705]: SERVER perl filtering enabled 2026-02-25T22:49:32.059711+01:00 grenzland innd: localhost connected 21 2026-02-25T22:49:32.061392+01:00 grenzland innd: localhost:21 checkpoint seconds 0 accepted 1 refused 0 rejected 0 duplicate 0 accepted size 1338 duplicate size 0 rejected size 0 2026-02-25T22:49:32.061463+01:00 grenzland innd: localhost:21 closed seconds 0 accepted 1 refused 0 rejected 0 duplicate 0 accepted size 1338 duplicate size 0 rejected size 0 2026-02-25T22:49:32.061498+01:00 grenzland nnrpd[2990705]: localhost post ok <[email protected]> 2026-02-25T22:49:32.062568+01:00 grenzland nnrpd[2990705]: localhost posts received 1 rejected 0 2026-02-25T22:49:32.062771+01:00 grenzland nnrpd[2990705]: localhost times user 0.006 system 0.004 idle 0.000 elapsed 0.048 2026-02-25T22:49:32.062895+01:00 grenzland nnrpd[2990705]: localhost time 48 idle 43(6) nntpwrite 1(24) 2026-02-25T22:49:33.070321+01:00 grenzland innd: localhost connected 21 streaming allowed 2026-02-25T22:49:33.110111+01:00 grenzland innd: localhost:21 NCmode "MODE READER" received 2026-02-25T22:49:33.111092+01:00 grenzland innd: localhost:21 checkpoint seconds 0 accepted 0 refused 0 rejected 0 duplicate 0 accepted size 0 duplicate size 0 rejected size 0 2026-02-25T22:49:33.111186+01:00 grenzland innd: localhost:21 closed seconds 0 accepted 0 refused 0 rejected 0 duplicate 0 accepted size 0 duplicate size 0 rejected size 0 2026-02-25T22:49:33.124001+01:00 grenzland nnrpd[2990714]: localhost (127.0.0.1) connect - port 119 2026-02-25T22:49:33.165116+01:00 grenzland nnrpd[2990714]: localhost post failed Can't set system Injection-Info header field 2026-02-25T22:49:33.165765+01:00 grenzland nnrpd[2990714]: localhost posts received 0 rejected 1 2026-02-25T22:49:33.165832+01:00 grenzland nnrpd[2990714]: localhost times user 0.005 system 0.004 idle 0.000 elapsed 0.043 2026-02-25T22:49:33.165876+01:00 grenzland nnrpd[2990714]: localhost time 43 idle 42(6) nntpwrite 0(24) 2026-02-25T22:49:33.173419+01:00 grenzland innd: localhost connected 21 streaming allowed 2026-02-25T22:49:33.213944+01:00 grenzland innd: localhost:21 NCmode "MODE READER" received 2026-02-25T22:49:33.214300+01:00 grenzland innd: localhost:21 checkpoint seconds 0 accepted 0 refused 0 rejected 0 duplicate 0 accepted size 0 duplicate size 0 rejected size 0 2026-02-25T22:49:33.214368+01:00 grenzland innd: localhost:21 closed seconds 0 accepted 0 refused 0 rejected 0 duplicate 0 accepted size 0 duplicate size 0 rejected size 0 2026-02-25T22:49:33.221243+01:00 grenzland nnrpd[2990715]: localhost (127.0.0.1) connect - port 119 2026-02-25T22:49:33.261359+01:00 grenzland nnrpd[2990715]: localhost post failed Can't set system Injection-Info header field 2026-02-25T22:49:33.262391+01:00 grenzland nnrpd[2990715]: localhost posts received 0 rejected 1 2026-02-25T22:49:33.263326+01:00 grenzland nnrpd[2990715]: localhost times user 0.005 system 0.002 idle 0.000 elapsed 0.042 2026-02-25T22:49:33.263816+01:00 grenzland nnrpd[2990715]: localhost time 43 idle 41(6) nntpwrite 1(24) Thanks again and best wishes, Laurens -- https://grenzland.club/~lkh email/xmpp: [email protected] -- inn-workers mailing list [email protected] https://lists.isc.org/mailman/listinfo/inn-workers