Commit graph

1161 commits

Author SHA1 Message Date
Tom Limoncelli 360a6266c5 Revert "CLEANUP: Fix many golint/staticcheck issues"
This reverts commit de64f90c51.
2022-01-25 10:35:21 -05:00
Tom Limoncelli de64f90c51 CLEANUP: Fix many golint/staticcheck issues 2022-01-25 10:33:48 -05:00
Tom Limoncelli 1b83c219c5
Fix comment (#1379)
* Fix #1374

* Fix comment
2022-01-25 10:00:44 -05:00
Tom Limoncelli b73d37908c
BUGFIX: CAA records may include quoted spaces #1374 (#1377) 2022-01-25 09:57:20 -05:00
Norman 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
48a8a95b4a
CLOUDNS: Fix name server updates #1263 (#1303)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-01-14 08:28:48 -05:00
Jakob Ackermann 2e28dcd644
HETZNER: handle a 404 from listing zones gracefully (#1371)
The API docs do not mention this, but we saw a case in the wild (1370).

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2022-01-10 16:08:15 -05:00
Hampton 6e29b556a0
PACKETFRAME: always include default nameservers (#1368) 2022-01-07 09:24:24 -05:00
Hampton 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
Tom Limoncelli 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
Tom Limoncelli 2f65533e1b
DOCUMENTATION: Clarify responsibilities of maintainers (#1364) 2022-01-04 15:51:40 -05:00
dependabot[bot] ac9d1324ef
Bump github.com/softlayer/softlayer-go from 1.0.3 to 1.0.4 (#1355)
Bumps [github.com/softlayer/softlayer-go](https://github.com/softlayer/softlayer-go) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/softlayer/softlayer-go/releases)
- [Commits](https://github.com/softlayer/softlayer-go/compare/v1.0.3...v1.0.4)

---
updated-dependencies:
- dependency-name: github.com/softlayer/softlayer-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-01-03 10:25:26 -05:00
Hampton 998a25aa08
BUG: Support RFC2317 by allowing slash in CNAME target (#1360)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-01-03 10:24:33 -05:00
Tom Limoncelli 2dcc9b1c11
CLOUDFLARE: Clarify universal SSL docs (#1358)
* CLOUDFLARE: Clarify univ. SSL docs

* fixup!
2022-01-03 10:02:49 -05:00
Tom Limoncelli e063812a5f
MAINT: Update dependencies (#1361) 2022-01-03 10:02:21 -05:00
Ashish Kulkarni 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
Nick Gregory 9a915db5b8
oracle: fix nameserver trailing dot issue, and resolve staticcheck warnings (#1341)
* fix nameserver trailing dot issue, and resolve staticcheck warnings

* ToNameservers

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-12-29 12:06:44 -05:00
Tom Limoncelli d4956c225c
NS1: Rename ns1provider.go to ns1Provider.go (#1350) 2021-12-26 13:11:59 -05:00
Steven Vernick 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
Tom Limoncelli 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
Brice Figureau 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
Chris Hunt cc4eba6f16
Migrate Build and Integration Tests to CircleCI (#1292)
* Change the CI from GitHub Actions to [CircleCI](https://app.circleci.com/pipelines/github/StackExchange/dnscontrol?filter=all).
* Adds more platforms in the release as inspired by and discussed in #1260.
2021-12-17 07:14:27 -05:00
Tom Limoncelli 14c3014a2e
DOCS: Improve cli-variables.md (#1328)
* DOCS: Rewrite cli-variables.md
2021-12-14 16:29:01 -05:00
Tom Limoncelli 02c5258396
CODE: Fix simple staticcheck items (#1329) 2021-12-14 16:28:37 -05:00
Vincent Hagen cc6638fb95
TRANSIP: Fix staticcheck errors (#1337) 2021-12-14 15:47:38 -05:00
Tom Limoncelli 7ae27aa0b9 Security: Fix many staticcheck warnings 2021-12-14 09:47:32 -05:00
Vojta Drbohlav e3cd40a1a8
DNSMADEEASY: always override NS records TTL to be 86400 (#1317)
Fixes broken integration tests and spamming output about chaning NS records TTL from fixed one (86400) to dnscontrol default one (300).

This issue was introduced in #1167.

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-12-14 07:49:00 -05:00
Tom Limoncelli 531aa6e313
DIGITALOCEAN: Upgrade to godo 1.73.0 (#1325) 2021-12-08 12:18:19 -05:00
Tom Limoncelli 00b2a3a9f8
Upgrade dependencies (#1324)
* Upgrade dependencies

* Revert "Upgrade dependencies"

This reverts commit 1b9df3a4bb.

* all but gandi
2021-12-08 10:56:48 -05:00
Jaye Doepke 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
Vojta Drbohlav 899a34ddd4
DNSMADEEASY: Fix staticcheck errors (#1316)
* DNSMADEEASY: remove unused type apiEmptyResponse
* DNSMADEEASY: fix unnecessary use of fmt.Sprintf
* DNSMADEEASY: fix error check in toRecordConfig
2021-12-06 12:45:34 -05:00
Tom Limoncelli 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
Benjamin Altpeter 2cfd2f403b
Hosting.de: Allow using as registrar only (#1307)
Previously, the provider would always try to fetch the zone config for
the domain. But that doesn't work if the domain's DNS is not managed
through Hosting.de.

With this patch, getDomainConfig() instead filters directly on the
domain name instead of re-fetching it from the zone.

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-11-27 13:44:28 -05:00
norman-zon 58a5a4bcf0
Remove length checking from TxtNoMultipleStrings (#1308)
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.
2021-11-23 14:35:01 -05:00
Ry3nlNaToR 3405757271
Use ToNameserversStripTD instead of ToNameserver (#1306) 2021-11-18 11:08:52 -05:00
dependabot[bot] f6cb82aa6d
Bump actions/checkout from 2.3.5 to 2.4.0 (#1304)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.5 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.5...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-08 12:13:02 -05:00
Julius Rickert 6d48725e52
Add test cases for IDN domains (#1302)
Recreated IR json file
2021-11-03 10:45:01 -04:00
Tom Limoncelli 866aa798e2
Update deps (#1301) 2021-11-01 16:10:29 -04:00
Vincent Bernat c44ed88659
GANDI_V5 & DESEC: correctly handle multiple RR in a RRset (#1296)
When having multiple RR in a RRset, only a few of them may be applied.
In my case, when I have two A records, only one of them makes its way
to Gandi.

In `convert.go`, we had:

```go
var zrs []livedns.DomainRecord
// [...]
zrs = append(zrs, zr)
keys[key] = &zrs[len(zrs)-1]
```

If the slice needs to be extended when appending, the reference we got
in `keys[key]` may be outdated because the new slice contains a copy
of the old one. We either need to store references to domain records
in the slice or we need to stop keeping reference of items in the
slice.

I have fixed this with the second solution as I think the order of the
RRsets is not important.
2021-11-01 15:41:37 -04:00
dependabot[bot] ceeb44ff59
Bump actions/checkout from 2.3.4 to 2.3.5 (#1293)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.3.5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 12:23:33 -04:00
Tom Limoncelli 186e139bbe
Update dependencies (#1294) 2021-10-26 12:09:34 -04:00
Patrik Kernstock 2e21973ddf
Disable TXT splitting with OVH provider (#1291) 2021-10-17 09:52:17 -06:00
Patrik Kernstock 0ff44913ae
Fixing OVH DKIM MODIFY (#1290)
* Treat DKIM as normal TXT record type

* Empty FieldType before to prevent API error for DKIM

* Unsplit DKIM TXT records before diffing the values
2021-10-16 10:45:06 -06:00
Tom Limoncelli e94487bd07
Do not test workers in CI yet (#1289) 2021-10-13 13:54:39 -04:00
Chris Hunt 5bffef9afc
Add empty circleci config (#1286) 2021-10-11 18:32:06 -04:00
F.D.Castel 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
Brian Hartvigsen 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
Tom Limoncelli 7f071b4ce8
HEXONET: Support long TXT records and fix whitespace bug (#1283)
* HEXONET: Support for long TXT records

* HEXONET: Revert and update comments in auditrecords.go

* Update auditrecords.go

* HEXONET: Sync TXT support with reality

* Fix the fixed unit tests

Co-authored-by: Burak Tamturk <buraktamturk@gmail.com>
2021-10-04 12:08:57 -04:00
Tom Limoncelli eef8c25a95
Upgrade otto to 20210927222213 (#1279)
* Update deps

* Upgrade otto 20210614181706 -> 20210927222213
2021-10-03 17:52:39 -04:00
Tom Limoncelli 79d3552312
Update deps (#1278) 2021-10-03 17:23:48 -04:00