Page MenuHomeDevCentral

Can't renew certificate with acme DNS plugin under Python 3.11
Open, HighPublic

Description

Can't repro on Python 3.9, but spotted on 3.11.

Hervil
Hook '--manual-auth-hook' for hervil.nasqueron.org ran with error output:
 Traceback (most recent call last):
   File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 974, in json
     return complexjson.loads(self.text, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/json/__init__.py", line 346, in loads
     return _default_decoder.decode(s)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/json/decoder.py", line 337, in decode
     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/json/decoder.py", line 355, in raw_decode
     raise JSONDecodeError("Expecting value", s, err.value) from None
 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

 During handling of the above exception, another exception occurred:

 Traceback (most recent call last):
   File "/usr/local/etc/letsencrypt/acme-dns-auth", line 169, in <module>
     client.update_txt_record(account, VALIDATION_TOKEN)
   File "/usr/local/etc/letsencrypt/acme-dns-auth", line 91, in update_txt_record
     s_body = json.dumps(res.json(), indent=2, sort_keys=True)
                         ^^^^^^^^^^
   File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 978, in json
     raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
 requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Hook '--manual-auth-hook' for mail.nasqueron.org reported error code 1
Hook '--manual-auth-hook' for mail.nasqueron.org ran with error output:
 Traceback (most recent call last):
   File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 974, in json
     return complexjson.loads(self.text, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/json/__init__.py", line 346, in loads
     return _default_decoder.decode(s)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/json/decoder.py", line 337, in decode
     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/json/decoder.py", line 355, in raw_decode
     raise JSONDecodeError("Expecting value", s, err.value) from None
 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Event Timeline

dereckson triaged this task as High priority.Sep 16 2024, 21:10
dereckson created this task.

To reduce Python issues, one of the solution could be to switch to acme.sh

acme.sh directly support our ACME DNS small server, https://github.com/acmesh-official/acme.sh/blob/master/dnsapi/dns_acmedns.sh