Commit graph

31 commits

Author SHA1 Message Date
Costas Drogos
df7553aa62
ns1: fix multivalue CAA handling (#1404)
* ns1: fix multivalue CAA handling

Introducing better multivalue support for the CAA entry broke CAA support
for ns1, failing the relevant test.

Improve the code touching CAA in either side, so that it can handle
multivalue, quoted, CAA entries.

* ns1: use native CAA record parser for CAA

instead of using PopulateFromString.

* ns1: remove panics

Remove panics and bubble-up errors.

* ns1: in case of errors, return nil data

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-02-10 14:22:59 -05:00
Norman
263c6b7290
NS1: Enable get-zones (#1373)
Refactor code to get zones from NS1 API into GetZonesRecords function to
enable get-zones
2022-01-19 13:58:21 -05:00
Tom Limoncelli
d4956c225c
NS1: Rename ns1provider.go to ns1Provider.go (#1350) 2021-12-26 13:11:59 -05:00
Costas Drogos
ce9005c7a8
ns1: Implement EnsureDomainExists (#1157)
API support is there, let's use it.

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-14 14:39:09 -04:00
Costas Drogos
9497a988ea
Enable support for CAA in ns1 (#1150)
* Enable support for CAA in ns1

NS1 rest already supports it, enable the capability and handle CAA.

* ns1: sort capabilities

more readable

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-11 16:35:28 -04:00
Costas Drogos
d8146a4a19
NS1: fix ALIAS handling (#1154)
A bug was introduced in a2042c2eda, which stoped ALIAS records
from setting their record type correctly (it was set to nil).

Specifically, case "ALIAS" doesn't fall through to any of the other cases
below, leading ALIAS records to set their type to nil.

To fix that, readd the code that got absorbed by the URLFWD in a2042c2eda.
2021-05-11 15:52:27 -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
a2042c2eda
NS1: Support NS1_URLFWD (#1046) 2021-02-10 11:57:15 -05:00
Mike Cochrane
59747a96f0
Cleanup: Bubble errors up from diff instead of panic (#799) (#817) 2020-08-20 15:49:00 -04:00
Max Ratmeyer
644ba70e87
Fixed MX records on NS1 (#783) 2020-07-14 08:33:21 -04:00
Max Ratmeyer
f12cd58d1f
NS1: Revert enabling TXTMulti (#782)
Co-authored-by: Max Ratmeyer <maxratmeyer@Maxs-MacBook-Pro.local>
2020-07-10 07:08:03 -04:00
Max Ratmeyer
f7d39b578a
NS1: Added support for ALIAS, PTR, and TXTMuli (#776) 2020-07-06 20:29:25 -04:00
Tom Limoncelli
676d98fc4a
Linting (#767)
What could possibly go wrong?
2020-06-18 09:37:57 -04:00
Tom Limoncelli
24b7d0641e Update github.com/StackExchange/dnscontrol/v2 2020-04-14 16:49:03 -04:00
Tom Limoncelli
45f36ffd12
Fix #491 for BIND, HEXONET, LINODE, NAMECHEAP, NS1, OPENSRS, SOFTLAYER, VULTR (#710)
* BIND: issues/491

* HEXONET: Fixe #491

* LINODE: Fix #491

* NAMECHEAP: Fix #491

* NS1: Fix #491

* OPENSRS: Fix #491

* SOFTLAYER: Fix #491

* VULTR: Fix #491
2020-03-26 09:59:59 -04:00
Tom Limoncelli
24484f1e0c
move providers/diff to pkg/diff like we should have 2 years ago (#692)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-03-10 16:35:43 -04:00
Tom Limoncelli
87ad01d194
Add "get-zone" command (#613)
* Add GetZoneRecords to DNSProvider interface
* dnscontrol now uses ufave/cli/v2
* NEW: get-zones.md
* HasRecordTypeName should be a method on models.Records not models.DomainConfig
* Implement BIND's GetZoneRecords
* new WriteZoneFile implemented
* go mod vendor
* Update docs to use get-zone instead of convertzone
* Add CanGetZone capability and update all providers.
* Get all zones for a provider at once (#626)
* implement GetZoneRecords for cloudflare
* munge cloudflare ttls
* Implement GetZoneRecords for cloudflare (#625)

Co-authored-by: Craig Peterson <192540+captncraig@users.noreply.github.com>
2020-02-18 08:59:18 -05:00
Patrick Gaskin
825ba2d081 Switch to Go 1.13 error wrapping (#604)
* Replaced errors.Wrap with fmt.Errorf (#589)

* Find:    errors\.Wrap\(([^,]+),\s+(["`][^"`]*)(["`])\)
  Replace: fmt.Errorf($2: %w$3, $1)

* Replaced errors.Wrapf with fmt.Errorf (#589)

* Find:    errors\.Wrapf\(([^,]+),\s+(["`][^"`]*)(["`])\)
  Replace: fmt.Errorf($2: %w$3, $1)
* Find:    errors\.Wrapf\(([^,]+),\s+(["`][^"`]*)(["`])(,[^)]+)\)
* Replace: fmt.Errorf($2: %w$3$4, $1)

* Replaced errors.Errorf with fmt.Errorf (#589)

* Find:    errors\.Errorf
  Replace: fmt.Errorf

* Cleaned up remaining imports

* Cleanup

* Regenerate provider support matrix

This was broken by #533 ... and it's now the third time this has been missed.
2020-01-28 11:06:56 -05:00
Patrick Gaskin
2f83aa9302 Internals: Switch to v2 go.mod, drop GOPATH, and fix Azure Pipelines (#595)
* Switched to v2 go.mod

Also set GO111MODULE=on in build stuff to always use Go modules
even when in GOPATH.

* Ensure go.mod, go.sum, and vendor are up to date

* Attempt to fix Azure pipelines

* Add set -e to properly fail on exit (it didn't seem to be
  propagating properly before).
* Set workingDirectory for GoFmt and GoGen (this might be why it
  fails unlike compile and unitests).

* Another attempt to fix Azure Pipelines

* Use the Go env template for all go-related jobs.

* Completely fixed Azure Pipelines

* Added a display name to GoFmt for consistency.
* Fixed diffs for GoFmt and GoGen.
* Show git status for checks.

* Drop GOPATH for tests

TODO: Do the same for integration tests.

* Drop GOPATH for integration tests

* Show more diffs

* Regenerate provider support matrix

This wasn't done in #590...
2020-01-28 10:42:31 -05:00
Tom Limoncelli
f6ce421fdd
NEW PROVIDER: GANDI_V5 (deprecates GANDI) (#572)
* GANDI_v5: Add Registrar support
* Add GANDI deprecation warning
* vendor github.com/tiramiseb/go-gandi
2020-01-20 14:13:32 -05:00
Craig Peterson
d006f62f8f make sure key/value grouping always uses fqdn 2018-09-07 13:46:44 -04:00
Tom Limoncelli
de4455942b
Refactor RecordConfig: Add getters/setters (#314)
* Replace RecordConfig.Name and .NameFQDN with getters and setters.
* Replace RecordConfig.Target with getters and setters.
* Eliminate the CombinedTarget concept.
* Add RecordConfig.PopulateFromString to reduce code in all providers.
* encode and decode name.com txt records (#315)
* Replace fmt.Errorf with errors.Errorf
2018-02-15 12:02:50 -05:00
Tom Limoncelli
4b1dc82c9b
Switch from fmt.Error* to errors.Error* (#317) 2018-02-05 16:17:20 -05:00
Tom Limoncelli
de88bfe8b7
Add support for TXT records with multiple strings (BIND, ROUTE53) (#293)
* BIND: Support TXT records with multiple strings (#289)
* ROUTE53: Add support for TXT records with multiple strings (#292)
2018-01-04 19:19:35 -05:00
Daniel Schmitz
f5bfcd0d6e NS1: Add SRV record support (#277)
* NS1 SRV record support
* Updated feature matrix
2017-11-29 07:57:35 -05:00
Tom Limoncelli
2d51cd57ed
NS1: TXT records are broken if they contain spaces (#270)
* Integration tests: Add simple TXT tests.
* NS1: Fix bug in TXT record handling.
2017-11-20 08:53:44 -05:00
Tom Limoncelli
e7472f76f3 Downcase DNS names (#253)
* Downcase DNS names
* Document opinions
2017-11-07 14:12:17 -08:00
Craig Peterson
3a90435357 Create a dynamic provider features matrix (#201)
* adding simple provider feature matrix generator

* filling out matrix

* clean output

* dead code

* explanatory text

* explanatory text

* typo

* move stuff around

* clean

* editing
2017-09-14 16:13:17 -04:00
Craig Peterson
b0c465c3a9 Ns1 provider (#63)
* add ns1 libs to vendor

* Create shim and wire into tests

* ns1 provider more working.

* vendor correct files

* comment diff functions

* ns1 docs

* making mx work with ns1

* ?

* refactor tests to make capability blocks easier. fix up ns1
2017-09-13 11:49:15 -04:00