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
Nicolas Lorin
1e8e449160
VULTR: Enable long TXT ( #1518 )
2022-06-01 12:15:29 -04:00
Olivetti
c80cfbb7ae
Autosplit long TXT records disabled ( #1481 )
...
providers-test-netcup.log appended:
=== RUN TestDNSProviders
=== RUN TestDNSProviders/oXXX.de
=== RUN TestDNSProviders/oXXX.de/Clean_Slate:Empty
integration_test.go:220: DELETE A test.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50790741
=== RUN TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record
integration_test.go:220: CREATE A oXXX.de 1.1.1.1 ttl=0
=== RUN TestDNSProviders/oXXX.de/00:GeneralACD:Change_it
integration_test.go:220: MODIFY A oXXX.de: (1.1.1.1 ttl=0) -> (1.2.3.4 ttl=0), Netcup ID: 50825306:
=== RUN TestDNSProviders/oXXX.de/00:GeneralACD:Add_another
integration_test.go:220: CREATE A www.oXXX.de 1.2.3.4 ttl=0
=== RUN TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name)
integration_test.go:220: CREATE A www.oXXX.de 5.6.7.8 ttl=0
=== RUN TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl
integration_test.go:216: Expected changes, but got none
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty
integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825306
integration_test.go:220: DELETE A www.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825307
integration_test.go:220: DELETE A www.oXXX.de 5.6.7.8 ttl=0, Netcup ID: 50825308
=== RUN TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard
integration_test.go:220: CREATE A *.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A www.oXXX.de 1.1.1.1 ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#01
integration_test.go:220: DELETE A *.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825309
integration_test.go:220: DELETE A www.oXXX.de 1.1.1.1 ttl=0, Netcup ID: 50825310
=== RUN TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME
integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#02
integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825311
=== RUN TestDNSProviders/oXXX.de/03:MX:MX_record
integration_test.go:220: CREATE MX oXXX.de 5 foo.com. ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#03
integration_test.go:220: DELETE MX oXXX.de 5 foo.com. ttl=0, Netcup ID: 50825312
=== RUN TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records
integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
integration_test.go:220: CREATE A foo.oXXX.de 1.2.3.4 ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 1.
integration_test.go:241: UNEXPECTED #0 : CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#04
integration_test.go:220: DELETE A foo.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825313
=== RUN TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records
integration_test.go:220: CREATE TXT bar.oXXX.de "stringbar" ttl=0
integration_test.go:220: CREATE A bar.oXXX.de 2.4.6.8 ttl=0
integration_test.go:220: CREATE A oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE TXT oXXX.de "simple" ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 2.
integration_test.go:241: UNEXPECTED #0 : CREATE TXT bar.oXXX.de "stringbar" ttl=0
integration_test.go:241: UNEXPECTED #1 : CREATE TXT oXXX.de "simple" ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#05
integration_test.go:220: DELETE A bar.oXXX.de 2.4.6.8 ttl=0, Netcup ID: 50825314
integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825315
=== RUN TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records
integration_test.go:220: CREATE CNAME bar.oXXX.de test.bar.com. ttl=0
integration_test.go:220: CREATE CNAME foo.oXXX.de test.foo.com. ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#06
integration_test.go:220: DELETE CNAME bar.oXXX.de test.bar.com. ttl=0, Netcup ID: 50825316
integration_test.go:220: DELETE CNAME foo.oXXX.de test.foo.com. ttl=0, Netcup ID: 50825317
=== RUN TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT
integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 1.
integration_test.go:241: UNEXPECTED #0 : CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#07
=== RUN TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF
integration_test.go:220: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 1.
integration_test.go:241: UNEXPECTED #0 : CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#08
=== RUN TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT
integration_test.go:220: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 1.
integration_test.go:241: UNEXPECTED #0 : CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#09
=== RUN TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string
integration_test.go:206: ***SKIPPED(PROVIDER DOES NOT SUPPORT 'txtstring is empty' ::"12:complex TXT")
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#10
=== RUN TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT
integration_test.go:220: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 1.
integration_test.go:241: UNEXPECTED #0 : CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#11
=== RUN TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1
integration_test.go:220: CREATE TXT foo1.oXXX.de "simple" ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 1.
integration_test.go:241: UNEXPECTED #0 : CREATE TXT foo1.oXXX.de "simple" ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#12
=== RUN TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1
integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 1.
integration_test.go:241: UNEXPECTED #0 : CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#13
=== RUN TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME
integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#14
integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825318
=== RUN TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS
integration_test.go:220: CREATE MX bar.oXXX.de 5 bar.com. ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#15
integration_test.go:220: DELETE MX bar.oXXX.de 5 bar.com. ttl=0, Netcup ID: 50825319
=== RUN TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name
integration_test.go:220: CREATE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#16
integration_test.go:220: DELETE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825320
=== RUN TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
integration_test.go:220: CREATE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#17
integration_test.go:220: DELETE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0, Netcup ID: 50825321
=== RUN TestDNSProviders/oXXX.de/20:pager101:99_records
integration_test.go:220: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0
integration_test.go:220: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 99.
integration_test.go:241: UNEXPECTED #0 : CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #1 : CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #2 : CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #3 : CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #4 : CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #5 : CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #6 : CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #7 : CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #8 : CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #9 : CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #10 : CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #11 : CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #12 : CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #13 : CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #14 : CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #15 : CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #16 : CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #17 : CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #18 : CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #19 : CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #20 : CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #21 : CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #22 : CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #23 : CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #24 : CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #25 : CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #26 : CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #27 : CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #28 : CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #29 : CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #30 : CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #31 : CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #32 : CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #33 : CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #34 : CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #35 : CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #36 : CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #37 : CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #38 : CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #39 : CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #40 : CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #41 : CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #42 : CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #43 : CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #44 : CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #45 : CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #46 : CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #47 : CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #48 : CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #49 : CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #50 : CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #51 : CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #52 : CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #53 : CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #54 : CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #55 : CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #56 : CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #57 : CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #58 : CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #59 : CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #60 : CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #61 : CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #62 : CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #63 : CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #64 : CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #65 : CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #66 : CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #67 : CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #68 : CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #69 : CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #70 : CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #71 : CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #72 : CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #73 : CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #74 : CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #75 : CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #76 : CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #77 : CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #78 : CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #79 : CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #80 : CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #81 : CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #82 : CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #83 : CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #84 : CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #85 : CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #86 : CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #87 : CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #88 : CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #89 : CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #90 : CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #91 : CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #92 : CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #93 : CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #94 : CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #95 : CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #96 : CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #97 : CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0
integration_test.go:241: UNEXPECTED #98 : CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#18
=== RUN TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN TestDNSProviders/oXXX.de/23:CAA:CAA_record
integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 1.
integration_test.go:241: UNEXPECTED #0 : CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#19
=== RUN TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records
integration_test.go:220: CREATE CAA oXXX.de 0 issuewild ";" ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 1.
integration_test.go:241: UNEXPECTED #0 : CREATE CAA oXXX.de 0 issuewild ";" ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#20
=== RUN TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces
integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234 " ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 1.
integration_test.go:241: UNEXPECTED #0 : CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234 " ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#21
=== RUN TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
=== RUN TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty
=== RUN TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty
=== RUN TestDNSProviders/oXXX.de/29:SRV:SRV_record
integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 1.
integration_test.go:241: UNEXPECTED #0 : CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#22
=== RUN TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target
integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0
integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0
integration_test.go:239: Expected 0 corrections on second run, but found 2.
integration_test.go:241: UNEXPECTED #0 : CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0
integration_test.go:241: UNEXPECTED #1 : CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0
=== RUN TestDNSProviders/oXXX.de/Post_cleanup:Empty#23
=== RUN TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty
=== RUN TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty
=== RUN TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty
=== RUN TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
=== RUN TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty
=== RUN TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty
--- FAIL: TestDNSProviders (25.84s)
--- FAIL: TestDNSProviders/oXXX.de (24.98s)
--- PASS: TestDNSProviders/oXXX.de/Clean_Slate:Empty (0.25s)
--- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record (0.33s)
--- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Change_it (0.32s)
--- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another (0.34s)
--- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name) (0.38s)
--- FAIL: TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl (0.11s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty (0.59s)
--- PASS: TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard (0.46s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#01 (0.37s)
--- PASS: TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME (0.31s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#02 (0.23s)
--- PASS: TestDNSProviders/oXXX.de/03:MX:MX_record (0.31s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#03 (0.21s)
--- PASS: TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.10s)
--- PASS: TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.08s)
--- FAIL: TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records (0.36s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#04 (0.24s)
--- FAIL: TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records (0.57s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#05 (0.35s)
--- PASS: TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records (0.45s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#06 (0.38s)
--- FAIL: TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT (0.25s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#07 (0.08s)
--- FAIL: TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF (0.28s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#08 (0.12s)
--- FAIL: TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT (0.25s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#09 (0.11s)
--- SKIP: TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string (0.00s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#10 (0.10s)
--- FAIL: TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT (0.25s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#11 (0.08s)
--- FAIL: TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1 (0.26s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#12 (0.09s)
--- FAIL: TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1 (0.24s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#13 (0.10s)
--- PASS: TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME (0.34s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#14 (0.23s)
--- PASS: TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS (0.33s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#15 (0.22s)
--- PASS: TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name (0.34s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#16 (0.21s)
--- PASS: TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.29s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#17 (0.24s)
--- FAIL: TestDNSProviders/oXXX.de/20:pager101:99_records (11.55s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#18 (0.05s)
--- PASS: TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty (0.05s)
--- PASS: TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.05s)
--- FAIL: TestDNSProviders/oXXX.de/23:CAA:CAA_record (0.20s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#19 (0.05s)
--- FAIL: TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records (0.19s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#20 (0.06s)
--- FAIL: TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces (0.17s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#21 (0.07s)
--- PASS: TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.05s)
--- PASS: TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.06s)
--- PASS: TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (0.06s)
--- FAIL: TestDNSProviders/oXXX.de/29:SRV:SRV_record (0.17s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#22 (0.06s)
--- FAIL: TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target (0.25s)
--- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#23 (0.08s)
--- PASS: TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (0.06s)
--- PASS: TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.06s)
--- PASS: TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.05s)
--- PASS: TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.05s)
--- PASS: TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.06s)
--- PASS: TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.06s)
--- PASS: TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.05s)
--- PASS: TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.05s)
--- PASS: TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.06s)
--- PASS: TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.05s)
--- PASS: TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (0.05s)
--- PASS: TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (0.06s)
=== RUN TestDualProviders
integration_test.go:312: Skipping. DocDualHost == Cannot
--- SKIP: TestDualProviders (0.06s)
FAIL
exit status 1
FAIL github.com/StackExchange/dnscontrol/v3/integrationTest 25.942s
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-05-08 14:50:40 -04:00
Tom Limoncelli
9e6d642e35
NEW FEATURE: Moving provider TYPE from dnsconfig.js to creds.json ( #1500 )
...
Fixes https://github.com/StackExchange/dnscontrol/issues/1457
* New-style creds.json implememented backwards compatible
* Update tests
* Update docs
* Assume new-style TYPE
2022-05-08 14:23:45 -04:00
adrian-hoasted
013a059dc7
CLOUDFLARE: Add support for PTR records ( #1496 )
2022-05-03 06:07:49 -04:00
Tom Limoncelli
19550aeed9
Refactor: Rename providers/config to pkg/credsfile ( #1494 )
2022-05-02 20:12:30 -04:00
Tom Limoncelli
e2536ad406
In preparation of #1457 , warn if cred-names contain colon ( #1480 )
2022-04-04 15:33:59 -04:00
Pascal Mathis
144adfd632
CLOUDNS: Fix creation of intra-zone NS records (see #1263 ) ( #1469 )
2022-03-31 14:38:42 -04:00
Phil Pennock
4a185909a8
DNSIMPLE: bug-fix, allow non-apex NS records ( #1468 )
2022-03-28 15:28:40 -04:00
Tom Limoncelli
73de17adc2
Revert "_PROVIDER flag phase 1: generate warnings"
...
This reverts commit 26c632e05f
.
2022-03-27 15:56:57 -04:00
Tom Limoncelli
26c632e05f
_PROVIDER flag phase 1: generate warnings
2022-03-27 15:54:16 -04:00
arnoschoon
caedb9a7a6
NEW PROVIDER: AutoDNS ( #1336 )
...
* Implement AutoDNS provider to manage existing zones
* Moved AuditRecords() in to separate file to ease automatic updating
* S1011 - Use a single append to concatenate two slices
* Set list of available record types as returned by the system
* Fixed style, clarify code and add some extra comments
* Documented simple configuration and usage example of AutoDNS
* Convert MX and SRV record properly from string to actual structs and back
* Add support for integration tests of AutoDNS
* Return error message from update request instead of invoking panic()
* Skip AUTODNS in test for RFC 7505 (null MX)
* Update providers/autodns/autoDnsProvider.go
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-03-25 15:22:59 -04:00
Koen Vlaswinkel
02d76affc0
LINODE: Add support for CAA records and implement get-zones ( #1454 )
...
* LINODE: Add support for CAA records
* LINODE: Implement get-zones
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-03-25 15:22:20 -04:00
Tom Limoncelli
ffe21c6e6d
creds.json should not be executable under Windows ( #1456 )
...
* Skip CAA flag test for LINODE
* Require go 1.18
* Update CCI to use go 1.18
* go mod tidy
* working
* Update creds.json docs
* go generate
2022-03-25 15:20:30 -04:00
Tom Limoncelli
cc428ca9e1
HEXONET: Fix error format string ( #1462 )
...
Fixes https://github.com/StackExchange/dnscontrol/issues/1461
2022-03-24 15:43:37 -04:00
Costas Drogos
2b40f6fa70
ns1: enable autoDNSSEC capability ( #1450 )
...
* ns1: enable autoDNSSEC capability
NS1's API has support for enabling or disabling DNSSEC on zones under
DNSSEC-enabled accounts.
This commit enables support for detecting a zone's DNSSEC state and,
given the autoDNSSEC setting, pushing the right domain corrections
to our corrections stack.
Fixes #1444
* ns1: better comments
* ns1: Handle a forgotten error
* ns1: style: spacing between functions
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-03-11 10:12:45 -05:00
Tom Limoncelli
4d125fca5f
Guard against nil ( #1452 )
2022-03-09 15:20:45 -05:00
Tom Limoncelli
9db12e4730
GANDI: Bump go-gandi/go-gandi v0.0.0-20211124085723 => v0.1.0 ( #1439 )
...
* GANDI: Bump go-gandi/go-gandi v0.0.0-20211124085723-a737785a1af0 => v0.1.0
* Use new NewDomainClient signature
* go mod tidy
2022-03-07 13:00:39 -05:00
Costas Drogos
e300a8e9ca
NS1: Enable DS & DSForChildren support ( #1446 )
...
Enable support for DS and DSForChildren sets of records in NS1.
Fixes #1445
2022-03-07 11:31:55 -05:00
Costas Drogos
b8a70d7556
ns1: ignore DNSKEY & RRSIG entries ( #1443 )
...
These entries are autoconfigured by NS1 when a zone is enabled for DNSSEC and can't be
modified via the API, producing a 405 API error on modification attempts.
While unmodifiable, these records are returned by the API, so we have to ignore them.
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-03-07 10:43:48 -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
tpdn
fc75f89271
ClouDNS: Add CLOUDNS_WR (Web Redirects) ( #1421 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-03-02 09:21:51 -05:00
Tom Limoncelli
363558f369
EASYNAME: Source filename should conform to standard ( #1422 )
2022-03-01 09:53:20 -05:00
Tom Limoncelli
1f237b2c92
ROUTE53: Fix shortname bug for get-zones ( #1418 )
2022-02-28 11:35:17 -05:00
Tom Limoncelli
8b74b7c470
AZURE_DNS: GetZones error should report subscription id ( #1415 )
...
* BIND: Bug: DefaultNS strips last char
* fixup!
* Report Subscription ID when Azure can't get zones
2022-02-22 13:34:57 -05:00
Julius Rickert
d5665ceaf6
Documentation: Customizing nameservers for hosting.de provider ( #1396 )
...
* Add support for default nameservers
Uses provider metadata with default_ns key.
Fixes #1401 .
* Fix formatting
* Add documentation on custom nameservers
* Rework hosting.de documentation
Separate usage with hosting.de and usage with compatible providers.
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-02-22 10:54:02 -05:00
Benjamin Rechsteiner
45e8622c0a
POWERDNS: Add support for DS records ( #1414 )
2022-02-17 17:16:15 -05:00