Commit graph

110 commits

Author SHA1 Message Date
Tom Limoncelli
bb79c70708
CHORE: update deps (#2927) 2024-05-01 18:50:15 -04:00
Tom Limoncelli
a9a4725356
BUG: ALIAS target not properly canonicalized (#2899) 2024-04-01 16:47:11 -04:00
Tom Limoncelli
68c5e87c89
NEW FEATURE: Gather data for providers concurrently (#2873) 2024-03-27 13:54:36 -04:00
Tom Limoncelli
4765f402bd
FEATURE: New capability: Can provider run concurrently (#2876) 2024-03-20 12:36:54 -04:00
Tom Limoncelli
e52ec54453
Remove unused CantUseNOPURGE capability (#2877) 2024-03-18 18:30:09 -04:00
Tom Limoncelli
c0d8ca7a18 deadcode: move createTestWorker 2024-03-03 15:42:49 -05:00
xtex
73c303bf76
CLOUDFLAREAPI: Permit adding NS records to apex domain (#2864) 2024-03-03 10:12:13 -05:00
Jan-Philipp Benecke
dbb724b911
CLOUDFLARE: Fixed bug: Zone not populated with records if domain was created in the same run (#2690)
Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2023-12-05 16:50:25 -05:00
Tom Limoncelli
c91fe6c1c8
CHORE: Remove diff1 from codebase (#2575) 2023-10-22 13:56:13 -04:00
Tom Limoncelli
c01fb2d40b
Update Deps, fix staticcheck and golint warnings (#2558) 2023-09-15 15:30:55 -04:00
asn-iac
af91e37043
CLOUDFLAREAPI: Add NAPTR record support (#2548) 2023-09-07 16:31:34 -04:00
Tom Limoncelli
7fc80ac7cc
CLOUDFLARE: BUGFIX: Proxy=full not handled in diff2 (#2525)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-21 12:19:16 -04:00
Tom Limoncelli
56b11d0881
CLOUDFLARE: Upgrade modules/GitHub.com/cloudflare/cloudflare go 0.70.0 (#2518)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Brian Hartvigsen <brian.andrew@brianandjenny.com>
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
2023-08-17 13:07:13 -04:00
Brian Hartvigsen
5d9b82e917
CLOUDFLARE: Support unicode domains (#2466)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-08-17 11:41:52 -04:00
Hamish Moffatt
3492b26d0a
CLOUDFLAREAPI: Allow API debugging to be enabled via env variable (#2395)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-05-25 20:48:30 -04:00
nemunaire
5ae231030e
Update version in go.mod (#2382) 2023-05-20 13:21:45 -04:00
Daniil Lemenkov
36e3595612
CHORE: Satisfy Staticcheck and remove unused code (#2331) 2023-05-08 16:49:26 -04:00
Tom Limoncelli
489be2e3dc
ROUTE53: fix R53_ZONE() handling for domains (#2306)
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
2023-05-02 13:04:59 -04:00
Tom Limoncelli
60470a3886
BUG: Some DNS zones are downloaded twice (#2120)
Signed-off-by: Amelia Aronsohn <squirrel@wearing.black>
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
Co-authored-by: Grégoire Henry <hnrgrgr@users.noreply.github.com>
Co-authored-by: Amelia Aronsohn <squirrel@wearing.black>
Co-authored-by: Kai Schwarz <kschwarz@hexonet.net>
Co-authored-by: Asif Nawaz <asif.nawaz@centralnic.com>
Co-authored-by: imlonghao <git@imlonghao.com>
Co-authored-by: Will Power <1619102+willpower232@users.noreply.github.com>
2023-04-14 15:22:23 -04:00
Paul Dee
3b6591fd95
NEW FEATURE: Support DNS LOC record type (#2174) 2023-03-16 14:04:20 -04:00
Tom Limoncelli
2586e2b611
CORE: Clean up diff2 code in prep for production (#2104) 2023-02-28 01:25:09 -05:00
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
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
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
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
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