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

518 Commits

Author SHA1 Message Date
263c6b7290 NS1: Enable get-zones (#1373)
Refactor code to get zones from NS1 API into GetZonesRecords function to
enable get-zones
2022-01-19 13:58:21 -05:00
ea20c13e67 NEW PROVIDER: Packetframe (#1347)
* Implement Packetframe provider

* Packetframe: Move to authorization and fix multiple TXT records

* AKAMAIEDGEDNS: fix staticcheck warnings/errors (#1346)

* downcase TLSA

* Akamai provider

* Akamai provider

* EdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AKAMAIEDGEDNS: fix staticcheck warnings/errors

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

* PacketframeProvider minor cleanup

* Packetframe v4 moved to production

* Packetframe Provider: Finish the rest of provider steps

* Packetframe: Make stylistic changes, update nameservers, apikey -> token

Co-authored-by: Steven Vernick <78868407+svernick@users.noreply.github.com>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-01-05 12:09:46 -05:00
368be4e57a DOCS: Improve docs/writing-providers.md wrt registrars and testing (#1366)
* DOCS: Improve docs/writing-providers.md wrt registars and testing
2022-01-05 10:27:07 -05:00
2f65533e1b DOCUMENTATION: Clarify responsibilities of maintainers (#1364) 2022-01-04 15:51:40 -05:00
2dcc9b1c11 CLOUDFLARE: Clarify universal SSL docs (#1358)
* CLOUDFLARE: Clarify univ. SSL docs

* fixup!
2022-01-03 10:02:49 -05:00
e063812a5f MAINT: Update dependencies (#1361) 2022-01-03 10:02:21 -05:00
24e7c7ef4b fix CloudFlare documentation for CF_WORKER_ROUTE (#1351)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-12-29 12:07:55 -05:00
1f7889dbd3 AKAMAIEDGEDNS: fix staticcheck warnings/errors (#1346)
* downcase TLSA

* Akamai provider

* Akamai provider

* EdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AKAMAIEDGEDNS: fix staticcheck warnings/errors

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-12-23 15:16:37 -05:00
9f720d1084 CLEANUP: Skip DualProvider tests if Cannot(DocDualHost) (#1345)
* Skip DualProvider tests if Cannot(DocDualHost)
* go generate
* Fix HEXONET domain
2021-12-21 12:23:11 -05:00
9d9d299bb7 Fix #1338 - OVH provider should work when domain is not registered (#1340)
* Fix #1338 do not error if domain is not registered

OVH now allows to create zone without registering a domain. The ovh provider
was getting the NS from the registrar and not the zone, which doesn't work
in a scenario where only the zone exists at ovh.
This changeset makes the ovh provider fetch the NS from the registrar and if
there's none from the zone.

* OVH now supports all dual providers scenario

This change updates the OVH provider documentation accordingly.
2021-12-20 11:20:17 -05:00
14c3014a2e DOCS: Improve cli-variables.md (#1328)
* DOCS: Rewrite cli-variables.md
2021-12-14 16:29:01 -05:00
900d4042e8 ROUTE53: Adopt aws-sdk-go-v2 (#1321)
* Switch to aws-sdk-go-v2

AWS has released v2 of their SDK for Go.

See: https://aws.github.io/aws-sdk-go-v2/

One big advantage of this is no longer needing to export the
`AWS_SDK_LOAD_CONFIG=1` env var when using named profiles.

* Update integration test README

* Reenable pager601 and pager1201 integration tests for AWS Route53

* Implement intelligent batching for Route53 record changes

The AWS Route53 API for batch record changes limits the request size to
the smaller of:

- 1000 records.
- 32000 characters total for record values.

Also UPSERTs count as double (a DELETE and then a CREATE).

This commit changes how the record ChangeBatches are created to
respect these limits.

* Remove old comments

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-12-07 16:29:29 -05:00
215f6ed525 Release v3.13.0 (#1310)
* Remove length checking from TxtNoMultipleStrings

All functions in should test for only one condition. There already is a
function that tests for long TXT records: TxtNoLongStrings.
Add calls to TxtNoLongStrings in all providers that use
TxtNoMultipleStrings, to keep functionality, except for NS1 and ClouDNS,
which allow for any TXT record length, but not for multiple strings per
TXT.

* Release v3.13.0

* Release v3.13.0

Co-authored-by: Norman Stetter <norman.stetter@zeit.de>
2021-11-27 14:46:37 -05:00
0d12eb7dc6 CLOUDFLAREAPI: Adds CF_WORKER_ROUTE (#1243)
* CLOUDFLAREAPI: Adds CF_WORKER_ROUTE.

- CLOUDFLAREAPI: Initial support for CF_WORKER_ROUTE.
- Put CF_WORKER_ROUTE behind a per-domain feature-flag.
- Adds Integration Test.
- Create Cloudflare workers for tests.
- Updates documentation.

* Workaround for updateWorkerRoute causing stack overflow.

* Sets AccountID.

* Updates to latest master (Thanks @tresni!).

* Removes $CLOUDFLAREAPI_ACCOUNTNAME.

* Add alltrue() filter and -cfworkers flag

* Final workers changes

* alltrue() should be implemented like other filters.
* Update documentation.

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-10-11 16:04:49 -04:00
156c684be6 Initial support for easyname as registrar (#1277)
* Initial support for easyname as registrar

* DRY

Moving a bunch of the HTTP stuff into a single function for cleanliness and ease of future maintianence.

* Seperate API and Provider logic

* Updating error messages and sorting found nameservers

* Adding provider info to OWNERS and README

This also moves a few of the not-actually-DNS Providers to their own section.

* Update README.md

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-10-04 13:01:38 -04:00
d08a8f6c4e CLOUDFLARE: Stop requiring accountname (#1280)
There is no API call I've found that requires it, only the accountID.  Also, we now set the cfClient.AccountID similar to b55278140f63e0f95a3418bcd61b810c731ae08f (h/t @fdcastel) and no longer store duplicate information in the cfClient and api objects.

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-10-03 16:40:50 -04:00
e7c4494825 improve releng docs (#1253) 2021-10-03 15:41:46 -04:00
c33c5956a9 docs: add clarity around named profiles (#1262)
Specifically that creds.json is now required for versions >3.8.0 when using named profiles, as well as the environment variables.
2021-09-23 11:12:55 -04:00
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
3fa5712232 NEW MACROS: DOMAIN_ELSEWHERE and DOMAIN_ELSEWHERE_AUTO (#1237)
* NEW MACROS: DOMAIN_ELSEWHERE and DOMAIN_ELSEWHERE_AUTO
* Finish docs
2021-09-02 15:41:22 -04:00
b6779adf92 Document how to ignore the NS records of a domain (#1234)
* Update docs
2021-08-14 15:33:50 -04:00
9316517291 DMARC_BUILDER: specify version, use values when specified (#1236)
* Allow version, use values when specified

* Updated DMARC_BUILDER docs
2021-08-14 14:43:39 -04:00
6fc3534aa3 Add INCLUDE statement to include records from other domains (#1219) 2021-07-25 12:03:58 -04:00
81d3281185 Update RE doc (#1216)
* DOC: Add warning in RE docs.

* Add note to RE doc

* fixup!
2021-07-21 14:32:54 -04:00
27fff65a66 DOC: Add warning in RE docs. (#1215) 2021-07-21 13:40:25 -04:00
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
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
0630c185cf Release v3.10.1 (#1194)
* Release v3.10.1

* Update dependencies

* RELENG: Update doc to verify version string

* Fix codeql issue
2021-07-01 10:17:43 -04:00
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
1cea854e1c MAINT: Adopt go 1.16's embed feature (#1162)
* MAINT: Switch from esc to embed
* Simplify
* Update minimum go version in docs and pipelines
* go generate
2021-06-04 15:50:47 -04:00
dedc7c6e17 go generate 2021-05-21 15:09:45 -04:00
dff983131a DOCS: SOA docs should cite BIND doc 2021-05-21 11:35:43 -04:00
43ceee5452 go generate 2021-05-18 07:21:02 -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
1ec61c536b Release v3.9.0 (#1156)
* Release v3.9.0

* go generate
2021-05-13 12:48:05 -04:00
8c98492914 DOCS: Fix typo: will will -> will (#1152) 2021-05-10 07:53:21 -04:00
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
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
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
ac436fb0ec go generate (#1145)
* go generate
2021-05-04 14:16:31 -04:00
1cc2e79c59 Update depends (#1135)
* Update depends
* Update releng docs
2021-04-22 16:07:53 -04:00
7a9879cda4 SOA documentation (#1132) 2021-04-22 15:20:05 -04:00
554c9ae68e ROUTE53: Docs should specify FQDN with dot. (#1130)
After helping with
https://github.com/StackExchange/dnscontrol/issues/1128 I noticed that
the examples don't include a "." at the end of FQDNs.

Are these examples more correct?
2021-04-22 12:49:29 -04:00
4ab4d4c9ed IGNORE_NAME: Should work at domain apex (#1118)
* IGNORE_NAME: Add test at apex
* Fix IGNORE_NAME at apex
* Add comments and documentation
* Add a flag to disable IGNORE_NAME safety checks
2021-04-13 08:59:47 -04:00
877d54879e Fix doc error (#1113) 2021-03-29 10:09:10 -04:00
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
8c7ce22bf7 IGNORE_*: Warn about fragility (#1108) 2021-03-28 15:17:47 -04:00
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
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
18933436cf Move DMARC_BUILDER into place 2021-03-08 15:13:26 -05:00