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

454 Commits

Author SHA1 Message Date
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
Julius Rickert
20dad35167 Replace Jekyll highlight tags with fenced code blocks (#1412)
* Replace Jekyll highlight tags with fenced code blocks

Replace Jekyll highlight tags with fenced code blocks.
Canonicalize javascript to js.
Correct highlighting languages.
Add highlighting to code blocks.
Remove leading $ from bash blocks.
Remove empty lines at start and end of code blocks.
Stripped trailing whitespace.

* Fix language of code highlighting
2022-02-17 12:22:31 -05:00
Tom Limoncelli
40bc39533f BIND: Bug: DefaultNS strips last char (#1411)
* BIND: Bug: DefaultNS strips last char

* fixup!
2022-02-15 16:01:25 -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
25d72395f3 GCLOUD: Stop using deprecated New() call (#1409) 2022-02-11 13:25:00 -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
Costas Drogos
d01a3cb8f6 ns1: add support for NAPTR (#1405)
* ns1: add support for TLSA and NAPTR

Enable support for TLSA and NAPTR commands in NS1.

* ns1: use strconv.Itoa instead of sprintf

... with an intermediate casting from uint16 to int, which,
 given it's an one-way conversion, it's safe enough.

* NS1: fix a couple linting issues
2022-02-11 12:05:32 -05:00
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
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
c8438b3483 NAMEDOTCOM: Increase timeout (#1382) 2022-01-27 13:10:57 -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
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
48a8a95b4a CLOUDNS: Fix name server updates #1263 (#1303)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-01-14 08:28:48 -05:00
Jakob Ackermann
2e28dcd644 HETZNER: handle a 404 from listing zones gracefully (#1371)
The API docs do not mention this, but we saw a case in the wild (1370).

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2022-01-10 16:08:15 -05:00
Hampton
6e29b556a0 PACKETFRAME: always include default nameservers (#1368) 2022-01-07 09:24:24 -05:00
Hampton
ea20c13e67 NEW PROVIDER: Packetframe (#1347)
* Implement Packetframe provider

* Packetframe: Move to authorization and fix multiple TXT records

* AKAMAIEDGEDNS: fix staticcheck warnings/errors (#1346)

* downcase TLSA

* Akamai provider

* Akamai provider

* EdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AKAMAIEDGEDNS: fix staticcheck warnings/errors

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>

* PacketframeProvider minor cleanup

* Packetframe v4 moved to production

* Packetframe Provider: Finish the rest of provider steps

* Packetframe: Make stylistic changes, update nameservers, apikey -> token

Co-authored-by: Steven Vernick <78868407+svernick@users.noreply.github.com>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-01-05 12:09:46 -05:00
Nick Gregory
9a915db5b8 oracle: fix nameserver trailing dot issue, and resolve staticcheck warnings (#1341)
* fix nameserver trailing dot issue, and resolve staticcheck warnings

* ToNameservers

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-12-29 12:06:44 -05:00
Tom Limoncelli
d4956c225c NS1: Rename ns1provider.go to ns1Provider.go (#1350) 2021-12-26 13:11:59 -05:00
Steven Vernick
1f7889dbd3 AKAMAIEDGEDNS: fix staticcheck warnings/errors (#1346)
* downcase TLSA

* Akamai provider

* Akamai provider

* EdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AkamaiEdgeDNS provider

* AKAMAIEDGEDNS: fix staticcheck warnings/errors

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-12-23 15:16:37 -05:00
Tom Limoncelli
9f720d1084 CLEANUP: Skip DualProvider tests if Cannot(DocDualHost) (#1345)
* Skip DualProvider tests if Cannot(DocDualHost)
* go generate
* Fix HEXONET domain
2021-12-21 12:23:11 -05:00
Brice Figureau
9d9d299bb7 Fix #1338 - OVH provider should work when domain is not registered (#1340)
* Fix #1338 do not error if domain is not registered

OVH now allows to create zone without registering a domain. The ovh provider
was getting the NS from the registrar and not the zone, which doesn't work
in a scenario where only the zone exists at ovh.
This changeset makes the ovh provider fetch the NS from the registrar and if
there's none from the zone.

* OVH now supports all dual providers scenario

This change updates the OVH provider documentation accordingly.
2021-12-20 11:20:17 -05:00
Tom Limoncelli
02c5258396 CODE: Fix simple staticcheck items (#1329) 2021-12-14 16:28:37 -05:00