Hi!

Recently a mail was not being distributed via our MM3 instance; I
searched the logs and found:

Dec 22 04:54:27 2023 (24) ACCEPT: 
<1d431542-b386-467b-8bf2-305f19ee7...@somenet.org>
Dec 22 04:54:28 2023 (28) Uncaught runner exception: list index out of range
Dec 22 04:54:28 2023 (28) Traceback (most recent call last):
   File "/usr/lib/python3.10/site-packages/mailman/core/runner.py", line 179, 
in _one_iteration
   self._process_one_file(msg, msgdata)
File "/usr/lib/python3.10/site-packages/mailman/core/runner.py", line 272, in 
_process_one_file
   keepqueued = self._dispose(mlist, msg, msgdata)
File "/usr/lib/python3.10/site-packages/mailman/runners/pipeline.py", line 37, 
in _dispose process(mlist, msg, msgdata, pipeline)
File "/usr/lib/python3.10/site-packages/mailman/core/pipelines.py", line 53, in 
process
   handler.process(mlist, msg, msgdata)
File 
"/usr/lib/python3.10/site-packages/mailman/handlers/validate_authenticity.py", 
line 125, in process
   authenticate(msg, msgdata)
File "/usr/lib/python3.10/site-packages/mailman/utilities/retry.py", line 44, 
in f_retry
   return f(*args, **kwargs)
File 
"/usr/lib/python3.10/site-packages/mailman/handlers/validate_authenticity.py", 
line 93, in authenticate
   auth_result = authenticate_message(
File "/usr/lib/python3.10/site-packages/authheaders/__init__.py", line 395, in 
authenticate_message
   dmarc_result = check_dmarc(msg, spf_result, dkim_result, dnsfunc=dnsfunc, 
psddmarc=psddmarc)
File "/usr/lib/python3.10/site-packages/authheaders/__init__.py", line 343, in 
check_dmarc
   result, result_comment, from_domain, policy = dmarc_per_from(from_domain, 
spf_result, dkim_result, dnsfunc, psddmarc)
File "/usr/lib/python3.10/site-packages/authheaders/__init__.py", line 90, in 
dmarc_per_from
   record, orgdomain = receiver_record(from_domain)
File "/usr/lib/python3.10/site-packages/authheaders/dmarc_lookup.py", line 117, 
in receiver_record
   retval = lookup_receiver_record(hostSansDmarc, dnsfunc)
File "/usr/lib/python3.10/site-packages/authheaders/dmarc_lookup.py", line 92, 
in lookup_receiver_record
   tags = answer_to_dict(str(result))
File "/usr/lib/python3.10/site-packages/authheaders/dmarc_lookup.py", line 42, 
in answer_to_dict
   retval = {t[0].strip().lower(): t[1].strip().lower() for t in rawTags}
File "/usr/lib/python3.10/site-packages/authheaders/dmarc_lookup.py", line 42, 
in <dictcomp>
   retval = {t[0].strip().lower(): t[1].strip().lower() for t in rawTags}
IndexError: list index out of range
 
Dec 22 04:54:28 2023 (28) SHUNTING: 
1703220868.1418982+b27f5db154375fcd2c418d467172e4aad0d3d57a

So the message has been shunted, due to this error. Soemthing wit
DMARC and tags. So I checked the DMARC record:

The DMARC record for somenet.org is 
"v=DMARC1;p=none;pct=100;rua=mailto:postmas...@somenet.org;mailto:postmas...@somenet.org;ri=3600;fo=1;";
which is syntactically incorrect. The extra ";mailto:postmas...@somenet.org"; is 
wrong, I guess the tag "ruf=" is missing here!

It should probably read 
"v=DMARC1;p=none;pct=100;rua=mailto:postmas...@somenet.org;ruf=mailto:postmas...@somenet.org;ri=3600;fo=1;";

So, should mm3 somehow "catch" this error somehow? I wonder how a
syntactically incorrect DMARC record should be handled at all (ignore?
best effort?)

-- 
Ralf Hildebrandt
Charité - Universitätsmedizin Berlin
Geschäftsbereich IT | Abteilung Netz | Netzwerk-Administration
Invalidenstraße 120/121 | D-10115 Berlin

Tel. +49 30 450 570 155
ralf.hildebra...@charite.de
https://www.charite.de
------------------------------------------------------
Mailman-Users mailing list -- mailman-users@python.org
To unsubscribe send an email to mailman-users-le...@python.org
https://mail.python.org/mailman3/lists/mailman-users.python.org/
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: https://www.mail-archive.com/mailman-users@python.org/
    https://mail.python.org/archives/list/mailman-users@python.org/
Member address: arch...@jab.org

Reply via email to