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

504 Commits

Author SHA1 Message Date
Nicolas Lorin
2898fbad72 VULTR: use API v2 (#1768) 2022-10-12 18:17:15 -04:00
Amelia Aronsohn
1c726a08ad DNSimple: Update to 1.0.0 Client & expose error attributes (#1756) 2022-09-23 11:55:09 -04:00
Predrag Janosevic
128e075066 EXOSCALE: Migrate to v2 API (#1748)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-09-14 14:58:55 -04:00
Brian Hartvigsen
49590df8bf DIGITALOCEAN: semicolon as CAA target is now supported (#1749) 2022-09-14 07:18:53 -04:00
Tom Limoncelli
3743c7de03 Bump cloudflare/cloudflare-go from 0.46 to 0.49 (#1746)
Co-authored-by: Brian Hartvigsen <brian.andrew@brianandjenny.com>
2022-09-12 08:58:44 -04:00
Tom Limoncelli
61e500b7dc DEV: Optimize integration tests (#1742) 2022-09-07 14:08:06 -04:00
Srdjan Markovic
639a4473d7 DESEC: Check authentication via domains API (#1723)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-08-27 09:02:51 -04:00
Tom Limoncelli
d907cdd2c2 CHORE: gofmt (#1727) 2022-08-20 20:42:16 -04:00
Simen Bai
0d9bdc2ddc DOMAINNAMESHOP: Domainnameshop documentation update (#1726)
Co-authored-by: Simen Bai <git@simenbai.no>
2022-08-20 00:51:25 -04:00
Tom Limoncelli
b2af4332f1 MSDNS: MSDNS auto-disable message is now more accurate (#1719)
[skip ci]
2022-08-16 18:09:54 -04:00
Tom Limoncelli
d1a63abc0d CLOUDFLARE: Increase retry limits (#1713)
* change policy to 20, 1, 120 (20 retries, min delay 1 sec, max delay 2 minutes)
2022-08-15 18:30:21 -04:00
Tom Limoncelli
1010138fb6 gofmt -s -w 2022-08-14 20:49:57 -04:00
Tom Limoncelli
ccb582b278 CHORE: Linting (#1704)
* Remove deprecated io/ioutil
* fixup!
* staticcheck and linting
* revert models/provider.go
* Fix imports to new style
* linting
2022-08-14 20:46:56 -04:00
Tom Limoncelli
cd61c2c766 CHORE: Remove deprecated io/ioutil (#1699)
* Remove deprecated io/ioutil

* fixup!

* fixup!
2022-08-14 12:50:15 -04:00
Vatsalya Goel
5e8bb6e461 AZURE_DNS: Adopt new "armdns" SDK (#1701)
* Switch to the new Azure sdk for go

* use codeql 1.18 as 1.17 doesn't work with azidentity

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-08-14 07:42:41 -04:00
Tom Limoncelli
09a53b4d68 CLOUDFLAREAPI: Clarify source of error in message (#1700) 2022-08-14 07:33:05 -04:00
Tom Limoncelli
31723ad146 PERFORMANCE: Refactor auditrecords.go to loop only once #1570 (#1658)
* stash

* Use rejectif idea

* rename

* wip!

* Convert old systems to new

* fixup!

* fix typo
2022-08-11 17:24:47 -04:00
Tom Limoncelli
d6f1575ae5 BUG: MSDNS and CSCGLOBAL get records twice (#1688) 2022-08-11 15:40:13 -04:00
Tom Limoncelli
83a4b6a2f4 Remove ACTIVEDIRECTORY_PS (#1680) 2022-08-11 13:15:19 -04:00
Tom Limoncelli
f24c250c46 CLOUDFLARE: Error messages should indicate which cred entry (#1690) 2022-08-11 13:10:06 -04:00
Costas Drogos
dbfd2b7cb4 ns1: workaround an issue with ns1 API (#1671)
NS1 api returns a different message these days, which breaks error handling.

Until a fix is merged upstream, work around the issue by attempting to match the
stray error ourselves.

relates to #1667.
2022-08-09 16:29:54 -04:00
Tom Limoncelli
eba4155cb9 CSCGLOBAL: Improve performance by waiting less (#1669)
* Fix broken test
* Revert to the slow+safe CSC algorithm
* Instead of waiting for COMPLETED, wait for PROPAGATING to begin.
* improve error messages
* cleanup
2022-08-09 10:00:03 -04:00
Tom Limoncelli
ec8bfe4b6d CSCGLOBAL: Use slow and safe algorithm (#1663)
* Fix broken test

* CLOUDFLARE: Fix missing nameserver bug

* CSCGLOBAL: Catch more status states

* wip!

* remove extra print

* Revert to the slow+safe CSC algorithm
2022-08-08 13:23:47 -04:00
Tom Limoncelli
dd3416674f CLOUDFLARE: Fix domain list cache error (#1662)
* Fix broken test

* CLOUDFLARE: Fix missing nameserver bug

* CSCGLOBAL: Catch more status states

* wip!

* remove extra print
2022-08-08 13:00:58 -04:00
Jeffrey Cafferata
1b3471835c TRANSIP: Enable ALIAS-record (#1661)
- https://www.transip.nl/nieuws/alias-records/
2022-08-08 08:35:09 -04:00
MisterErwin
7865e37c8f Add RWTH provider (#1629)
* Add RWTH provider

* fix Owners order

* Reorganize RWTH Provider

* Fix staticcheck and code style issues

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-08-04 14:40:27 -04:00
Jakob Ackermann
a00572af4a Create zone before use (#1642)
* preview/push: ensure zones exists before querying them

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* HETZNER: reset zone cache when creating a new zone

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* ROUTE53: reset zone cache when creating a new zone

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-08-01 14:44:17 -04:00
Simen Bai
e9510da434 Domainnameshop provider (#1625)
* Added basic structure for domain name shop

* Finished proof of concept for domainnameshop

* Fixed handeling of IDNA for CNAME records

* Updated documentation notes

* Added docs

* Ran linter and vet

* Removed proxy config used for debugging

* Ran go generate

* Fixed issue with TTLs being restricted to a multiple of 60

* Ran tests, vet and linting and fixed flaws

* Fixed typo in docs

* Improved code based on feedback

* Fixed issues with TXT records not working properly

* Refactored according to new file layout proposed

* Updated documentation matrix

* Suggestions and corrections

* Corrected according to suggestions

Co-authored-by: Simen Bai <git@simenbai.no>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-08-01 12:01:37 -04:00
Amelia Aronsohn
befb52be86 DNSIMPLE: Fix TXT Handling, Second Edition (#1624)
* Fix typo and add sandbox information

* Use SetTargetTXT in GetZoneRecords

This fixes the behavior documented in #1622

Also apply cleanup to GetZoneRecords

* Remove SetTargetTXT, does not work in all tests

* Set The most correct TXT handling

* Well, There's your problem

* Add an audit and test for unpaired quotes

* Add some commentary

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-07-22 09:36:28 -04:00
Tom Limoncelli
15e6c95042 CSCGLOBAL: Lazy-check API results, saving 5-7 minutes per domain (#1638) 2022-07-21 14:35:37 -04:00
Tom Limoncelli
b2bef175e0 GANDI_V5: better error handling (#1639)
* GANDI_V5: better error handling

* use newer parsers

* fixup!
2022-07-21 14:30:26 -04:00
Tom Limoncelli
4d768afc3d CSCGLOBAL: Support TXT records that are long or include double-quotes (#1631)
* Remove TXT restrictions around length

* Improve get-zones "js" format.

New:

```
$ dnscontrol get-zone --format js providercredkey - stackoverflow.co.il
var DSP_PROVIDERCREDKEY = NewDnsProvider("providercredkey");
var REG_CHANGEME = NewRegistrar("none");
D("stackoverflow.co.il", REG_CHANGEME,
	DnsProvider(DSP_PROVIDERCREDKEY),
	DefaultTTL(14400),
	A('www', '165.160.15.20'),
	...
	...
	...
	...
	//NAMESERVER('dns1.cscdns.net.'),
	//NAMESERVER('dns2.cscdns.net.')
)
```

* Update test data
2022-07-19 17:48:15 -04:00
Tom Limoncelli
c7d3667d87 NAMEDOTCOM: Better estimate TXT length restrictions (#1627) 2022-07-18 10:30:19 -04:00
Tom Limoncelli
a0a917266f MSDNS: Add missing newline to PS warning (#1614) 2022-07-12 14:48:01 -04:00
Amelia Aronsohn
b0d80ae498 DNSIMPLE: do not support unpaired double quotes in TXT (#1610)
* DNSIMPLE: do not support unpaired double quotes in TXT

DNSimple supports multiple double-quotes strings in a TXT record, but does not correctly support unpaired or escaped double-quotes currently.

IE the following are valid
```
asdf
"asdf"
"asdf" "asdf"
!@#$ %^&*()([][{}{<></'`:;-_=+\
```

however `as\"df` and `as"df` are not

This removes the extra string processing in getTargetRecordPriority as all tests pass without it and currently only double-quotes cause problems in our TXT validations.

I added another test to prove additional quoting is not needed. We can remove it if undesired.

Also applied small lint changes to make my editor happy.

* Use backticks to prevent escaping

* Set TXT target record content to GetTargetRFC1035Quoted()

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-07-11 14:52:18 -04:00
Amelia Aronsohn
72ae22fd54 DNSIMPLE: do not support DS records (#1608)
DNSimple does not support adding your own DS records at this time.

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-07-09 01:12:46 -04:00
Markus Enander
0f04639891 Enable ADC for Gcloud provider (#1583)
Fallback to using Application Default Credentials if no
private_key is available in the creds.json-file.

This allows usage with various short lived credentials, for example
GCE-instances, gcloud auth application-default login, OIDC Workload
Identity etc

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-07-05 15:53:51 -04:00
Jan-Philipp Benecke
e9bf00f581 POWERDNS: Cleanup and fix parsing of TXT records (#1569)
* POWERDNS: Cleanup and fix parsing of TXT records

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Add unit tests for convert functions

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2022-06-20 14:35:13 -04:00
Jan-Philipp Benecke
e5de7b5359 MAINT: Restructuring of the PowerDNS DSP based on the layout of CSCGlobal (#1549)
* Restructure PowerDNS DSP based on layout for CSCGlobal

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Rename api to dsp and make initializer function private

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-06-20 12:27:05 -04:00
Tom Limoncelli
959f721c04 MAINT: Update TXT docs, suggest not using TxtNoLen255 (#1548)
* suggest not using TxtNoLen255

* Rename functions

* wip!

* fixing!
2022-06-20 11:34:05 -04:00
Tom Limoncelli
dad4115a55 CLOUDFLAREAPI: Fix TXT quoting bug (#1543)
* Cleanup

* wip!

* Fix cloudflare quote bug

* wip!

* cleanup

* go generate
2022-06-18 09:58:55 -04:00
Jan-Philipp Benecke
bcb968411a MAINT: Unify provider outputs to pkg/printer (#1546)
* Unify provider outputs to pkg/printer

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* No need for custom Errorf

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Add missing import for activedir

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Add missing fmt import for activedir

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2022-06-18 09:01:02 -04:00
Jan-Philipp Benecke
ba2c7f9c0e MAINT: Enforcing formatted code (#1544)
* Enforcing formatted code

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Show lines

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Run check after deps are installed

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2022-06-18 08:56:04 -04:00
Tom Limoncelli
cbf5ebd64c CLOUDFLAREAPI: Fix quoted TXT bug (#1538)
* Cleanup

* add GetTargetQuotedRFC1038

* wip!

* The RFC is 1035
2022-06-16 17:16:29 -04:00
Tom Limoncelli
cc0fecf1f7 Revert "CLOUDFLAREAPI: Fix TXT records with quotes"
This reverts commit c3f52d228a.
2022-06-16 15:21:45 -04:00
Tom Limoncelli
c3f52d228a CLOUDFLAREAPI: Fix TXT records with quotes 2022-06-16 15:19:44 -04:00
Tom Limoncelli
7826c23cfa CSCGLOBAL: Enable CAA records (#1536)
* Enable CAA

* Another API oddity

* Disable debug output
2022-06-14 07:16:01 -04:00
Tom Limoncelli
752e25471d NEW PROVIDER: CSCGLOBAL as DNS Service Provider (#1516)
* Move the registrar features to a separate file

* Prepare the testing framework

* Roughed out functions

* Fix up structs

* WIP!

* First tests pass

* wip!

* Flesh out remaining rTypes, get nameservers, etc

* Fix TXT records

* Clean up code

* More cleanups. Fix CAA/SRV

* Linting

* Cleanups/linting

* Fix CAA [more] and more cleanups

* CSC does not like very long txt records

* Use timer only when interactive

* Disable CAA for now

* Update docs

* Remove debug printf

* add go-isatty

* cleanups
2022-06-12 16:01:08 -04:00
Jan-Philipp Benecke
60324bc4f5 CLOUDFLAREAPI: FIX: Preventing segfault when Cloudflare API limit is reached (#1530)
* Preventing segfault when Cloudflare API limit is reached

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Add comment for future me

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2022-06-09 11:26:46 -04:00
Jan-Philipp Benecke
c0450223c2 Create non-existing zones while push or print warning while preview (#1528)
* Create non-existing zones while push. While preview print a warning

Signed-off-by: Jan-Philipp Benecke <jan-philipp.benecke@jpbe.de>

* Ooops, remove testing lines

Signed-off-by: Jan-Philipp Benecke <jan-philipp.benecke@jpbe.de>

* Renaming flag

Signed-off-by: Jan-Philipp Benecke <jan-philipp.benecke@jpbe.de>

* Change flag description

Signed-off-by: Jan-Philipp Benecke <jan-philipp.benecke@jpbe.de>

* Reverse flag logic

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2022-06-08 14:53:16 -04:00