dnscontrol: Long / MultiString TXT records fail with deSEC
deSEC provider doesn’t allow TXT records with multiple strings, but the service splits long records automatically.
After #947 validation changes, dnscontrol fails validation for long TXT records with ERROR: txt target >255 bytes and AUTOSPLIT not set. Adding AUTOSPLIT to deSEC records (or splitting manually) causes dnscontrol to fail with ERROR: TXT records with multiple strings not supported by desec
Before, long TXT records worked, though the automatically split record caused unnecessary modifications.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 28 (17 by maintainers)
Commits related to this issue
- dns/dnscontrol: Update to 3.8.1 Releases since 3.7.0 have a bug that affects many deSEC users with long or multistring TXT records: https://github.com/StackExchange/dnscontrol/issues/996 — committed to pfsense/FreeBSD-ports by decke 3 years ago
- deSEC: add support for a different api error response relates to #996 where we had insufficient error output due to unknown api error format — committed to D3luxee/dnscontrol by D3luxee 3 years ago
- deSEC: add support for long txt records #996 — committed to D3luxee/dnscontrol by D3luxee 3 years ago
- DESEC: Implements support for long / multistring txt records (#1204) * use /auth/account endpoint for token validation this implements the token validation using the /auth/account api endpoint as su... — committed to StackExchange/dnscontrol by D3luxee 3 years ago
I will take a look into this in the next days, i was very busy over the last months and had no time left. Now i got vaccation and can afford to spend some time on this.
I think its working now the provider can create, update and delete long / multistring txt records now. Please build and test the long_txt branch here: https://github.com/D3luxee/dnscontrol/tree/long_txt
@tlimoncelli – sorry, it’s not working. I never wanted to dive that deep into Go and dnscontrol, but in order to read the error (that is according to @peterthomassen always included in the response body) I cleaned
protocol.go:This gives the error message:
[{"non_field_errors":["Data for TXT records must be given using quotation marks."]},{"non_field_errors":["Data for TXT records must be given using quotation marks."]}]So, again, TXT records need to be enclosed in
".And this, finally, succeeds in my case for DKIM records written in that way in dnsconfig.js
I guess it’s not well coded, but it shows us the direction.
I guess, we are getting closer.
dnscontrol previewsucceeds but every TXT wants to be modified now, e.g.To my mind, the provider is missing the correct string syntax with additional
\"– see documentation from above and["\"test value1\"","\"value2\""]The full error of
dnscontrol pushis…FAILURE! failed create rrset (deSEC): http status 400 400 Bad Request, the api does not provide more information