1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00
Commit Graph

688 Commits

Author SHA1 Message Date
Brian Hartvigsen
414f57274d CLOUDFLARE: Fix bug with long TXT records (SplitSingleLongTxt is not needed) (#1265)
This isn't necessary for Cloudflare, just pass the string you want and they'll take care of the rest.  This was breaking DKIM records as it would pass the split string with quotes, which Cloudflare then interpreted the quotes as being necessary for the records.
2021-09-28 15:53:38 -04:00
Vincent Hagen
8c5db2e11c Add R53_ZONE as an domain identifier (#1241)
Using R53_ZONE allows you to differentiate between split horizon
domains across zones.
2021-09-02 16:54:54 -04:00
Patrik Kernstock
f0026b8073 Revert "INWX: fix apex domains (#1221)" (#1242)
This reverts commit f63302b978.
2021-08-29 19:35:25 -04:00
Tom Limoncelli
0203154021 VULTR: Fix TXT quoting issue (#1239)
* VULTR: Fix TXT quoting issue
* VULTR: Add tests that trigger Vultr's SPF mode
* VULTR: Enforce the fact that VULTR only supports a single string in TXT records

Co-authored-by: Lee Martin <lmartin@stackoverflow.com>
2021-08-17 15:58:10 -04:00
Sven Peter
f63302b978 INWX: fix apex domains (#1221)
INWX has changed their API to use an empty string () instead of
the common @. Fix that by converting between the two.
2021-07-25 11:51:27 -04:00
Jauder Ho
a6b9609cd5 gofmt cleanups (#1217)
* Create codeql-config.yml

* Update codeql-analysis.yml

Add config to exclude certain files

* Run gofmt on a few files as reported by goreportcard.com
2021-07-21 16:10:53 -04:00
Tom Limoncelli
8ab0df92cc TRANSIP: Enable privatekey authentication (#1212)
* Add PrivateKey authentication for TransIP

* Remove space before comma

* Re-enable CodeQL for Javascript (#1209)

* Create codeql-config.yml

* Update codeql-analysis.yml

Add config to exclude certain files

* deSEC implement pagination (#1208)

* deSEC: Implement pagination for domain list #1177

* deSEC: add debug logging for pagination

* deSEC: simplify get/post methods by allowing url / api endpoints as target

* deSEC: implement pagination for getRecords function

* deSEC: fix linter warnings

* deSEC: replace domainIndexInitalized variable with checking if the domainIndex == nil

* deSEC: add mutex for domainIndex

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>

Co-authored-by: Vincent Hagen <vinnie@script4web.nl>
Co-authored-by: Jauder Ho <jauderho@users.noreply.github.com>
Co-authored-by: Georg <georg@neuland.tech>
2021-07-21 12:06:29 -04:00
Georg
2832746a47 deSEC implement pagination (#1208)
* deSEC: Implement pagination for domain list #1177

* deSEC: add debug logging for pagination

* deSEC: simplify get/post methods by allowing url / api endpoints as target

* deSEC: implement pagination for getRecords function

* deSEC: fix linter warnings

* deSEC: replace domainIndexInitalized variable with checking if the domainIndex == nil

* deSEC: add mutex for domainIndex

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-07-21 11:44:10 -04:00
Vincent Hagen
0770e64c90 NAMECHEAP: Add get zone functionality (#1207) 2021-07-12 06:49:30 -04:00
Georg
228b57e445 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 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>
2021-07-08 10:06:54 -04:00
Vincent Hagen
506b6cc32f Transip provider (#1196)
* Add initial transip provider

* Add GetNameservers to transip

* Add first try to correction function.

* Implemented corrections

* Add docs for transip

* Fix TransIP TTL updates

* Fix transip nameserver records

* Update docs/_providers/transip.md

Co-authored-by: Sven Luijten <11269635+svenluijten@users.noreply.github.com>

Co-authored-by: Sven Luijten <11269635+svenluijten@users.noreply.github.com>
2021-07-07 11:43:10 -04:00
nemunaire
80f22df705 MAINTENANCE: Return error instead of panic when converting RR to RC (#1199) 2021-07-06 11:03:29 -04:00
Tom Limoncelli
4b68e14039 Fix codeql errors (#1181) 2021-07-01 09:30:02 -04:00
Tom Limoncelli
654736be29 Improve MSDNS naptr support (#1165)
* MSDNS: Improve reliability of zone dump

* Update tests

* MSDNS: Add initial NAPTR support

* Update

* fix tests

* fix tests

* Fixing integration tests for NAPTR

* Handle bad JSON. Handle NAPTR TTLs
2021-06-24 18:26:21 -04:00
Tom Limoncelli
6d64fc8cac Fix CodeQL issues (#1173) 2021-06-24 18:15:09 -04:00
Tom Limoncelli
311a6d74ce MSDNS: Improve reliability of zone dump (#1179)
* MSDNS: Improve reliability of zone dump

* Update tests
2021-06-24 06:05:33 -04:00
Steven Vernick
be1f03fb75 NEW PROVIDER: AkamaiEdgeDNS (#1174)
* downcase TLSA

* Akamai provider

* Akamai provider

* EdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-06-22 10:24:49 -04:00
James Gilberd
fdd6387aad Show actual URL to use instead of just "sandbox" (#1166)
* 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>
2021-06-04 13:30:17 -04:00
James Gilberd
c22293e2cf Correct hard coded DNS Made Easy system nameserver TTL (#1167)
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.
2021-06-02 13:48:19 -04:00
nemunaire
607e0bc7f6 AXFRDDNS: fix advertisement of Get-Zones capability (#1161) 2021-05-24 09:30:49 -04:00
9b0b3bcdd6 ClouDNS does not support changing the NAPTR in the API. (#1159)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-18 16:22:41 -04:00
Peter Thomassen
d567d554cf DESEC: clarify supported capabilities (#1160)
* DESEC: clarify AutoDNSSEC

* DESEC: improve error messages / hints

* DESEC: add NAPTR support

* DESEC: add to integration test configuration
2021-05-17 15:45:24 -04:00
9949cba00d CLOUDNS: Support NAPTR, Update setup docs: (#1158)
- Changed the URL of the ClouDNS document from "asia.cloudns.net" to "www.cloudns.net".
- A little addition about TTL.
2021-05-15 09:38:27 -04:00
Costas Drogos
ce9005c7a8 ns1: Implement EnsureDomainExists (#1157)
API support is there, let's use it.

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-14 14:39:09 -04:00
Costas Drogos
9497a988ea Enable support for CAA in ns1 (#1150)
* 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>
2021-05-11 16:35:28 -04:00
Costas Drogos
d8146a4a19 NS1: fix ALIAS handling (#1154)
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.
2021-05-11 15:52:27 -04:00
Jan-Philipp Benecke
cf8e288339 PowerDNS: fix order problems of delete corrections & some cleanup (#1153)
Signed-off-by: Jan-Philipp Benecke <jan-philipp.benecke@jpbe.de>
2021-05-10 10:18:40 -04:00
Shrikant Sharat Kandula
4458595333 NAMECHEAP: Enable ALIAS support (#1149)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-10 08:52:46 -04:00
Tom Limoncelli
24083d3f76 Add integration test for SOA (#1147)
* 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
2021-05-07 14:39:26 -04:00
fuero
6b4d740f91 AXFRDDNS provider - adds update/transfer connection modes support (#1143)
* Adds update/transfer connection modes support

* Fixes typo

* gofmt all (#1144)

* go generate (#1145)

* go generate

* gofmt

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-07 08:21:14 -04:00
fuero
4586ad1281 Direct SOA record management (#1115)
* 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>
2021-05-04 15:47:26 -04:00
Tom Limoncelli
8d139d182f gofmt all (#1144) 2021-05-04 14:15:31 -04:00
split-and-join
a0bbc66983 MSDNS Fix pssession; Allow alternative credentials (#1140)
* Add options for PSCredentials
* UTF-8 encoded reading
* Fix cred comparison for session based PSRemoting
* Better conditional
* Fix failing test

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-02 11:25:06 -04:00
Tom Limoncelli
88c05d9484 Update deps (#1141) 2021-05-02 11:04:42 -04:00
Tom Limoncelli
d5bfee9f1e Maint: DS record tests should use more realistic data (#1127)
* DS tests should use real hashes
* Increase integration test timeout to 20m
2021-04-17 10:49:06 -04:00
Rashad J
a65b310520 perf(go sdk): introducing semver to HEXONET provider (#1120)
* build(go sdk): fixed outdated dependencies issue

* refactor(.back files): removed .bak files

Co-authored-by: Rashad Jamara <rjamara@hexonet.net>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-04-13 07:30:32 -04:00
Jan-Philipp Benecke
ed42eca946 Make creds file executable (#1119)
* Make creds file executable
* Implementing code review
* Abstract reading creds file into function
* Implement code review
2021-04-12 16:20:32 -04:00
nemunaire
ce6006cce7 GANDI_V5 & OVH: Implement ZoneLister (#1117)
* GANDI_V5: implement ZoneLister

* OVH: implement ZoneLister
2021-04-03 10:31:25 -04:00
Phil Pennock
059b58ed9e GANDI_V5: supports DS records already (#1112)
* Simply mark DS as supported, let existing tests handle it.
* Fix trivial typo in diagnostic feedback from model SetTargetDSString()
* The support matrix includes more changes because it was stale.
2021-03-29 10:04:36 -04:00
Rashad J
b0fd111ea2 HEXONET: AuditRecord should permit TXT with long strings (#1107)
Co-authored-by: Rashad Jamara <rjamara@hexonet.net>
2021-03-28 11:38:59 -04:00
4eb6fdface CLOUDNS: Fetch permitted TTL values from API #1078 (#1102)
The TTL values permitted may be different for each account and for each domain. Therefore we perform this query once per domain.

* Fetch ClouDNS allowed TTL values from API (Fix #1078)
* Add get available TTL values comment
2021-03-22 09:47:29 -04:00
Anton Yurchenko
875bb02c4e CLOUDNS: ClouDNS NOT allow multiple TXT records with same name (#1098)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-03-21 14:13:41 -04:00
Vojta Drbohlav
517b0458d6 NEW PROVIDER: DNS Made Easy (#1093)
* implement DNS Made Easy provider

* fix sandbox instructions in DNS Made Easy provider docs

* remove unnecessary blank lines and fix golint warnings

* remove unused deleteRecord method from DNSME api

* remove trailing comma in providers.json

* implement check for TXT records with double quotes for DNSME provider

* implement changing apex NS records

* rename DNSME to DNSMADEEASY

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-03-17 23:36:42 -04:00
bcad7c738b CLOUDNS: Note that TXT records do not permit double-quotes. Fix typo (#1094)
- Add AuditRecords for TXT NoDoubleQuotes
2021-03-14 12:16:53 -04:00
Tom Limoncelli
e69e6f27e4 Linting (#1087)
* fix linting
* rename AuditRecordsor to RecordAuditor
* gandi_v5 to gandiv5
2021-03-08 20:14:30 -05:00
Julius Rickert
c883c1ac68 New provider and new registrar: hosting.de (#1041)
* Add http.net provider

* Rename httpnetProvider

* Add SSHFP capability

* Add paging for records

* Sort documentation notes alphabetically

* Add custom base URL

* Extend documentation for custom base URL

* - renamed to hosting.de
- Fix EnsureDomainExists
- GetNameservers read from NS Records

* Replaced http.net with hosting.de
Contributor Support from hosting.de

* baseURL for hosting.de in documentation
replaced %v with %w for errors
special handling for txt records using .TxtStrings

* removed last references to rc.Target
fixed Trim of last dot

* Re-engineer TXT records for simplicity and better compliance (#1063)

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
Co-authored-by: Oliver Dick <o.dick@hosting.de>
Co-authored-by: Oliver Dick <31733320+membero@users.noreply.github.com>
2021-03-08 19:25:55 -05:00
Tom Limoncelli
1b83561b7f Make GCLOUD and GANDI_V5 modules consistant (#1085)
Fixes https://github.com/StackExchange/dnscontrol/issues/1060
Fixes https://github.com/StackExchange/dnscontrol/issues/1059
2021-03-07 15:14:46 -05:00
Tom Limoncelli
8dea9edc34 Re-engineer TXT records for simplicity and better compliance (#1063)
TXT records are now handled different.

1. The raw input from dnsconfig.js is passed all the way to the provider. The provider can determine if it can or can't handle such records (auditrecords.go) and processes them internally as such.
2. The CanUseTXTMulti capability is no longer needed.

* DSPs now register a table of functions
* Use audits for txt record variations
* unit tests pass. integration fails.
* fix deepcopy problem
* rename to AuditRecordSupport
* Reduce use of TXTMulti
* Remove CanUseTXTMulti
* fix Test Skip
* fix DO
* fix vultr
* fix NDC
* msdns fixes
* Fix powerdns and cloudflare
* HEDNS: Fix usage of target field to resolve TXT handling (#1067)
* Fix HEXONET

Co-authored-by: Robert Blenkinsopp <robert@blenkinsopp.net>
Co-authored-by: Jakob Ackermann <das7pad@outlook.com>
2021-03-07 13:19:22 -05:00
Tom Limoncelli
56766f93a9 SOFTLAYER: Mark provider as unmaintained (#1080)
* Warn about Softlayer
2021-03-07 11:55:15 -05:00
Tom Limoncelli
21e85e6528 "Target" RecordConfig should not be exported (#1061)
* Unexport RecordConfig.Target
* Fix tests
* HEDNS: Fix usage of target field to resolve TXT handling (#1067)

Co-authored-by: Robert Blenkinsopp <robert@blenkinsopp.net>
2021-03-04 18:58:23 -05:00