* use /auth/account endpoint for token validation
this implements the token validation using the /auth/account api endpoint as suggested in #1177 instead of fetching the domain list
* deSEC: add support for long txt records #996
* deSEC: add support for a different api error response
relates to #996 where we had insufficient error output due to unknown api error format
* deSEC: remove unused fetchDomainList function
* deSEC: improve error handling
* deSEC: support for long / multistring txt records
the previous commit was broken this is now working (CRUD)
* deSEC: document what desecProvider.domainIndex is used for
* deSEC: handle the rate limiting correctly
we try to use the Retry-After header to determine how long we should sleep until retry
* deSEC: further improvement of rate limit handling
we cut off if the Retry-After header exceeds 3 minutes because this might be the daily limit.
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
REGRESSION and BUILD fix. dnscontrol compiles with this but I can't test the
EXOSCALE behavior to be sure it's logically sound.
The dependency was v1.19.0 but this git tag has been withdrawn and the go.mod
for that git repository contains:
retract v1.19.0 // Published accidentally.
Per <https://proxy.golang.org/github.com/exoscale/egoscale/@v/v1.19.0.info> the
timestamp for the bogus v1.19.0 dependency is 2019-10-29, which corresponds to
v0.19.0.
On 2020-02-27, the dnscontrol repo updated this dependency to v0.23.0, so it
now being v1.19.0 (== v0.19.0) is a REGRESSION.
I suggest that the maintainers purge this bogus v1.19.0 from their systems to
try to prevent it leaking in again in future.
* Show actual URL to use instead of just "sandbox"
Instead of stating "sandbox", sometimes incorrectly if sandbox is false, just output the actual URL that will be used.
* Replace Println with Printf
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
In my (very limited) experience with DNS Made Easy, the system nameserver
TTL is always 86400 and is not able to be altered.
Without this change, if you specify any TTL (other than 300) via
NAMESERVER_TTL() dnscontrol detects a difference and attempts to update
DNS Made Easy with the new value, which fails because the system
nameservers cannot be altered.
With this change in place the same thing will obviously still happen, if
you use NAMESERVER_TTL() with any TTL other than 86400, but that will be
a bit less confusing since the 86400 value appears in the DNS Made Easy
UI at least.
* Enable support for CAA in ns1
NS1 rest already supports it, enable the capability and handle CAA.
* ns1: sort capabilities
more readable
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
A bug was introduced in a2042c2eda, which stoped ALIAS records
from setting their record type correctly (it was set to nil).
Specifically, case "ALIAS" doesn't fall through to any of the other cases
below, leading ALIAS records to set their type to nil.
To fix that, readd the code that got absorbed by the URLFWD in a2042c2eda.
* Add integration test for SOA
* Add docs for SOA record
* MAINT: Rename SoaInfo to SoaDefaults.
gorename -v -from '"github.com/StackExchange/dnscontrol/v3/providers/bind".SoaInfo' -to SoaDefaults
* Adds SOA record to JS, zone parsing and record validation
* adds JS parsing test for SOA record
* fix validation & regenerates static resources
* Adds label and target test for SOA record
* Removes serial from SOA JS macro
* Adds generated resources
* reformat with gofmt
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>