YunoHost / issues

General issue tracker for the YunoHost project
71 stars 8 forks source link

DNS Records diagnosis fails #2416

Closed kattschan closed 1 day ago

kattschan commented 2 days ago

Describe the bug

Trying to run the DNS Records diagnosis returns an error. I have never run it successfully on this installation, however this server was wiped about 3 months ago on accident and before the reinstallation it worked fine.

Context

To reproduce

  1. Go to 'Diagnosis'
  2. Wait for Diagnosis to complete
  3. Select 'Rerun Diagnosis' on DNS Records if necessary.

Expected behavior

I expected to be able to perform diagnosis on my DNS records without error.

Logs

The error does not provide me with a link to share the error, and this is what it shows:

Diagnosis failed for category 'dnsrecords':
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/yunohost/diagnosis.py", line 183, in diagnosis_run
code, report = diagnoser.diagnose(force=force)
File "/usr/lib/python3/dist-packages/yunohost/diagnosis.py", line 430, in diagnose
items = list(self.run())
File "/usr/lib/python3/dist-packages/yunohost/diagnosers/12-dnsrecords.py", line 57, in run
for report in self.check_domain(
File "/usr/lib/python3/dist-packages/yunohost/diagnosers/12-dnsrecords.py", line 121, in check_domain
if self.current_record_match_expected(r):
File "/usr/lib/python3/dist-packages/yunohost/diagnosers/12-dnsrecords.py", line 220, in current_record_match_expected
key, value = param.split("=")
ValueError: not enough values to unpack (expected 2, got 1)

Note that in the diagnosis screen it says that everything is okay for DNS records with no information, and that the last time it was run was "over 54 years ago"(unix time 0/-1?)

alexAubin commented 2 days ago

It looks related to the fact that your DMARC record doesn't have an "=" in it ...

kattschan commented 1 day ago

Removing all the TXT records from all the domains and re-adding them seemed to work. Thanks! I forgot we had used a different email system for a little while, so those were probably left over from that.