Commit graph

340 commits

Author SHA1 Message Date
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
21e85e6528
"Target" RecordConfig should not be exported (#1061)
* Unexport RecordConfig.Target
* Fix tests
* HEDNS: Fix usage of target field to resolve TXT handling (#1067)

Co-authored-by: Robert Blenkinsopp <robert@blenkinsopp.net>
2021-03-04 18:58:23 -05:00
Jan-Philipp Benecke
37b02b6540
New Feature: JS formatter and prettifier (#917)
FYI: This is an experimental feature. It depends on an external module that may not be supported in the long term.

* PoC: JS formatter
* No default value for output file
2021-03-02 15:51:27 -05:00
Tom Limoncelli
27edd04bbd
update dependencies (#1072) 2021-03-01 21:41:29 -05:00
Tom Limoncelli
a2042c2eda
NS1: Support NS1_URLFWD (#1046) 2021-02-10 11:57:15 -05:00
Tom Limoncelli
9c0092edcb
Release v3.6.0 (#1033)
* Release v3.6.0
* Update go modules
2021-01-30 09:49:22 -05:00
Nick Gregory
945ffb7e80
NEW PROVIDER: Oracle Cloud (#1021)
* feat: add Oracle provider

* fix ALIAS and NS tests

* return... else if -> return... if

* fix assignment

* remove extraneous blank lines

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-01-24 15:35:12 -05:00
Tom Limoncelli
20a726df27
go get github.com/hexonet/go-sdk (#1029) 2021-01-21 14:55:34 -05:00
Yuhui Xu
6efedd689d
New feature: FETCH() permits http gets in dnsconfig.js (#1007)
add PANIC() and error-handled FETCH()
2021-01-06 10:45:32 -05:00
Tom Limoncelli
50db086278
NEW PROVIDER: MSDNS (#1005)
* New provider
* Add support for SRV records
* Modify ACTIVEDIRECTORY_PS provider to warn that it is deprecated.
2020-12-28 16:07:33 -05:00
Tom Limoncelli
99ae7b4418
update more deps (#988)
* update all deps that i can safely do
2020-12-03 10:35:12 -05:00
Tom Limoncelli
432ec2bb85
update deps (#987)
* update deps

go get -u gopkg.in/yaml.v2
go get -u google.golang.org/api
go get -u golang.org/x/oauth2
go get -u golang.org/x/net
go get -u github.com/urfave/cli/v2
go get -u github.com/miekg/dns
go get -u github.com/digitalocean/godo
go get -u github.com/babolivier/go-doh-client
go get -u github.com/aws/aws-sdk-go
go get -u github.com/DisposaBoy/JsonConfigReader
go get -u github.com/Azure/azure-sdk-for-go

* go mod tidy
2020-12-03 10:02:15 -05:00
Sven Peter
f81260ba71
INWX: enable multi txt support (#981)
* INWX: enable MultiTXT support

* run go generate to update docs
2020-11-29 13:54:34 -05:00
Tom Limoncelli
1f471a15b9
DIGITALOCEAN: Support TXTMulti with caveats (#949)
* DIGITALOCEAN: Support TXTMulti with caveats
* go get github.com/digitalocean/godo
* DIGITALOCEAN: Enable CI tests
2020-11-18 08:22:31 -05: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
a7964652d8 go get -u github.com/aws/aws-sdk-go github.com/miekg/dns golang.org/x/net 2020-10-12 12:08:43 -04:00
Tom Limoncelli
da1cbad4ec
HEXONET: Implement get-zones, fix module problem (#898)
* VULTR: Update govultr to v1.0.0 (fixes #892) (#897)

* go get -u github.com/hexonet/go-sdk

* Fix HEXONET providers.json entry

* providers.json: json commma

* providers.json: fmtjson

* HEXONET: Implement get-zones. Fix tests and docs.

* fixup!

* Update azure test failures

* Move version info into its own package

* Use new version system
2020-10-12 11:45:44 -04:00
Tom Limoncelli
824ed2b75e
Update AWS and goquery dependencies (#899) 2020-10-08 16:50:42 -04:00
Patrick Gaskin
26c7c356f4
VULTR: Update govultr to v1.0.0 (fixes #892) (#897) 2020-10-08 16:12:56 -04:00
Tom Limoncelli
2fb72ac006
go get -u github.com/robertkrimen/otto (#889) 2020-10-07 16:26:49 -04:00
Tom Limoncelli
43537fbfd8 Update dependencies 2020-10-07 16:23:42 -04:00
Tom Limoncelli
678540cfdd
GANDI_V5: Use github.com/go-gandi/go-gandi, not github.com/tiramiseb/go-gandi (#883) 2020-10-02 13:53:03 -04:00
Jan-Philipp Benecke
52c50c88b3
PowerDNS: Implemented AUTODNSSEC (#856)
* PowerDNS: Implemented AUTODNSSEC
2020-09-17 08:46:15 -04:00
Tom Limoncelli
9554332ef5 Update dependencies 2020-09-04 16:29:57 -04:00
Tom Limoncelli
4432d38252
go get -u github.com/miekg/dns v1.1.31 (#846) 2020-09-04 16:26:56 -04:00
Mike Cochrane
d6f3f401a5
NEW PROVIDER: DOH: Read-only Registrar that validates NS records (#840) 2020-09-04 10:22:41 -04:00
Tom Limoncelli
2f02deb0b0
Update dependencies (#838)
* Update dependencies

go get -u github.com/Azure/azure-sdk-for-go
go get -u github.com/Azure/go-autorest/autorest/azure/auth
go get -u github.com/aws/aws-sdk-go
go get -u golang.org/x/net
go get -u google.golang.org/api

* go tidy
2020-08-30 20:52:56 -04:00
Tom Limoncelli
de308c0952
Lint: Fix ST1005: error strings should not be capitalized (#834) 2020-08-30 19:52:37 -04:00
Robert Blenkinsopp
74dd34443a
NEW PROVIDER: HEDNS: Hurricane Electric DNS (dns.he.net) (#822)
* Add initial dns.he.net provider support

* Update to new IncrementalDiff interface

* Fix ListZones output for `all` query on `get-zones`

* Refactor authentication code for 2FA with better error checking

* Fix integration test and refactor zone record retrieval

* Add option to use `.hedns-session` file to store sessions between runs

* Add comment on `session-file-path`

* Add integration test for TXT records longer than 255 characters

* Add additional checks for expected responses, and better 2FA error checking

* Minor documentation changes

* Revert "Add integration test for TXT records longer than 255 characters"

This reverts commit 657272db

* Add note on provider fragility due to parsing the web-interface

* Resolve go lint issues

* Clarify security warnings in documentation
2020-08-26 13:38:28 -04:00
Sven Peter
f88c60a8f3
New provider: INWX (#808)
* adds initial support for INWX

* adds all features to the INWX provider

* allows domain for tests in creds.json for INWX

* runs go generate to update docs for INWX

* fixes formatting with gofmt

* changes goinwx to github.com/nrdcg/goinwx v0.8.0

* simplifies inwx sandbox check

* changes inwx unknown key error to a warning

* adds models.PostProcessRecords for inwx records

* replaces strings.TrimRight with [:-1] to remove final dot for inwx

* adds a comment about the domain creds.json key for the inwx provider

* removes warning for invalid creds.json keys in the inwx provider

* adds TOTP calculation support for inwx

* adds comments to inwxProvider

* improves INWX error messages

* adds additional documentation about the TOTP support for INWX

* adds inwx documentation

* bumps goinwx to 0.8.1 to fix the inwx API
2020-08-17 08:45:44 -04:00
Tom Limoncelli
541bb805da
linting (#777) 2020-07-06 20:18:24 -04:00
Tom Limoncelli
4979f2938b go get -u github.com/Azure/go-autorest/autorest/to 2020-06-26 12:53:39 -04:00
Tom Limoncelli
02b847b333 go get -u github.com/Azure/go-autorest/autorest/azure/auth 2020-06-26 12:53:21 -04:00
Tom Limoncelli
c178409f53 go get -u github.com/Azure/azure-sdk-for-go 2020-06-26 12:52:55 -04:00
Tom Limoncelli
785e6d7dc7 go get -u github.com/aws/aws-sdk-go 2020-06-26 12:52:05 -04:00
Tom Limoncelli
5012021890 go get -u google.golang.org/api 2020-06-26 12:51:32 -04:00
Tom Limoncelli
67b3d9f98d go get -u github.com/TomOnTime/utfutil 2020-06-26 12:51:13 -04:00
Tom Limoncelli
c0f4f1247d go get -u golang.org/x/net 2020-06-26 12:50:56 -04:00
Tom Limoncelli
505062b628
update AWS/GDNS/Azure deps (#768) 2020-06-18 13:59:17 -04:00
Tom Limoncelli
12e9d2bdd5
Update dependencies (#763)
* gcloud natively supports records of type DS

* doc fix: CanUseDs -> CanUseDS capitalisation fix

* Update github.com/stretchr/testify golang.org/x/tools google.golang.org/api gopkg.in/yaml.v3

Co-authored-by: Matthew Huxtable <matthew.huxtable@sparx.co.uk>
2020-06-09 14:00:20 -04:00
Tom Limoncelli
f884e7615f go mod tidy 2020-06-02 07:01:09 -04:00
Tom Limoncelli
1d263c4dd6 Vendor github.com/mittwald/go-powerdns 2020-06-02 06:53:41 -04:00
Tom Limoncelli
87a5c4b339
New RTYPE: DS records now supported! (#753)
Thanks to @haraldkoch for starting this, @McNetic for picking it up.

* Added DS record type

* Added DS for cloudflare provider with tests

* Removed DS validation, fixed parse test

* Added generated files

* Added dnsimple ds record

* Regenerated documentation matrix

* rebased and regenerated

* Updated integration tests

* Rebase and regenerate

* Enable DS record type for provider desec

* Added DS record type

* Added DS for cloudflare provider with tests

* Removed DS validation, fixed parse test

* Added generated files

* Added dnsimple ds record

* Regenerated documentation matrix

* rebased and regenerated

* Updated integration tests

* Rebase and regenerate

* Enable DS record type for provider desec

* Rebase and fixes

Co-authored-by: Robert Koch <robert@kochie.io>
Co-authored-by: Nicolai Ehemann <nicolai.ehemann@enerko-informatik.de>
2020-05-30 10:40:21 -04:00
Tom Limoncelli
0f0384c07c go get -u github.com/aws/aws-sdk-go 2020-05-30 10:10:18 -04:00
Tom Limoncelli
380524e81a go get -u github.com/stretchr/testify 2020-05-30 10:08:38 -04:00
Tom Limoncelli
1fdf401f30 go get -u golang.org/x/net 2020-05-30 10:05:40 -04:00
Jan-Philipp Benecke
ffd4e46dda
New DNS provider PowerDNS (#748)
* Added PowerDNS as dns provider

* Remove unnecessary comments

* Some tests

* Implemented feedback
2020-05-30 09:54:07 -04:00
Tom Limoncelli
4ef4b9282a GCLOUD: go get -u google.golang.org/api 2020-05-23 10:18:28 -04:00
Tom Limoncelli
8d37020e30 DIGITALOCEAN: go get -u github.com/digitalocean/godo 2020-05-23 10:15:05 -04:00
Tom Limoncelli
4c40130951 ROUTE53: go get -u github.com/aws/aws-sdk-go 2020-05-23 10:12:48 -04:00