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

22 Commits

Author SHA1 Message Date
4765f402bd FEATURE: New capability: Can provider run concurrently (#2876) 2024-03-20 12:36:54 -04:00
e52ec54453 Remove unused CantUseNOPURGE capability (#2877) 2024-03-18 18:30:09 -04:00
76d93acaf5 CHORE: Remove dead code: txtutil.SplitSingleLongTxt() and txtutil.Segment() (#2685) 2023-12-05 09:47:52 -05:00
c91fe6c1c8 CHORE: Remove diff1 from codebase (#2575) 2023-10-22 13:56:13 -04:00
5ae231030e Update version in go.mod (#2382) 2023-05-20 13:21:45 -04:00
489be2e3dc ROUTE53: fix R53_ZONE() handling for domains (#2306)
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
2023-05-02 13:04:59 -04:00
60470a3886 BUG: Some DNS zones are downloaded twice (#2120)
Signed-off-by: Amelia Aronsohn <squirrel@wearing.black>
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
Co-authored-by: Grégoire Henry <hnrgrgr@users.noreply.github.com>
Co-authored-by: Amelia Aronsohn <squirrel@wearing.black>
Co-authored-by: Kai Schwarz <kschwarz@hexonet.net>
Co-authored-by: Asif Nawaz <asif.nawaz@centralnic.com>
Co-authored-by: imlonghao <git@imlonghao.com>
Co-authored-by: Will Power <1619102+willpower232@users.noreply.github.com>
2023-04-14 15:22:23 -04:00
3b6591fd95 NEW FEATURE: Support DNS LOC record type (#2174) 2023-03-16 14:04:20 -04:00
0491aadd36 BUG: Fix all err scopes (#2160) 2023-03-13 14:19:19 -04:00
572f2ce28c NETCUP: Adopt diff2 in compatibility mode (#1895) 2023-01-18 12:34:45 -05:00
b0f2945510 REFACTOR: Add diff2 enable flag to all DNS providers (#1851)
This should enable the diff2 code to be inserted with good "git blame" results for new code.  I'm adding this early to catch any problems early.
2022-12-11 15:02:58 -05:00
ccb582b278 CHORE: Linting (#1704)
* Remove deprecated io/ioutil
* fixup!
* staticcheck and linting
* revert models/provider.go
* Fix imports to new style
* linting
2022-08-14 20:46:56 -04:00
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
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
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
8d139d182f gofmt all (#1144) 2021-05-04 14:15:31 -04:00
e69e6f27e4 Linting (#1087)
* fix linting
* rename AuditRecordsor to RecordAuditor
* gandi_v5 to gandiv5
2021-03-08 20:14:30 -05:00
8dea9edc34 Re-engineer TXT records for simplicity and better compliance (#1063)
TXT records are now handled different.

1. The raw input from dnsconfig.js is passed all the way to the provider. The provider can determine if it can or can't handle such records (auditrecords.go) and processes them internally as such.
2. The CanUseTXTMulti capability is no longer needed.

* DSPs now register a table of functions
* Use audits for txt record variations
* unit tests pass. integration fails.
* fix deepcopy problem
* rename to AuditRecordSupport
* Reduce use of TXTMulti
* Remove CanUseTXTMulti
* fix Test Skip
* fix DO
* fix vultr
* fix NDC
* msdns fixes
* Fix powerdns and cloudflare
* HEDNS: Fix usage of target field to resolve TXT handling (#1067)
* Fix HEXONET

Co-authored-by: Robert Blenkinsopp <robert@blenkinsopp.net>
Co-authored-by: Jakob Ackermann <das7pad@outlook.com>
2021-03-07 13:19:22 -05:00
ca30c9c34f Rename provider handles to *Provider (#914) 2020-10-26 09:25:30 -04:00
59747a96f0 Cleanup: Bubble errors up from diff instead of panic (#799) (#817) 2020-08-20 15:49:00 -04:00
676d98fc4a Linting (#767)
What could possibly go wrong?
2020-06-18 09:37:57 -04:00
02e6a49bb8 NEW PROVIDER: NETCUP (DNS) (#718)
* Add support for netcup DNS api.
* Add documentation page.
* Update reference to new version path.
* Add OWNERS entry for netcup.
* Add credentials for integration test. Netcup does not support PTRs. Fix parsing/formating of SRV records.
* Skip integration tests that are not supported.
* Use single quotes in JS code.
2020-04-17 13:58:44 -04:00