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

279 Commits

Author SHA1 Message Date
Robert Blenkinsopp
74dd34443a NEW PROVIDER: HEDNS: Hurricane Electric DNS (dns.he.net) (#822)
* Add initial dns.he.net provider support

* Update to new IncrementalDiff interface

* Fix ListZones output for `all` query on `get-zones`

* Refactor authentication code for 2FA with better error checking

* Fix integration test and refactor zone record retrieval

* Add option to use `.hedns-session` file to store sessions between runs

* Add comment on `session-file-path`

* Add integration test for TXT records longer than 255 characters

* Add additional checks for expected responses, and better 2FA error checking

* Minor documentation changes

* Revert "Add integration test for TXT records longer than 255 characters"

This reverts commit 657272db

* Add note on provider fragility due to parsing the web-interface

* Resolve go lint issues

* Clarify security warnings in documentation
2020-08-26 13:38:28 -04:00
Sven Peter
443c187dda Cleanup: INWX fix golint issues (#825) 2020-08-26 13:06:13 -04:00
Mike Cochrane
59747a96f0 Cleanup: Bubble errors up from diff instead of panic (#799) (#817) 2020-08-20 15:49:00 -04:00
Kevin Zander
79357bb667 Add TTL to BIND SoaInfo struct (#820)
Co-authored-by: Kevin Zander <Kevin.Zander@sony.com>
2020-08-20 15:44:15 -04:00
Sump Runlet
266f0b8f33 AZURE: Fixed bug related to having >100 Zones (#816)
Resolves #792
2020-08-18 15:13:08 -04:00
Sven Peter
f88c60a8f3 New provider: INWX (#808)
* adds initial support for INWX

* adds all features to the INWX provider

* allows domain for tests in creds.json for INWX

* runs go generate to update docs for INWX

* fixes formatting with gofmt

* changes goinwx to github.com/nrdcg/goinwx v0.8.0

* simplifies inwx sandbox check

* changes inwx unknown key error to a warning

* adds models.PostProcessRecords for inwx records

* replaces strings.TrimRight with [:-1] to remove final dot for inwx

* adds a comment about the domain creds.json key for the inwx provider

* removes warning for invalid creds.json keys in the inwx provider

* adds TOTP calculation support for inwx

* adds comments to inwxProvider

* improves INWX error messages

* adds additional documentation about the TOTP support for INWX

* adds inwx documentation

* bumps goinwx to 0.8.1 to fix the inwx API
2020-08-17 08:45:44 -04:00
herver
98418cf48b desec: Supports PTR records out of the box (#801) 2020-08-04 09:44:20 -04:00
Jan-Philipp Benecke
4211cf1dc0 Fixing PowerDNS domain creation (#786) 2020-07-30 11:09:21 -04:00
Sump Runlet
42f7568074 Fix for incomplete results from Azure DNS in fetchRecordSets (#791) 2020-07-28 13:35:56 -04:00
Blake Bourque
ea328263c7 Route53 uses a custom record type for SPF (#787)
Much like OVH Route53 when queried returns SPF records as their own
type. This small change transcribes the SPF type to TXT

See: https://github.com/StackExchange/dnscontrol/issues/446
See: 644ba70e87/providers/ovh/ovhProvider.go (L169-L172)
2020-07-17 13:02:42 -04:00
Max Ratmeyer
644ba70e87 Fixed MX records on NS1 (#783) 2020-07-14 08:33:21 -04:00
Max Ratmeyer
f12cd58d1f NS1: Revert enabling TXTMulti (#782)
Co-authored-by: Max Ratmeyer <maxratmeyer@Maxs-MacBook-Pro.local>
2020-07-10 07:08:03 -04:00
Tom Limoncelli
2c9301387a aRemove debug statement 2020-07-09 19:34:35 -04:00
Max Ratmeyer
f7d39b578a NS1: Added support for ALIAS, PTR, and TXTMuli (#776) 2020-07-06 20:29:25 -04:00
Tom Limoncelli
541bb805da linting (#777) 2020-07-06 20:18:24 -04:00
Tom Limoncelli
367a14ab44 Sort updates (cosmetic) (#772)
* Sort updates (cosmetic)

* comments

* More comments
2020-07-01 05:55:20 -04:00
Matthew Huxtable
ff8ce26cee Provider support for DS records as children only (#765)
This functionality is required by the GCLOUD provider, which supports
recordsets of type DS but only for child records of the zone, to enable
further delegation. It does not support them at the apex of the zone (@)
because Google Cloud DNS is not itself a registrar which needs to model
this information.

A related change (14ff68b151, #760) was
previously introduced to enable DS support in Google, which broke
integration tests with this provider.

To cleanly support this, we introduce a new provider capability
CanUseDSForChildren and appropriate integration tests. Further, it is no
longer possible to verify a provider has the proper capabilities for a
zone simply by existence of particular records; we adapt the capability
checks to enable inspection of the individual recordsets where this is
required.

Closes #762
2020-06-18 17:24:13 -04:00
Tom Limoncelli
676d98fc4a Linting (#767)
What could possibly go wrong?
2020-06-18 09:37:57 -04:00
Tom Limoncelli
12e9d2bdd5 Update dependencies (#763)
* gcloud natively supports records of type DS

* doc fix: CanUseDs -> CanUseDS capitalisation fix

* Update github.com/stretchr/testify golang.org/x/tools google.golang.org/api gopkg.in/yaml.v3

Co-authored-by: Matthew Huxtable <matthew.huxtable@sparx.co.uk>
2020-06-09 14:00:20 -04:00
Tom Limoncelli
4e2dbd879d Revert "Add support to GCLOUD provider for DS records (#760)" (#761)
This reverts commit 14ff68b151.
2020-06-09 13:31:09 -04:00
Matthew Huxtable
14ff68b151 Add support to GCLOUD provider for DS records (#760)
* gcloud natively supports records of type DS
* doc fix: CanUseDs -> CanUseDS capitalisation fix
2020-06-09 12:12:04 -04:00
Robert Koch
f91696803c Updated integration tests 2020-05-30 11:06:13 -04:00
Robert Koch
9652ef11a7 rebased and regenerated 2020-05-30 11:06:13 -04:00
Robert Koch
2e8589e4ce Added DS for cloudflare provider with tests 2020-05-30 11:06:13 -04:00
Tom Limoncelli
87a5c4b339 New RTYPE: DS records now supported! (#753)
Thanks to @haraldkoch for starting this, @McNetic for picking it up.

* Added DS record type

* Added DS for cloudflare provider with tests

* Removed DS validation, fixed parse test

* Added generated files

* Added dnsimple ds record

* Regenerated documentation matrix

* rebased and regenerated

* Updated integration tests

* Rebase and regenerate

* Enable DS record type for provider desec

* Added DS record type

* Added DS for cloudflare provider with tests

* Removed DS validation, fixed parse test

* Added generated files

* Added dnsimple ds record

* Regenerated documentation matrix

* rebased and regenerated

* Updated integration tests

* Rebase and regenerate

* Enable DS record type for provider desec

* Rebase and fixes

Co-authored-by: Robert Koch <robert@kochie.io>
Co-authored-by: Nicolai Ehemann <nicolai.ehemann@enerko-informatik.de>
2020-05-30 10:40:21 -04:00
Jan-Philipp Benecke
ffd4e46dda New DNS provider PowerDNS (#748)
* Added PowerDNS as dns provider

* Remove unnecessary comments

* Some tests

* Implemented feedback
2020-05-30 09:54:07 -04:00
Amelia Aronsohn
b2b0ed4154 Update DNSimple Provider to api client 0.62 (#739)
* Update DNSimple-go to 0.61

This adds support for contexts, exports all return values, Adds ZoneRecordAttributes to fix support for blank record names.

* Add UserAgent to client

* Update Integration test for DNSimple

We now support Empty TXT, however we do not support Null MX yet.

* Bump to dnsimple-go 0.62 & use dnsimple.String()
2020-05-13 16:37:49 -04:00
Grégoire Henry
8dd66ec605 New provider: AXFR+DDNS (#259) (#729)
* NEW PROVIDER: AXFR+DDNS (#259)

* AXFRDDNS: split GetZoneRecords in two functions

* AXFRDDNS: improve code documentation

* AXFRDDNS: line-wrap documentation

* AXFRDDNS: add simple `named.conf` as example

* AXFRDDNS: improve error messages

* AXFRDDNS: improve doc.

* AXFRDDNS: update `OWNERS`

* Linting and other cosmetic changes

* AXFRDDNS: fix grammar

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-05-08 10:55:51 -04:00
Bernhard Fröhlich
ec27d2c76a Fix octodns: constant 4294967295 overflows int (Issue #736) (#738) 2020-05-07 18:42:54 -04:00
D3luxee
207f050911 NEW PROVIDER: deSEC (#725)
* Add initial deSEC support

* Handle the api rate limiting

* Fix deleteRR and do some code cleanup

* improve rate limiting and record deletion

* Add documentation for deSEC provider

* README.md update list of supported DNS providers

* deSEC supports SSHFP records

* dynamic minimum_ttl and hint for DNSSec on domain creation

* merge all changes into one single bulk api request

* Fix: actually set the TTL to min_ttl if necessary

* use a constant for apiBase URL

* Fix code comments

* Use PUT instead of PATCH for upsertRR method

* use ' instead of " for java script examples
2020-04-28 14:40:58 -04:00
Tom Limoncelli
5416c16fa1 Fixes #726 (#727) 2020-04-27 08:49:49 -04:00
Kordian Bruck
02e6a49bb8 NEW PROVIDER: NETCUP (DNS) (#718)
* Add support for netcup DNS api.
* Add documentation page.
* Update reference to new version path.
* Add OWNERS entry for netcup.
* Add credentials for integration test. Netcup does not support PTRs. Fix parsing/formating of SRV records.
* Skip integration tests that are not supported.
* Use single quotes in JS code.
2020-04-17 13:58:44 -04:00
Tom Limoncelli
24b7d0641e Update github.com/StackExchange/dnscontrol/v2 2020-04-14 16:49:03 -04:00
Tom Limoncelli
d14f00ce06 go get -u github.com/tiramiseb/go-gandi (#711) 2020-03-27 12:09:56 -04:00
Tom Limoncelli
45f36ffd12 Fix #491 for BIND, HEXONET, LINODE, NAMECHEAP, NS1, OPENSRS, SOFTLAYER, VULTR (#710)
* BIND: issues/491

* HEXONET: Fixe #491

* LINODE: Fix #491

* NAMECHEAP: Fix #491

* NS1: Fix #491

* OPENSRS: Fix #491

* SOFTLAYER: Fix #491

* VULTR: Fix #491
2020-03-26 09:59:59 -04:00
PJ Eby
a3ef53574c Support RFC 7505 "null MX" (#702) (#703)
* Fix #702: Spurious null MX changes on CloudFlare

* Test roundtripping null MX on Cloudflare

* Use an if instead of TrimSuffix

* Add other providers that support RFC 7505

* Suppress test for non-compliant providers
2020-03-25 09:53:28 -04:00
Tom Limoncelli
1b5935d1af Release 3.0.0 Candidate (#699)
Final changes before V3.0.0 release

* Remove old Gandi.  Fixes #575
* Many cleanups
* go mod tidy && go mod vendor

* integration_test.go: Output subtest name

* Cleanups

* integration_test.go: Description should include sub-test name
* Add a whitespace test to js/parse_tests/017-txt.js

* Cloudflare strips whitespace from end of TXT

* Fixes https://github.com/StackExchange/dnscontrol/issues/700

* Whitespace at end of TXT records

Name.com strips the whitespace from the end of a TXT record. There's
nothing we can do other than file a bug.

* Fixes https://github.com/StackExchange/dnscontrol/issues/701
2020-03-22 13:38:37 -04:00
Tom Limoncelli
14e48b9b07 linting (#693)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-03-10 16:53:17 -04:00
Tom Limoncelli
24484f1e0c move providers/diff to pkg/diff like we should have 2 years ago (#692)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-03-10 16:35:43 -04:00
Tom Limoncelli
67e78f7e15 refactor into groups (#684)
* Refactor tests into "groups", each with its own filter (not/only/requires) to select which providers are appropriate.
* Test driver code is now a lot more simple and clear.
* Add support for not(), only(), and requires() as a way to select/reject providers for a test.
* Add docs explaining how to add tests
* Logging messages are much cleaner now, especially when tests are skipped.
* -start and -end now refer to test groups, not individual tests.  Log messages list the group numbers clearly.
* Add stringer for Capabilities
* Change the order of the tests so that simple tests are first
* Removed knownFailures from providers.json
* fmtjson providers.json

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-03-10 10:13:20 -04:00
Tom Limoncelli
8d9ca83996 GANDI_V5: Recognize that CanUseTXTMulti is valid (#680) 2020-03-05 16:23:04 -05:00
Tom Limoncelli
394b6e605f ClouDNS: Get zone records implemented (#681)
* ClouDNS: #628 get-zones implemented

* ClouDNS: #491 convert to models.ToNameservers
2020-03-05 16:21:42 -05:00
Brice Figureau
947cc043df (#491) convert the OVH provider to models.ToNameservers (#679)
As requested in #491, as OVH doesn't return dot-suffixed NS, we can
use `models.ToNameservers` in this provider.
2020-03-03 16:42:47 -05:00
Vatsalya Goel
884118f6dd AZURE_DNS: Add support for Alias: AZURE_ALIAS() (#675)
* Add support for Alias in Azure

* Actioned comments and added parse tests

* GetTargetDebug

* Go formatting
2020-03-02 11:25:42 -05:00
Tom Limoncelli
3f68215841 GetNameservers is inconsistent across providers (#655)
* Warn if GetNameservers returns FQDN+dot strings
* Simplify logic that covers for the inconsistency
* Fix azuredns, gcloud, bind, route53
* Clean up cloudflare, digitalocean, dnsimple, gandi_v5, namedotcom
2020-03-01 10:33:24 -05:00
Phil Pennock
ecac8f1c10 DNSIMPLE: support NAPTR (#671)
Fix the model to strip quotes from all the string parts; BIND
integration tests still pass.  DNSIMPLE integration tests pass.
2020-03-01 09:36:55 -05:00
Phil Pennock
95dcce8b6f GANDI_V5: Fix/support ALIAS, SSHFP, TLSA (#673) 2020-03-01 09:36:12 -05:00
Patrick Gaskin
6c316993ec VULTR: Implemented get-zones (#628) (#670) 2020-02-29 09:04:00 -05:00
Tom Limoncelli
2dcb33e7b7 typo 2020-02-28 13:10:33 -05:00
Brice Figureau
bdddd466bf (#628) Add get-zones to the OVH provider (#666)
Commit 87ad01d added the very useful `get-zones` command, which
requires providers to implement a new method `GetZoneRecords`.
This changes make the OVH provider support this.
2020-02-28 11:14:02 -05:00