Julius Rickert
2ebdda6971
HOSTINGDE: Fix & simplify string quoting ( #1945 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-01-17 10:57:58 -05:00
Julius Rickert
8344f5c7c9
HOSTINGDE: BUG: PTR records aren't working ( #1946 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-01-17 10:57:20 -05:00
Kordian Bruck
261961c5b8
NETCUP: Handle CNAMEs with a single @ as destination correctly ( #1947 )
2023-01-17 10:56:29 -05:00
Tom Limoncelli
b4cbd1299f
POWERDNS: Adopt diff2 in compatibility mode ( #1899 )
2023-01-13 13:00:49 -05:00
Tom Limoncelli
43af16aad2
EXOSCALE: Adopt diff2 in compatibility mode ( #1881 )
2023-01-13 11:21:22 -05:00
Tom Limoncelli
48f642cd54
CSCGLOBAL: Adopt diff2 in compatibility mode ( #1875 )
2023-01-12 16:32:29 -05:00
Robert Blenkinsopp
99a0eb84f6
HEDNS: Add full Diff2 support ( #1915 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-01-09 16:20:03 -05:00
Tom Limoncelli
9b6a69c4c5
AZURE_DNS: Defend against nil targets
2023-01-09 12:51:18 -05:00
Nick Gregory
6f2b183b25
ORACLE: resolve "change to A" test fail ( #1912 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-01-09 11:29:11 -05:00
Vincent Hagen
0403b2c82d
TRANSIP: Fix quoting of TXT records ( #1918 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-01-09 10:24:23 -05:00
Vincent Hagen
01829a2dc0
TRANSIP: For modifications always remove and re-add records ( #1920 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-01-09 10:23:36 -05:00
Tom Limoncelli
30c653eeba
INWX: Adopt diff2 in compatibility mode ( #1891 )
2023-01-09 08:51:45 -05:00
Tom Limoncelli
8f8c0abaf3
AXFRDDNS: Adopt diff2 in compatibility mode ( #1905 )
2023-01-03 13:06:21 -05:00
Tom Limoncelli
a498679c72
DNSIMPLE: Adopt diff2 in compatibility mode ( #1878 )
2023-01-03 11:58:21 -05:00
Tom Limoncelli
347808f030
ORACLE: Adopt diff2 in compatibility mode ( #1897 )
2023-01-03 08:51:12 -05:00
Tom Limoncelli
c62a85a003
MSDNS: Adopt diff2 in compatibility mode ( #1893 )
2023-01-02 10:17:44 -05:00
Tom Limoncelli
4083a0ce7e
HETZNER: Adopt diff2 in compatibility mode ( #1888 )
2023-01-02 08:27:33 -05:00
Tom Limoncelli
cc132b7268
DIGITALOCEAN: Adopt diff2 in compatibility mode ( #1877 )
2023-01-02 08:25:51 -05:00
Tom Limoncelli
f8fd853a02
HEDNS: Adopt diff2 in compatibility mode ( #1887 )
2023-01-02 08:25:23 -05:00
Tom Limoncelli
e0fef398be
DOMAINNAMESHOP: Adopt diff2 in compatibility mode ( #1880 )
2023-01-01 22:44:05 -05:00
Tom Limoncelli
bec7e1e865
OCTODNS: Remove octodns provider ( #1910 )
2023-01-01 14:52:22 -05:00
Tom Limoncelli
5f2dd2fdf2
SOFTLAYER: Adopt diff2 in compatibility mode ( #1901 )
2023-01-01 13:18:37 -05:00
Florian Ritterhoff
4cf4d34ca6
Add missing MD5 support ( #1866 )
2022-12-31 06:13:44 -05:00
Tom Limoncelli
96e4e88fc5
Cleanups ( #1871 )
2022-12-30 22:03:36 -05:00
Tom Limoncelli
397ce107e5
REFACTOR: Add a backwards compatible interface to diff2 ( #1870 )
2022-12-30 21:53:50 -05:00
Yuhui Xu
801aae725b
GCORE: Implement diff2 and greatly improve performance for getting record sets ( #1867 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-12-30 21:38:01 -05:00
Costas Drogos
7654107614
NS1: Add support for diff2 ( #1858 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-12-19 14:57:48 -05:00
Brice Figureau
6947388dc1
OVH: Adopt diff2 ( #1861 )
2022-12-19 10:21:54 -05:00
Costas Drogos
7ad98a67f9
NS2: Update ns1 to 2.7.2 ( #1857 )
2022-12-18 06:09:53 -08:00
imlonghao
87c32df0c9
PORKBUN: support diff2 and two small changes ( #1855 )
2022-12-12 11:49:32 -05:00
Tom Limoncelli
54fc2e9ce3
NEW FEATURE: diff2: A better "diff" mechanism ( #1852 )
2022-12-11 17:28:58 -05:00
Tom Limoncelli
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
Tom Limoncelli
fa52b4f2ae
GANDI_V5: Gandi now supports null MX ( #1847 )
...
Co-authored-by: Filippo Valsorda <github@bip.filippo.io>
2022-12-07 10:06:27 -05:00
Jed Fox
cc2fb89b00
DOCS: Remove Cannot() records for Azure and R53 ALIAS records ( #1827 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-12-02 09:21:37 -05:00
Amogh Lele
5b95c099f6
NETLIFY: bugfix: append . to records which point to hosts ( #1828 )
...
Signed-off-by: Amogh Lele <amolele@gmail.com>
2022-11-30 09:23:52 -05:00
Amogh Lele
1618aceb2a
NEW PROVIDER: Netlify ( #1820 )
...
Signed-off-by: Amogh Lele <amolele@gmail.com>
2022-11-28 11:01:35 -05:00
imlonghao
d90ca157e4
PORKBUN: New provider ( #1819 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-11-26 11:36:17 -05:00
Nicolas Lorin
caf7467cdd
VULTR: BUGFIX: Wrong records are occasionally modified ( #1822 )
2022-11-26 11:21:09 -05:00
Patrick Gaskin
f209111728
VULTR: Use keyed fields for govultr struct literals ( #1818 )
2022-11-15 12:57:52 -05:00
Yuhui Xu
35818299c0
NEW PROVIDER: Gcore DNS ( #1816 )
2022-11-15 12:40:08 -05:00
Amelia Aronsohn
a6043df648
DNSIMPLE: Support new name server handling changes ( #1806 )
2022-11-04 14:54:48 -04:00
Jeffrey Cafferata
3f760cdd25
DOCS: Documentation improvements ( #1786 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-10-31 18:09:43 -04:00
Jeffrey Cafferata
b66af29aec
BUG: Re-introducing the cloudflare/cloudflare-go
import ( #1795 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-10-31 07:02:30 -04:00
Tom Limoncelli
1aca045d5b
DOCS: Fix many small typos ( #1794 )
...
Co-authored-by: Jeffrey Cafferata <jeffrey@jcid.nl>
2022-10-30 13:56:45 -04:00
Nicolas Lorin
2898fbad72
VULTR: use API v2 ( #1768 )
2022-10-12 18:17:15 -04:00
Amelia Aronsohn
1c726a08ad
DNSimple: Update to 1.0.0 Client & expose error attributes ( #1756 )
2022-09-23 11:55:09 -04:00
Predrag Janosevic
128e075066
EXOSCALE: Migrate to v2 API ( #1748 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-09-14 14:58:55 -04:00
Brian Hartvigsen
49590df8bf
DIGITALOCEAN: semicolon as CAA target is now supported ( #1749 )
2022-09-14 07:18:53 -04:00
Tom Limoncelli
3743c7de03
Bump cloudflare/cloudflare-go from 0.46 to 0.49 ( #1746 )
...
Co-authored-by: Brian Hartvigsen <brian.andrew@brianandjenny.com>
2022-09-12 08:58:44 -04:00
Tom Limoncelli
61e500b7dc
DEV: Optimize integration tests ( #1742 )
2022-09-07 14:08:06 -04:00
Srdjan Markovic
639a4473d7
DESEC: Check authentication via domains API ( #1723 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-08-27 09:02:51 -04:00
Tom Limoncelli
d907cdd2c2
CHORE: gofmt ( #1727 )
2022-08-20 20:42:16 -04:00
Simen Bai
0d9bdc2ddc
DOMAINNAMESHOP: Domainnameshop documentation update ( #1726 )
...
Co-authored-by: Simen Bai <git@simenbai.no>
2022-08-20 00:51:25 -04:00
Tom Limoncelli
b2af4332f1
MSDNS: MSDNS auto-disable message is now more accurate ( #1719 )
...
[skip ci]
2022-08-16 18:09:54 -04:00
Tom Limoncelli
d1a63abc0d
CLOUDFLARE: Increase retry limits ( #1713 )
...
* change policy to 20, 1, 120 (20 retries, min delay 1 sec, max delay 2 minutes)
2022-08-15 18:30:21 -04:00
Tom Limoncelli
1010138fb6
gofmt -s -w
2022-08-14 20:49:57 -04:00
Tom Limoncelli
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
Tom Limoncelli
cd61c2c766
CHORE: Remove deprecated io/ioutil ( #1699 )
...
* Remove deprecated io/ioutil
* fixup!
* fixup!
2022-08-14 12:50:15 -04:00
Vatsalya Goel
5e8bb6e461
AZURE_DNS: Adopt new "armdns" SDK ( #1701 )
...
* Switch to the new Azure sdk for go
* use codeql 1.18 as 1.17 doesn't work with azidentity
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-08-14 07:42:41 -04:00
Tom Limoncelli
09a53b4d68
CLOUDFLAREAPI: Clarify source of error in message ( #1700 )
2022-08-14 07:33:05 -04:00
Tom Limoncelli
31723ad146
PERFORMANCE: Refactor auditrecords.go to loop only once #1570 ( #1658 )
...
* stash
* Use rejectif idea
* rename
* wip!
* Convert old systems to new
* fixup!
* fix typo
2022-08-11 17:24:47 -04:00
Tom Limoncelli
d6f1575ae5
BUG: MSDNS and CSCGLOBAL get records twice ( #1688 )
2022-08-11 15:40:13 -04:00
Tom Limoncelli
83a4b6a2f4
Remove ACTIVEDIRECTORY_PS ( #1680 )
2022-08-11 13:15:19 -04:00
Tom Limoncelli
f24c250c46
CLOUDFLARE: Error messages should indicate which cred entry ( #1690 )
2022-08-11 13:10:06 -04:00
Costas Drogos
dbfd2b7cb4
ns1: workaround an issue with ns1 API ( #1671 )
...
NS1 api returns a different message these days, which breaks error handling.
Until a fix is merged upstream, work around the issue by attempting to match the
stray error ourselves.
relates to #1667 .
2022-08-09 16:29:54 -04:00
Tom Limoncelli
eba4155cb9
CSCGLOBAL: Improve performance by waiting less ( #1669 )
...
* Fix broken test
* Revert to the slow+safe CSC algorithm
* Instead of waiting for COMPLETED, wait for PROPAGATING to begin.
* improve error messages
* cleanup
2022-08-09 10:00:03 -04:00
Tom Limoncelli
ec8bfe4b6d
CSCGLOBAL: Use slow and safe algorithm ( #1663 )
...
* Fix broken test
* CLOUDFLARE: Fix missing nameserver bug
* CSCGLOBAL: Catch more status states
* wip!
* remove extra print
* Revert to the slow+safe CSC algorithm
2022-08-08 13:23:47 -04:00
Tom Limoncelli
dd3416674f
CLOUDFLARE: Fix domain list cache error ( #1662 )
...
* Fix broken test
* CLOUDFLARE: Fix missing nameserver bug
* CSCGLOBAL: Catch more status states
* wip!
* remove extra print
2022-08-08 13:00:58 -04:00
Jeffrey Cafferata
1b3471835c
TRANSIP: Enable ALIAS-record ( #1661 )
...
- https://www.transip.nl/nieuws/alias-records/
2022-08-08 08:35:09 -04:00
MisterErwin
7865e37c8f
Add RWTH provider ( #1629 )
...
* Add RWTH provider
* fix Owners order
* Reorganize RWTH Provider
* Fix staticcheck and code style issues
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-08-04 14:40:27 -04:00
Jakob Ackermann
a00572af4a
Create zone before use ( #1642 )
...
* preview/push: ensure zones exists before querying them
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* HETZNER: reset zone cache when creating a new zone
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* ROUTE53: reset zone cache when creating a new zone
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-08-01 14:44:17 -04:00
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
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
Vincent Hagen
cc6638fb95
TRANSIP: Fix staticcheck errors ( #1337 )
2021-12-14 15:47:38 -05:00
Tom Limoncelli
7ae27aa0b9
Security: Fix many staticcheck warnings
2021-12-14 09:47:32 -05:00
Vojta Drbohlav
e3cd40a1a8
DNSMADEEASY: always override NS records TTL to be 86400 ( #1317 )
...
Fixes broken integration tests and spamming output about chaning NS records TTL from fixed one (86400) to dnscontrol default one (300).
This issue was introduced in #1167 .
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-12-14 07:49:00 -05:00
Jaye Doepke
900d4042e8
ROUTE53: Adopt aws-sdk-go-v2 ( #1321 )
...
* Switch to aws-sdk-go-v2
AWS has released v2 of their SDK for Go.
See: https://aws.github.io/aws-sdk-go-v2/
One big advantage of this is no longer needing to export the
`AWS_SDK_LOAD_CONFIG=1` env var when using named profiles.
* Update integration test README
* Reenable pager601 and pager1201 integration tests for AWS Route53
* Implement intelligent batching for Route53 record changes
The AWS Route53 API for batch record changes limits the request size to
the smaller of:
- 1000 records.
- 32000 characters total for record values.
Also UPSERTs count as double (a DELETE and then a CREATE).
This commit changes how the record ChangeBatches are created to
respect these limits.
* Remove old comments
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-12-07 16:29:29 -05:00
Vojta Drbohlav
899a34ddd4
DNSMADEEASY: Fix staticcheck errors ( #1316 )
...
* DNSMADEEASY: remove unused type apiEmptyResponse
* DNSMADEEASY: fix unnecessary use of fmt.Sprintf
* DNSMADEEASY: fix error check in toRecordConfig
2021-12-06 12:45:34 -05:00
Benjamin Altpeter
2cfd2f403b
Hosting.de: Allow using as registrar only ( #1307 )
...
Previously, the provider would always try to fetch the zone config for
the domain. But that doesn't work if the domain's DNS is not managed
through Hosting.de.
With this patch, getDomainConfig() instead filters directly on the
domain name instead of re-fetching it from the zone.
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-11-27 13:44:28 -05:00
norman-zon
58a5a4bcf0
Remove length checking from TxtNoMultipleStrings ( #1308 )
...
All functions in should test for only one condition. There already is a
function that tests for long TXT records: TxtNoLongStrings.
Add calls to TxtNoLongStrings in all providers that use
TxtNoMultipleStrings, to keep functionality, except for NS1 and ClouDNS,
which allow for any TXT record length, but not for multiple strings per
TXT.
2021-11-23 14:35:01 -05:00
Ry3nlNaToR
3405757271
Use ToNameserversStripTD instead of ToNameserver ( #1306 )
2021-11-18 11:08:52 -05:00
Vincent Bernat
c44ed88659
GANDI_V5 & DESEC: correctly handle multiple RR in a RRset ( #1296 )
...
When having multiple RR in a RRset, only a few of them may be applied.
In my case, when I have two A records, only one of them makes its way
to Gandi.
In `convert.go`, we had:
```go
var zrs []livedns.DomainRecord
// [...]
zrs = append(zrs, zr)
keys[key] = &zrs[len(zrs)-1]
```
If the slice needs to be extended when appending, the reference we got
in `keys[key]` may be outdated because the new slice contains a copy
of the old one. We either need to store references to domain records
in the slice or we need to stop keeping reference of items in the
slice.
I have fixed this with the second solution as I think the order of the
RRsets is not important.
2021-11-01 15:41:37 -04:00
Patrik Kernstock
2e21973ddf
Disable TXT splitting with OVH provider ( #1291 )
2021-10-17 09:52:17 -06:00
Patrik Kernstock
0ff44913ae
Fixing OVH DKIM MODIFY ( #1290 )
...
* Treat DKIM as normal TXT record type
* Empty FieldType before to prevent API error for DKIM
* Unsplit DKIM TXT records before diffing the values
2021-10-16 10:45:06 -06:00
F.D.Castel
0d12eb7dc6
CLOUDFLAREAPI: Adds CF_WORKER_ROUTE ( #1243 )
...
* CLOUDFLAREAPI: Adds CF_WORKER_ROUTE.
- CLOUDFLAREAPI: Initial support for CF_WORKER_ROUTE.
- Put CF_WORKER_ROUTE behind a per-domain feature-flag.
- Adds Integration Test.
- Create Cloudflare workers for tests.
- Updates documentation.
* Workaround for updateWorkerRoute causing stack overflow.
* Sets AccountID.
* Updates to latest master (Thanks @tresni!).
* Removes $CLOUDFLAREAPI_ACCOUNTNAME.
* Add alltrue() filter and -cfworkers flag
* Final workers changes
* alltrue() should be implemented like other filters.
* Update documentation.
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-10-11 16:04:49 -04:00
Brian Hartvigsen
156c684be6
Initial support for easyname as registrar ( #1277 )
...
* Initial support for easyname as registrar
* DRY
Moving a bunch of the HTTP stuff into a single function for cleanliness and ease of future maintianence.
* Seperate API and Provider logic
* Updating error messages and sorting found nameservers
* Adding provider info to OWNERS and README
This also moves a few of the not-actually-DNS Providers to their own section.
* Update README.md
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-10-04 13:01:38 -04:00
Tom Limoncelli
7f071b4ce8
HEXONET: Support long TXT records and fix whitespace bug ( #1283 )
...
* HEXONET: Support for long TXT records
* HEXONET: Revert and update comments in auditrecords.go
* Update auditrecords.go
* HEXONET: Sync TXT support with reality
* Fix the fixed unit tests
Co-authored-by: Burak Tamturk <buraktamturk@gmail.com>
2021-10-04 12:08:57 -04:00
Brian Hartvigsen
d08a8f6c4e
CLOUDFLARE: Stop requiring accountname ( #1280 )
...
There is no API call I've found that requires it, only the accountID. Also, we now set the cfClient.AccountID similar to b55278140f
(h/t @fdcastel) and no longer store duplicate information in the cfClient and api objects.
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-10-03 16:40:50 -04:00
Brian Hartvigsen
d8941a04bc
CLOUDFLARE: Use cloudflare-go ( #1267 )
...
* First pass at moving to cloudflare-go vs hand made implementation of cloudflare's API
* Final changes to use cloudflare-go
* Fix for proxy configuration failing
Forgot to set the ID when we created a new records. This didn't fail in the integrations tests so I missed it.
* Add integration test
To prevent something like what I did from happening in the future.
* Fix bad messaging
2021-09-30 07:09:42 -04:00
Brian Hartvigsen
414f57274d
CLOUDFLARE: Fix bug with long TXT records (SplitSingleLongTxt is not needed) ( #1265 )
...
This isn't necessary for Cloudflare, just pass the string you want and they'll take care of the rest. This was breaking DKIM records as it would pass the split string with quotes, which Cloudflare then interpreted the quotes as being necessary for the records.
2021-09-28 15:53:38 -04:00
Vincent Hagen
8c5db2e11c
Add R53_ZONE as an domain identifier ( #1241 )
...
Using R53_ZONE allows you to differentiate between split horizon
domains across zones.
2021-09-02 16:54:54 -04:00
Patrik Kernstock
f0026b8073
Revert "INWX: fix apex domains ( #1221 )" ( #1242 )
...
This reverts commit f63302b978
.
2021-08-29 19:35:25 -04:00
Tom Limoncelli
0203154021
VULTR: Fix TXT quoting issue ( #1239 )
...
* VULTR: Fix TXT quoting issue
* VULTR: Add tests that trigger Vultr's SPF mode
* VULTR: Enforce the fact that VULTR only supports a single string in TXT records
Co-authored-by: Lee Martin <lmartin@stackoverflow.com>
2021-08-17 15:58:10 -04:00
Sven Peter
f63302b978
INWX: fix apex domains ( #1221 )
...
INWX has changed their API to use an empty string () instead of
the common @. Fix that by converting between the two.
2021-07-25 11:51:27 -04:00
Jauder Ho
a6b9609cd5
gofmt cleanups ( #1217 )
...
* Create codeql-config.yml
* Update codeql-analysis.yml
Add config to exclude certain files
* Run gofmt on a few files as reported by goreportcard.com
2021-07-21 16:10:53 -04:00
Tom Limoncelli
8ab0df92cc
TRANSIP: Enable privatekey authentication ( #1212 )
...
* Add PrivateKey authentication for TransIP
* Remove space before comma
* Re-enable CodeQL for Javascript (#1209 )
* Create codeql-config.yml
* Update codeql-analysis.yml
Add config to exclude certain files
* deSEC implement pagination (#1208 )
* deSEC: Implement pagination for domain list #1177
* deSEC: add debug logging for pagination
* deSEC: simplify get/post methods by allowing url / api endpoints as target
* deSEC: implement pagination for getRecords function
* deSEC: fix linter warnings
* deSEC: replace domainIndexInitalized variable with checking if the domainIndex == nil
* deSEC: add mutex for domainIndex
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
Co-authored-by: Vincent Hagen <vinnie@script4web.nl>
Co-authored-by: Jauder Ho <jauderho@users.noreply.github.com>
Co-authored-by: Georg <georg@neuland.tech>
2021-07-21 12:06:29 -04:00
Georg
2832746a47
deSEC implement pagination ( #1208 )
...
* deSEC: Implement pagination for domain list #1177
* deSEC: add debug logging for pagination
* deSEC: simplify get/post methods by allowing url / api endpoints as target
* deSEC: implement pagination for getRecords function
* deSEC: fix linter warnings
* deSEC: replace domainIndexInitalized variable with checking if the domainIndex == nil
* deSEC: add mutex for domainIndex
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-07-21 11:44:10 -04:00
Vincent Hagen
0770e64c90
NAMECHEAP: Add get zone functionality ( #1207 )
2021-07-12 06:49:30 -04:00
Georg
228b57e445
DESEC: Implements support for long / multistring txt records ( #1204 )
...
* use /auth/account endpoint for token validation
this implements the token validation using the /auth/account api endpoint as suggested in #1177 instead of fetching the domain list
* deSEC: add support for long txt records #996
* deSEC: add support for a different api error response
relates to #996 where we had insufficient error output due to unknown api error format
* deSEC: remove unused fetchDomainList function
* deSEC: improve error handling
* deSEC: support for long / multistring txt records
the previous commit was broken this is now working (CRUD)
* deSEC: document what desecProvider.domainIndex is used for
* deSEC: handle the rate limiting correctly
we try to use the Retry-After header to determine how long we should sleep until retry
* deSEC: further improvement of rate limit handling
we cut off if the Retry-After header exceeds 3 minutes because this might be the daily limit.
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-07-08 10:06:54 -04:00
Vincent Hagen
506b6cc32f
Transip provider ( #1196 )
...
* Add initial transip provider
* Add GetNameservers to transip
* Add first try to correction function.
* Implemented corrections
* Add docs for transip
* Fix TransIP TTL updates
* Fix transip nameserver records
* Update docs/_providers/transip.md
Co-authored-by: Sven Luijten <11269635+svenluijten@users.noreply.github.com>
Co-authored-by: Sven Luijten <11269635+svenluijten@users.noreply.github.com>
2021-07-07 11:43:10 -04:00
nemunaire
80f22df705
MAINTENANCE: Return error instead of panic when converting RR to RC ( #1199 )
2021-07-06 11:03:29 -04:00
Tom Limoncelli
4b68e14039
Fix codeql errors ( #1181 )
2021-07-01 09:30:02 -04:00
Tom Limoncelli
654736be29
Improve MSDNS naptr support ( #1165 )
...
* MSDNS: Improve reliability of zone dump
* Update tests
* MSDNS: Add initial NAPTR support
* Update
* fix tests
* fix tests
* Fixing integration tests for NAPTR
* Handle bad JSON. Handle NAPTR TTLs
2021-06-24 18:26:21 -04:00
Tom Limoncelli
6d64fc8cac
Fix CodeQL issues ( #1173 )
2021-06-24 18:15:09 -04:00
Tom Limoncelli
311a6d74ce
MSDNS: Improve reliability of zone dump ( #1179 )
...
* MSDNS: Improve reliability of zone dump
* Update tests
2021-06-24 06:05:33 -04:00
Steven Vernick
be1f03fb75
NEW PROVIDER: AkamaiEdgeDNS ( #1174 )
...
* downcase TLSA
* Akamai provider
* Akamai provider
* EdgeDNS provider
* AkamaiEdgeDNS provider
* AkamaiEdgeDNS provider
* AkamaiEdgeDNS provider
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-06-22 10:24:49 -04:00
James Gilberd
fdd6387aad
Show actual URL to use instead of just "sandbox" ( #1166 )
...
* Show actual URL to use instead of just "sandbox"
Instead of stating "sandbox", sometimes incorrectly if sandbox is false, just output the actual URL that will be used.
* Replace Println with Printf
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-06-04 13:30:17 -04:00
James Gilberd
c22293e2cf
Correct hard coded DNS Made Easy system nameserver TTL ( #1167 )
...
In my (very limited) experience with DNS Made Easy, the system nameserver
TTL is always 86400 and is not able to be altered.
Without this change, if you specify any TTL (other than 300) via
NAMESERVER_TTL() dnscontrol detects a difference and attempts to update
DNS Made Easy with the new value, which fails because the system
nameservers cannot be altered.
With this change in place the same thing will obviously still happen, if
you use NAMESERVER_TTL() with any TTL other than 86400, but that will be
a bit less confusing since the 86400 value appears in the DNS Made Easy
UI at least.
2021-06-02 13:48:19 -04:00
nemunaire
607e0bc7f6
AXFRDDNS: fix advertisement of Get-Zones capability ( #1161 )
2021-05-24 09:30:49 -04:00
陸
9b0b3bcdd6
ClouDNS does not support changing the NAPTR in the API. ( #1159 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-18 16:22:41 -04:00
Peter Thomassen
d567d554cf
DESEC: clarify supported capabilities ( #1160 )
...
* DESEC: clarify AutoDNSSEC
* DESEC: improve error messages / hints
* DESEC: add NAPTR support
* DESEC: add to integration test configuration
2021-05-17 15:45:24 -04:00
陸
9949cba00d
CLOUDNS: Support NAPTR, Update setup docs: ( #1158 )
...
- Changed the URL of the ClouDNS document from "asia.cloudns.net" to "www.cloudns.net".
- A little addition about TTL.
2021-05-15 09:38:27 -04:00
Costas Drogos
ce9005c7a8
ns1: Implement EnsureDomainExists ( #1157 )
...
API support is there, let's use it.
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-14 14:39:09 -04:00
Costas Drogos
9497a988ea
Enable support for CAA in ns1 ( #1150 )
...
* Enable support for CAA in ns1
NS1 rest already supports it, enable the capability and handle CAA.
* ns1: sort capabilities
more readable
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-11 16:35:28 -04:00
Costas Drogos
d8146a4a19
NS1: fix ALIAS handling ( #1154 )
...
A bug was introduced in a2042c2eda
, which stoped ALIAS records
from setting their record type correctly (it was set to nil).
Specifically, case "ALIAS" doesn't fall through to any of the other cases
below, leading ALIAS records to set their type to nil.
To fix that, readd the code that got absorbed by the URLFWD in a2042c2eda
.
2021-05-11 15:52:27 -04:00
Jan-Philipp Benecke
cf8e288339
PowerDNS: fix order problems of delete corrections & some cleanup ( #1153 )
...
Signed-off-by: Jan-Philipp Benecke <jan-philipp.benecke@jpbe.de>
2021-05-10 10:18:40 -04:00
Shrikant Sharat Kandula
4458595333
NAMECHEAP: Enable ALIAS support ( #1149 )
...
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-10 08:52:46 -04:00
Tom Limoncelli
24083d3f76
Add integration test for SOA ( #1147 )
...
* Add integration test for SOA
* Add docs for SOA record
* MAINT: Rename SoaInfo to SoaDefaults.
gorename -v -from '"github.com/StackExchange/dnscontrol/v3/providers/bind".SoaInfo' -to SoaDefaults
2021-05-07 14:39:26 -04:00
fuero
6b4d740f91
AXFRDDNS provider - adds update/transfer connection modes support ( #1143 )
...
* Adds update/transfer connection modes support
* Fixes typo
* gofmt all (#1144 )
* go generate (#1145 )
* go generate
* gofmt
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-07 08:21:14 -04:00
fuero
4586ad1281
Direct SOA record management ( #1115 )
...
* Adds SOA record to JS, zone parsing and record validation
* adds JS parsing test for SOA record
* fix validation & regenerates static resources
* Adds label and target test for SOA record
* Removes serial from SOA JS macro
* Adds generated resources
* reformat with gofmt
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-04 15:47:26 -04:00
Tom Limoncelli
8d139d182f
gofmt all ( #1144 )
2021-05-04 14:15:31 -04:00
split-and-join
a0bbc66983
MSDNS Fix pssession; Allow alternative credentials ( #1140 )
...
* Add options for PSCredentials
* UTF-8 encoded reading
* Fix cred comparison for session based PSRemoting
* Better conditional
* Fix failing test
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-05-02 11:25:06 -04:00
Tom Limoncelli
88c05d9484
Update deps ( #1141 )
2021-05-02 11:04:42 -04:00
Tom Limoncelli
d5bfee9f1e
Maint: DS record tests should use more realistic data ( #1127 )
...
* DS tests should use real hashes
* Increase integration test timeout to 20m
2021-04-17 10:49:06 -04:00
Rashad J
a65b310520
perf(go sdk): introducing semver to HEXONET provider ( #1120 )
...
* build(go sdk): fixed outdated dependencies issue
* refactor(.back files): removed .bak files
Co-authored-by: Rashad Jamara <rjamara@hexonet.net>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2021-04-13 07:30:32 -04:00
Jan-Philipp Benecke
ed42eca946
Make creds file executable ( #1119 )
...
* Make creds file executable
* Implementing code review
* Abstract reading creds file into function
* Implement code review
2021-04-12 16:20:32 -04:00
nemunaire
ce6006cce7
GANDI_V5 & OVH: Implement ZoneLister ( #1117 )
...
* GANDI_V5: implement ZoneLister
* OVH: implement ZoneLister
2021-04-03 10:31:25 -04:00
Phil Pennock
059b58ed9e
GANDI_V5: supports DS records already ( #1112 )
...
* Simply mark DS as supported, let existing tests handle it.
* Fix trivial typo in diagnostic feedback from model SetTargetDSString()
* The support matrix includes more changes because it was stale.
2021-03-29 10:04:36 -04:00
Rashad J
b0fd111ea2
HEXONET: AuditRecord should permit TXT with long strings ( #1107 )
...
Co-authored-by: Rashad Jamara <rjamara@hexonet.net>
2021-03-28 11:38:59 -04:00