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

1140 Commits

Author SHA1 Message Date
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.
v3.13.1
2021-12-17 07:14:27 -05:00
14c3014a2e DOCS: Improve cli-variables.md (#1328)
* DOCS: Rewrite cli-variables.md
2021-12-14 16:29:01 -05:00
02c5258396 CODE: Fix simple staticcheck items (#1329) 2021-12-14 16:28:37 -05:00
cc6638fb95 TRANSIP: Fix staticcheck errors (#1337) 2021-12-14 15:47:38 -05:00
7ae27aa0b9 Security: Fix many staticcheck warnings 2021-12-14 09:47:32 -05:00
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
531aa6e313 DIGITALOCEAN: Upgrade to godo 1.73.0 (#1325) 2021-12-08 12:18:19 -05:00
00b2a3a9f8 Upgrade dependencies (#1324)
* Upgrade dependencies

* Revert "Upgrade dependencies"

This reverts commit 1b9df3a4bbe7396cac2a882e7fda838611d95652.

* all but gandi
2021-12-08 10:56:48 -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
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
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
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
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
3405757271 Use ToNameserversStripTD instead of ToNameserver (#1306) 2021-11-18 11:08:52 -05:00
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
6d48725e52 Add test cases for IDN domains (#1302)
Recreated IR json file
2021-11-03 10:45:01 -04:00
866aa798e2 Update deps (#1301) 2021-11-01 16:10:29 -04:00
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
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
186e139bbe Update dependencies (#1294) 2021-10-26 12:09:34 -04:00
2e21973ddf Disable TXT splitting with OVH provider (#1291) 2021-10-17 09:52:17 -06:00
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
e94487bd07 Do not test workers in CI yet (#1289) 2021-10-13 13:54:39 -04:00
5bffef9afc Add empty circleci config (#1286) 2021-10-11 18:32:06 -04: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
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
eef8c25a95 Upgrade otto to 20210927222213 (#1279)
* Update deps

* Upgrade otto 20210614181706 -> 20210927222213
2021-10-03 17:52:39 -04:00
79d3552312 Update deps (#1278) 2021-10-03 17:23:48 -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
413d5a15c3 Implement job concurrency on build (#1281)
This should prevent builds from interacting with each other thereby keeping builds from failing when 2 provider tests happen at the same time.
2021-10-03 16:17:18 -04:00
e7c4494825 improve releng docs (#1253) 2021-10-03 15:41:46 -04:00
d8941a04bc CLOUDFLARE: Use cloudflare-go (#1267)
* First pass at moving to cloudflare-go vs hand made implementation of cloudflare's API

* Final changes to use cloudflare-go

* Fix for proxy configuration failing

Forgot to set the ID when we created a new records.  This didn't fail in the integrations tests so I missed it.

* Add integration test

To prevent something like what I did from happening in the future.

* Fix bad messaging
2021-09-30 07:09:42 -04:00
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
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
0f0c4e06bd Release v3.12.0 (#1252) 2021-09-09 16:57:40 -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
0bf229e36d Update dependencies (#1249) 2021-09-02 10:44:24 -04:00
466da65aa7 Bump bruceadams/get-release from 1.2.2 to 1.2.3 (#1244)
Bumps [bruceadams/get-release](https://github.com/bruceadams/get-release) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/bruceadams/get-release/releases)
- [Commits](https://github.com/bruceadams/get-release/compare/v1.2.2...v1.2.3)

---
updated-dependencies:
- dependency-name: bruceadams/get-release
  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-08-30 16:30:46 -04:00
f0026b8073 Revert "INWX: fix apex domains (#1221)" (#1242)
This reverts commit f63302b978055571ad6898a61ce4d0cb3a4d8017.
2021-08-29 19:35:25 -04:00
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
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
fd6478a8ab update deps (#1231) 2021-08-05 15:06:44 -04:00
19769da229 update deps (#1228) 2021-08-05 14:46:05 -04:00
3263af9a1a Bump github.com/PuerkitoBio/goquery from 1.7.0 to 1.7.1 (#1226)
Bumps [github.com/PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/PuerkitoBio/goquery/releases)
- [Commits](https://github.com/PuerkitoBio/goquery/compare/v1.7.0...v1.7.1)

---
updated-dependencies:
- dependency-name: github.com/PuerkitoBio/goquery
  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-08-05 11:41:51 -04:00
6fc3534aa3 Add INCLUDE statement to include records from other domains (#1219) 2021-07-25 12:03:58 -04:00
243762d171 SPF Flatten for non apex domains (#1220) 2021-07-25 11:53:31 -04:00
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