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

107 Commits

Author SHA1 Message Date
Yannik Sembritzki
5e06c249d6 Rename DomainCreator to the more accurate ZoneCreator (#2038)
Co-authored-by: Yannik Sembritzki <yannik@sembritzki.org>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-02-07 07:22:49 -05:00
Tom Limoncelli
e1ce6ff34f CLOUDFLARE: Adopt diff2 (#2040) 2023-02-01 16:18:01 -05:00
Tom Limoncelli
a136621052 Improve warnings related to _ and TTLs (#1989) 2023-01-28 11:10:02 -05:00
momoterraw
bb88b7c4b0 CLOUDFLARE: sometime ago they bump down the min ttl to 60 second (#1988) 2023-01-27 08:15:22 -05:00
Tom Limoncelli
9bb38c4526 CHORE: Remove references to TXTMulti (#1953) 2023-01-18 11:45:36 -05:00
Tom Limoncelli
54fc2e9ce3 NEW FEATURE: diff2: A better "diff" mechanism (#1852) 2022-12-11 17:28:58 -05:00
Tom Limoncelli
b0f2945510 REFACTOR: Add diff2 enable flag to all DNS providers (#1851)
This should enable the diff2 code to be inserted with good "git blame" results for new code.  I'm adding this early to catch any problems early.
2022-12-11 15:02:58 -05:00
Jeffrey Cafferata
b66af29aec BUG: Re-introducing the cloudflare/cloudflare-go import (#1795)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-10-31 07:02:30 -04:00
Tom Limoncelli
1aca045d5b DOCS: Fix many small typos (#1794)
Co-authored-by: Jeffrey Cafferata <jeffrey@jcid.nl>
2022-10-30 13:56:45 -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
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
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
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
f24c250c46 CLOUDFLARE: Error messages should indicate which cred entry (#1690) 2022-08-11 13:10:06 -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
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
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
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
adrian-hoasted
013a059dc7 CLOUDFLARE: Add support for PTR records (#1496) 2022-05-03 06:07:49 -04:00
Tom Limoncelli
4d125fca5f Guard against nil (#1452) 2022-03-09 15:20:45 -05:00
Tom Limoncelli
619487738f CLOUDFLARE: Bug: crash when SRV is missing target (#1437)
* CLOUDFLARE: Bug: crash when SRV is missing target

* fixup!
2022-03-03 16:53:54 -05:00
Tom Limoncelli
444b893e1b MAINT: Sort various lists (#1433)
* maint: sort lists in build/generate/featureMatrix.go

* maint: sort lists in docs/byo-secrets.md

* maint: sort lists in models/record.go

* maint: sort lists in pkg/normalize/validate.go

* maint: sort lists in providers/activedir/activedirProvider.go

* maint: sort lists in providers/akamaiedgedns/akamaiEdgeDnsProvider.go

* maint: sort lists in providers/axfrddns/axfrddnsProvider.go

* maint: sort lists in providers/azuredns/azureDnsProvider.go

* maint: sort lists in providers/cloudflare/cloudflareProvider.go

* maint: sort lists in providers/cloudns/cloudnsProvider.go

* maint: sort lists in providers/desec/desecProvider.go

* maint: sort lists in providers/digitalocean/digitaloceanProvider.go

* maint: sort lists in providers/dnsimple/dnsimpleProvider.go

* maint: sort lists in providers/dnsmadeeasy/dnsMadeEasyProvider.go

* maint: sort lists in providers/exoscale/exoscaleProvider.go

* maint: sort lists in providers/gandiv5/gandi_v5Provider.go

* maint: sort lists in providers/hedns/hednsProvider.go

* maint: sort lists in providers/hetzner/hetznerProvider.go

* maint: sort lists in providers/hexonet/hexonetProvider.go

* maint: sort lists in providers/inwx/inwxProvider.go

* maint: sort lists in providers/linode/linodeProvider.go

* maint: sort lists in providers/namecheap/namecheapProvider.go

* maint: sort lists in providers/namedotcom/namedotcomProvider.go

* maint: sort lists in providers/netcup/netcupProvider.go

* maint: sort lists in providers/ns1/ns1Provider.go

* maint: sort lists in providers/octodns/octodnsProvider.go

* maint: sort lists in providers/oracle/oracleProvider.go

* maint: sort lists in providers/ovh/ovhProvider.go

* maint: sort lists in providers/packetframe/packetframeProvider.go

* maint: sort lists in providers/powerdns/powerdnsProvider.go

* maint: sort lists in providers/route53/route53Provider.go

* maint: sort lists in providers/vultr/vultrProvider.go

* Update go:build pragmas for windows

* More sorting

* go generate
2022-03-02 11:19:15 -05:00
Tom Limoncelli
886dbf6d00 MAINT: Make staticcheck more strict and fix new warnings (#1408)
* Make staticcheck more strict and fix new warnings
2022-02-11 14:30:45 -05:00
Tom Limoncelli
f9c4887d95 Revert "Make staticcheck more strict and fix new warnings"
This reverts commit 5c456e2513.
2022-02-11 12:14:24 -05:00
Tom Limoncelli
a70354775e Make staticcheck more strict and fix new warnings 2022-02-11 12:14:22 -05:00
Tom Limoncelli
dcb0e58b99 MAINT: Linting (#1380)
* MAINT: Linting

* Unsort for a smaller diff

* fix hexonet error checking
2022-01-27 15:58:56 -05:00
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
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
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 b55278140f (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
Brian Hartvigsen
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
Brian Hartvigsen
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
Tom Limoncelli
8d139d182f gofmt all (#1144) 2021-05-04 14:15:31 -04:00
Tom Limoncelli
e69e6f27e4 Linting (#1087)
* fix linting
* rename AuditRecordsor to RecordAuditor
* gandi_v5 to gandiv5
2021-03-08 20:14:30 -05:00
Tom Limoncelli
8dea9edc34 Re-engineer TXT records for simplicity and better compliance (#1063)
TXT records are now handled different.

1. The raw input from dnsconfig.js is passed all the way to the provider. The provider can determine if it can or can't handle such records (auditrecords.go) and processes them internally as such.
2. The CanUseTXTMulti capability is no longer needed.

* DSPs now register a table of functions
* Use audits for txt record variations
* unit tests pass. integration fails.
* fix deepcopy problem
* rename to AuditRecordSupport
* Reduce use of TXTMulti
* Remove CanUseTXTMulti
* fix Test Skip
* fix DO
* fix vultr
* fix NDC
* msdns fixes
* Fix powerdns and cloudflare
* HEDNS: Fix usage of target field to resolve TXT handling (#1067)
* Fix HEXONET

Co-authored-by: Robert Blenkinsopp <robert@blenkinsopp.net>
Co-authored-by: Jakob Ackermann <das7pad@outlook.com>
2021-03-07 13:19:22 -05:00
Tom Limoncelli
23f65163e8 CLOUDFLAREAPI: Support Punycode for CF_REDIRECT/CF_TEMP_REDIRECT (with tests) (#1026)
* CLOUDFLAREAPI: CF_REDIRECT should support Punycode
* Add tests to CF_*REDIR
* CLOUDFLARE: DS records only permitted on children
2021-01-24 16:36:23 -05:00
Tom Limoncelli
0893f74895 CLOUDFLAREAPI: Now works with PunyCode/IDNA (#1019) 2021-01-14 09:53:06 -05:00
Tom Limoncelli
063d550816 js_test.go should generate & test zonefile output too (#986)
* js_test.go: Do a zonefile test if $TESTNAME/parse_tests/{zonefile} exists.
* Add parse_tests zone files for all the tests that make sense.
* js_test.go: Addd the test datafile when displaying failures.
* 007-importTransformTTL.js: Was referring to a non-existent domain.
* 012-duration.js: Had duplicate DNS records.
* 029-dextendsub.js: Move CF-related tests to separate test.
* validate.go: Report non-existent domains as an error.
* cloudflareProvider.go: newCloudflare should not talk to the API.
2020-12-03 09:33:39 -05:00
Tom Limoncelli
096458d91c CLOUDFLAREAPI: Support TXTMulti and empty TXT targets (#978)
* CLOUDFLAREAPI: Add TXTMulti support

* CLOUDFLAREAPI: Support TXTMulti and empty TXT strings
2020-11-29 14:39:15 -05:00
Tom Limoncelli
d6b191bae4 CLOUDFLARE: get-zones now outputs "orange cloud" status (#952)
* CLOUDFLARE: get-zones now outputs "orange cloud" status
2020-11-24 10:30:21 -05:00
Tom Limoncelli
7db3741bc7 MAINTENANCE: Unknown rtypes should return errors, not a panic (#945)
* Eliminate panics related to unknown rtypes
2020-11-13 16:32:40 -05:00
Tom Limoncelli
ca30c9c34f Rename provider handles to *Provider (#914) 2020-10-26 09:25:30 -04:00
Tom Limoncelli
d56a8307f3 Be more consistent in API handle variable names (#911) 2020-10-25 12:58:43 -04:00
Tom Limoncelli
3a2b1b2f7b Internal: deps updates and linting (#905)
* Update dependencies
* writing-providers.md: Update for Go Mod, etc.
* Linting pkg/version
* s/CloudflareAPI/api/g
* s/ApiKey/APIKey/g
* s/ApiToken/APIToken/g
* s/ApiUser/APIUser/g
2020-10-18 14:04:50 -04:00
Tom Limoncelli
b6fd4dffd7 Cleanups: Fix many issues reported by staticcheck.io (#837)
* Lint: Fix ST1005: error strings should not be capitalized

* Cleanup: Fix a lot of staticcheck.io warnings
2020-08-30 20:38:08 -04:00
Tom Limoncelli
de308c0952 Lint: Fix ST1005: error strings should not be capitalized (#834) 2020-08-30 19:52:37 -04:00