Patrik Kernstock
|
6e42ccfb31
|
INWX: Enable concurrency support (#3856)
Tested dnscontrol with `CanConcur()` enabled and seems to work fine.
Read #2873 to see what to do, and hope below is the right way to test.
```text
$ go build -race -o dnscontrol-race
$ ./dnscontrol-race version
v4.27.2-0.20251127184623-cf6b870052c0+dirty
$ dnscontrol-race preview
CONCURRENTLY checking for 16 zone(s)
SERIALLY checking for 6 zone(s)
Serially checking for zone: "domainX.tld"
Serially checking for zone: "domainX.tld"
Serially checking for zone: "domainX.tld"
Serially checking for zone: "domainX.tld"
Serially checking for zone: "domainX.tld"
Serially checking for zone: "domainX.tld"
Waiting for concurrent checking(s) to complete...DONE
CONCURRENTLY gathering records of 16 zone(s)
SERIALLY gathering records of 6 zone(s)
Serially Gathering: "domainX.tld"
Serially Gathering: "domainX.tld"
Serially Gathering: "domainX.tld"
Serially Gathering: "domainX.tld"
Serially Gathering: "domainX.tld"
Serially Gathering: "domainX.tld"
Waiting for concurrent gathering(s) to complete...DONE
******************** Domain: domainX.tld
INFO#1: 4 records not being deleted because of NO_PURGE:
[...]
******************** Domain: domainX.tld
******************** Domain: domainX.tld
INFO#1: 4 records not being deleted because of NO_PURGE:
[...]
******************** Domain: domainX.tld
******************** Domain: domainX.tld
******************** Domain: domainX.tld
1 correction (PK-INWX)
INFO#1: 1 records not being deleted because of IGNORE*():
[...]
******************** Domain: domainX.tld
******************** Domain: domainX.tld
******************** Domain: domainX.tld
******************** Domain: domainX.tld
30 corrections (PK-INWX)
[...]
******************** Domain: domainX.tld
******************** Domain: domainX.tld
2 corrections (PK-INWX)
[...]
******************** Domain: domainX.tld
******************** Domain: domainX.tld
******************** Domain: domainX.tld
******************** Domain: domainX.tld
2 corrections (PK-INWX)
[...]
******************** Domain: domainX.tld
******************** Domain: domainX.tld
Done. 37 corrections.
```
Unfortunately INWX sandbox is sporadically still broken so `go test` is
of limited help:
```text
$ go test -v -verbose -profile INWX
=== RUN TestDNSProviders
Testing Profile="INWX" (TYPE="INWX")
helpers_test.go:122: INWX: Unable to login
--- FAIL: TestDNSProviders (30.03s)
=== RUN TestDualProviders
Testing Profile="INWX" (TYPE="INWX")
provider_test.go:50: Clearing everything
provider_test.go:57: Adding test nameservers
provider_test.go:44: #1:
+ CREATE dnscontrol-inwx.com NS ns1.example.com. ttl=300
provider_test.go:44: #2:
+ CREATE dnscontrol-inwx.com NS ns2.example.com. ttl=300
provider_test.go:60: Running again to ensure stability
provider_test.go:76: Removing test nameservers
provider_test.go:44: #1:
- DELETE dnscontrol-inwx.com NS ns1.example.com. ttl=300
provider_test.go:44: #2:
- DELETE dnscontrol-inwx.com NS ns2.example.com. ttl=300
--- PASS: TestDualProviders (2.44s)
=== RUN TestNameserverDots
Testing Profile="INWX" (TYPE="INWX")
=== RUN TestNameserverDots/No_trailing_dot_in_nameserver
--- PASS: TestNameserverDots (0.30s)
--- PASS: TestNameserverDots/No_trailing_dot_in_nameserver (0.00s)
=== RUN TestDuplicateNameservers
Testing Profile="INWX" (TYPE="INWX")
provider_test.go:145: Skipping. Deduplication logic is not implemented for this provider.
--- SKIP: TestDuplicateNameservers (0.35s)
FAIL
exit status 1
FAIL github.com/StackExchange/dnscontrol/v4/integrationTest 33.127s
```
|
2025-12-01 09:13:06 -05:00 |
|
Patrik Kernstock
|
9aad2926fb
|
INWX: Fix INWX provider after their unexpected data-type breaking-change (#3855)
Fixes #3854
Unfortunately I couldn't run the integrationTests properly as INWX
doesn't seem to have properly updated their sandbox environment (it
still presents `int` instead of `string` like production). Hence, the
tests do fail. I don't want to run this against my own production
account, to be frank.
See:
```shell
$ curl -X POST https://api.ote.domrobot.com/xmlrpc/ -H "Content-Type: application/xml" -d '<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>nameserver.info</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>user</name>
<value>
<string>[USER]</string>
</value>
</member>
<member>
<name>lang</name>
<value>
<string>en</string>
</value>
</member>
<member>
<name>pass</name>
<value>
<string>[PASS]</string>
</value>
</member>
<member>
<name>domain</name>
<value>
<string>[DOMAIN]</string>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>' | xmllint --format - | grep -iE "id|roId" -C3
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3968 0 2971 100 997 13375 4488 --:--:-- --:--:-- --:--:-- 17954
<value>
<struct>
<member>
<name>roId</name>
<value>
<int>9677</int>
</value>
--
<value>
<struct>
<member>
<name>id</name>
<value>
<int>118057</int>
</value>
--
<value>
<struct>
<member>
<name>id</name>
<value>
<int>118060</int>
</value>
--
<value>
<struct>
<member>
<name>id</name>
<value>
<int>79610</int>
</value>
--
<value>
<struct>
<member>
<name>id</name>
<value>
<int>77243</int>
</value>
--
</value>
</member>
<member>
<name>svTRID</name>
<value>
<string>20251127--ote</string>
</value>
```
Hence, only done manualy tests via `dnscontrol push --domains
<example.com>`:
(tested create, delete and modify)
```text
CONCURRENTLY checking for 0 zone(s)
SERIALLY checking for 1 zone(s)
Serially checking for zone: "example.tld"
CONCURRENTLY gathering records of 0 zone(s)
SERIALLY gathering records of 1 zone(s)
Serially Gathering: "example.tld"
******************** Domain: example.tld
3 corrections (PK-INWX)
#1: - DELETE _test1.example.tld TXT "123" ttl=43200
SUCCESS!
#2: ± MODIFY _test2.example.tld TXT ("1234" ttl=43200) -> ("12345" ttl=43200)
SUCCESS!
#3: + CREATE _test4.example.tld TXT "123" ttl=43200
SUCCESS!
Done. 3 corrections.
```
|
2025-11-29 12:17:13 -05:00 |
|
Elvis Ratzlaff
|
a1e74eb11f
|
POWERDNS: Zone creation now abides by variant tags (#3830)
|
2025-11-05 09:33:47 -05:00 |
|
Eli Heady
|
c1b90d06a0
|
INWX: Let the API (not DNSControl) enforce the RFC 7505 prohibition of mixed regular/null MX records (#3805)
Co-authored-by: Tom Limoncelli <6293917+tlimoncelli@users.noreply.github.com>
|
2025-11-03 11:44:40 -05:00 |
|
Eli Heady
|
97bbc80b2a
|
INWX: BUGFIX: ALIAS RRs updates are broken due to trailing dot issue (#3564)
|
2025-05-05 10:29:44 -04:00 |
|
Manuel
|
c204ccea09
|
INWX: support ALIAS records (#3499)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
|
2025-05-03 08:27:30 -04:00 |
|
Eli Heady
|
07ffb3ab58
|
INWX: use domain ACE encoding as cache key (#3519)
|
2025-05-03 08:25:57 -04:00 |
|
Eli Heady
|
1c04affe7c
|
INWX: Add AutoDNSSEC support (#3534)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
|
2025-05-03 08:23:38 -04:00 |
|
Eli Heady
|
cfaa82f5c9
|
INWX: Fix Null MX handling (#3524)
|
2025-04-14 10:24:05 -04:00 |
|
Jakob Ackermann
|
76e1d38287
|
INWX: populate zone cache after creating zone (#3334)
|
2025-04-08 10:32:20 -04:00 |
|
Jeffrey Cafferata
|
9c7fafab78
|
DOCS: Reclassify providers concurrency status (#3518)
|
2025-04-02 16:36:00 -04:00 |
|
Eli Heady
|
6bf1fda6d9
|
INWX: move to diff2 for record corrections (#3501)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
|
2025-03-23 15:43:59 -04:00 |
|
Eli Heady
|
e0e3021ca8
|
INWX: use provisioned nameservers, fall back to hardcoded defaults (#3502)
|
2025-03-23 15:42:15 -04:00 |
|
Tom Limoncelli
|
1a1a4bf00d
|
INWX: Enable SRV to have "." target (#3380)
|
2025-01-16 12:54:48 -05:00 |
|
Tom Limoncelli
|
89c65b6683
|
INWX: Permit "." target for SRV records (#3377)
|
2025-01-16 10:03:00 -05:00 |
|
Tom Limoncelli
|
5dbe5e84c9
|
CHORE: Fix lint warnings from golangci-lint (#3311)
|
2025-01-13 11:33:12 -05:00 |
|
Tom Limoncelli
|
06ba3cce77
|
Bugfix: Providers with batched updates might not report the correct number of changes (#3108)
|
2024-09-16 12:20:30 -04:00 |
|
Jeffrey Cafferata
|
8fa1a8d7d6
|
BUILD: Generate OWNERS files (#2997)
|
2024-07-10 15:53:50 -04:00 |
|
Christian Burmeister
|
cf4cca0df4
|
INWX: Enable support for SVCB/HTTPS (#2930)
|
2024-05-03 07:08:54 -04:00 |
|
Tom Limoncelli
|
4765f402bd
|
FEATURE: New capability: Can provider run concurrently (#2876)
|
2024-03-20 12:36:54 -04:00 |
|
Tom Limoncelli
|
e52ec54453
|
Remove unused CantUseNOPURGE capability (#2877)
|
2024-03-18 18:30:09 -04:00 |
|
Gert Van Gool
|
cd371c1149
|
INWX: support MxNull records (#2700)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
|
2023-12-08 11:58:24 -05:00 |
|
Tom Limoncelli
|
76d93acaf5
|
CHORE: Remove dead code: txtutil.SplitSingleLongTxt() and txtutil.Segment() (#2685)
|
2023-12-05 09:47:52 -05:00 |
|
Tom Limoncelli
|
cbccbbeb8d
|
REFACTOR: Opinion: TXT records are one long string (#2631)
Co-authored-by: Costas Drogos <costas.drogos@gmail.com>
Co-authored-by: imlonghao <git@imlonghao.com>
Co-authored-by: Jeffrey Cafferata <jeffrey@jcid.nl>
Co-authored-by: Vincent Hagen <blackshadev@users.noreply.github.com>
|
2023-12-04 17:45:25 -05:00 |
|
Tom Limoncelli
|
159fdf07ad
|
REFACTOR: providers should not directly access .TxtStrings (#2629)
|
2023-11-18 15:06:20 -05:00 |
|
Joachim Schwarm
|
bf4118a041
|
INWX: Paginate through Nameserver Records (#2609)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
|
2023-11-01 13:34:34 -04:00 |
|
Tom Limoncelli
|
c91fe6c1c8
|
CHORE: Remove diff1 from codebase (#2575)
|
2023-10-22 13:56:13 -04:00 |
|
Costas Drogos
|
397c2dcc7a
|
INWX: Pull list of zones from zones, not registrar (#2577)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
|
2023-10-18 10:30:31 -04:00 |
|
Patrik Kernstock
|
4e3f5f31c7
|
INWX: Support up to 2,147,483,647 domains (old limit was 20) (#2566)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
|
2023-09-27 09:13:07 -04:00 |
|
Patrik Kernstock
|
68084726c0
|
INWX: Implemented ListZones() support (#2428)
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
|
2023-06-08 13:59:57 -04:00 |
|
Patrik Kernstock
|
3250681821
|
INWX: Fix PTR test failing/unexpected PTR modify operation (#2430)
|
2023-06-08 13:34:03 -04:00 |
|
nemunaire
|
5ae231030e
|
Update version in go.mod (#2382)
|
2023-05-20 13:21:45 -04:00 |
|
Patrik Kernstock
|
1ef7c80e3a
|
INWX: Enabling TXT with 255 bytes works (#2380)
|
2023-05-20 13:19:15 -04:00 |
|
Tom Limoncelli
|
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 |
|
Tom Limoncelli
|
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 |
|
Tom Limoncelli
|
367c83a3f5
|
LOC: Refine which providers support it (#2185)
|
2023-03-16 19:59:44 -04:00 |
|
Paul Dee
|
3b6591fd95
|
NEW FEATURE: Support DNS LOC record type (#2174)
|
2023-03-16 14:04:20 -04:00 |
|
Tom Limoncelli
|
0491aadd36
|
BUG: Fix all err scopes (#2160)
|
2023-03-13 14:19:19 -04:00 |
|
Yannik Sembritzki
|
5e06c249d6
|
Rename DomainCreator to the more accurate ZoneCreator (#2038)
Co-authored-by: Yannik Sembritzki <yannik@sembritzki.org>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
|
2023-02-07 07:22:49 -05:00 |
|
Tom Limoncelli
|
30c653eeba
|
INWX: Adopt diff2 in compatibility mode (#1891)
|
2023-01-09 08:51:45 -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 |
|
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 |
|
Tom Limoncelli
|
61e500b7dc
|
DEV: Optimize integration tests (#1742)
|
2022-09-07 14:08:06 -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
|
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
|
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 |
|
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 |
|
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 |
|
Patrik Kernstock
|
f0026b8073
|
Revert "INWX: fix apex domains (#1221)" (#1242)
This reverts commit f63302b978.
|
2021-08-29 19:35:25 -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 |
|