AnalogJ / lexicon

Manipulate DNS records on various DNS providers in a standardized way.
MIT License
1.48k stars 304 forks source link

DDNS provider is not responding to error conditions correctly #1840

Open alexhorner opened 9 months ago

alexhorner commented 9 months ago

Whilst investigating an issue with acme.sh which I have configured to use lexicon as the provider, I have found that lexicon is not correctly handling errors from DDNS updates.

According to RFC2136, an RCode of 9 means NOTAUTH - The server is not authoritative for the zone named in the Zone Section.

Attempting to update a zone which does not exist on the target server returns this NOTAUTH RCode and results in no change being made on the server, however lexicon still reports:

RESULT
------
True

I do not know if lexicon is failing to handle other RCodes in the RFC, I have not tested this.

This can be tested with the following setup: