Commit graph

480 commits

Author SHA1 Message Date
Thomas Limoncelli
8c140c0b3b
Merge branch 'main' into branch_allrecs 2025-11-30 20:10:43 -05:00
Thomas Limoncelli
29dbdbbd5c
fixup! 2025-11-30 20:06:03 -05:00
Thomas Limoncelli
cbbb396026
RP works FromStruct but hardcoding needs to be removed 2025-11-30 18:07:00 -05:00
Thomas Limoncelli
a3ed1dc6b2
wip! getting BIND to work 2025-11-30 11:46:27 -05:00
Thomas Limoncelli
1efa022349
wip! 2025-11-30 10:50:18 -05:00
Thomas Limoncelli
a5a624ff96
Clean up cfsingleredirect 2025-11-30 09:28:24 -05:00
Tom Limoncelli
1b2f5d4d34
BUGFIX: IDN support is broken for domain names (#3845)
# Issue

Fixes https://github.com/StackExchange/dnscontrol/issues/3842

CC @das7pad

# Resolution

Convert domain.Name to IDN earlier in the pipeline. Hack the --domains
processing to convert everything to IDN.

* Domain names are now stored 3 ways: The original input from
dnsconfig.js, canonical IDN format (`xn--...`), and Unicode format. All
are downcased. Providers that haven't been updated will receive the IDN
format instead of the original input format. This might break some
providers but only for users with unicode in their D("domain.tld").
PLEASE TEST YOUR PROVIDER.
* BIND filename formatting options have been added to access the new
formats.

# Breaking changes

* BIND zonefiles may change. The default used the name input in the D()
statement. It now defaults to the IDN name + "!tag" if there is a tag.
* Providers that are not IDN-aware may break (hopefully only if they
weren't processing IDN already)

---------

Co-authored-by: Jakob Ackermann <das7pad@outlook.com>
2025-11-29 12:17:44 -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
Thomas Limoncelli
4b68c79d4f
fixing tests 2025-11-26 23:13:39 -05:00
Thomas Limoncelli
3d5f5a1c49
remove debug statements 2025-11-26 21:48:12 -05:00
Thomas Limoncelli
98f4075bd7
cf redirects work, but wrong order 2025-11-26 21:25:25 -05:00
Thomas Limoncelli
76791cefc7
wip! 2025-11-25 17:54:44 -05:00
Thomas Limoncelli
acc6d362d0
wip! 2025-11-25 17:54:30 -05:00
Thomas Limoncelli
a95edcaa58
Merge branch 'tlim_b3842_idn' into branch_allrecs 2025-11-25 13:17:07 -05:00
Thomas Limoncelli
efab6aaab1
WDYT about printing the domain using unicode again? 2025-11-25 12:02:16 -05:00
Thomas Limoncelli
d54047f74a
Fix BIND 2025-11-25 11:29:05 -05:00
Thomas Limoncelli
a0ec11ee60
Fix BIND 2025-11-25 11:28:41 -05:00
Thomas Limoncelli
14c98cdda1
cleanups 2025-11-24 20:53:19 -05:00
Thomas Limoncelli
cc8884824d
permit works 2025-11-24 20:25:38 -05:00
Thomas Limoncelli
c2a64002fe
refactor(idn) IDN now works at the domain (not just label) level 2025-11-24 20:25:38 -05:00
Thomas Limoncelli
d0604a24d1
m 2025-11-24 20:25:38 -05:00
Thomas Limoncelli
4b7da682a4
wip! 2025-11-24 13:24:51 -05:00
Thomas Limoncelli
3ee4e84dbd
rename tests 2025-11-21 12:37:50 -05:00
Thomas Limoncelli
8070fca72c
Fix unit tests 2025-11-21 12:04:50 -05:00
Thomas Limoncelli
507dc4e0ad
fixup! 2025-11-21 11:50:30 -05:00
Tom Limoncelli
4d29c2c2a5
NEW FEATURE: Empty creds.json should not be an error (#3844) 2025-11-21 10:46:18 -05:00
Thomas Limoncelli
c7f625a502
BUGFIX: Domains with Unicode should convert to IDN earlier 2025-11-21 10:46:05 -05:00
Thomas Limoncelli
bba3d4fbb8
NEW FEATURE: Empty creds.json should not be an error 2025-11-21 10:20:41 -05:00
Gabe Van Engel
bdf8bef203
DEPS: Switch to maintained fork of shoutrrr (#3838) 2025-11-17 11:52:26 -05:00
Gabe Van Engel
97209bc2fc
AKAMAIEDGEDNS: Add ALIAS and AKAMAITLC support to the Akamai Edge DNS provider (#3836) 2025-11-14 09:48:42 -05:00
Matteo Trubini
d8aa89028e
refactor(DKIM_BUILDER): improve input validation and error handling (#3812) 2025-11-03 11:33:09 -05:00
Elvis Ratzlaff
2a4e2509bc
POWERDNS: New record type: LUA (#3815) 2025-11-03 11:32:28 -05:00
Matteo Trubini
b7c4cac759
fix(DKIM_BUILDER): allow empty pubkey (#3800) 2025-10-22 09:42:53 -04:00
Tom Limoncelli
db21e30abb
Update deps (#3790) 2025-10-10 14:16:46 -04:00
Tom Limoncelli
3eddfcd037
feat(validation): Validation errors now include the line number (#3788) 2025-10-10 13:48:41 -04:00
Jan von Aschwege
a71b89e5a2
NEW FEATURE: Add SMIMEA support for BIND and deSEC (#3786) 2025-10-10 11:16:13 -04:00
Tom Limoncelli
30d91d5f60
CHORE: Update deps (#3782) 2025-10-01 15:44:02 -04:00
Paul Sütterlin
589cb77c68
CAA: Support issuemail / issuevmc tag in CAA builder (#3774)
Co-authored-by: Paul Sütterlin <psuet@kawo1.rwth-aachen.de>
2025-09-22 16:12:30 -04:00
Tom Limoncelli
f2ff95a20e
FEATURE: Optionally disable spfcache.json (#3765)
Co-authored-by: Jeffrey Cafferata <jeffrey@jcid.nl>
2025-09-13 12:23:46 -04:00
networkException
f874b5fc1d
FEATURE: Support RFC 9495 issuemail tag in CAA records (#3762) 2025-09-05 16:07:42 -04:00
Amin Vakil
6e0c7b1c82
Make native telegram alert text similar to shoutrrr (#3750) 2025-08-29 10:50:27 -04:00
Tom Limoncelli
4ee1ed6ad2
CHORE: upgrade deps, fix OPENPGPKEY test (#3726) 2025-08-14 12:17:25 -04:00
Georg
8c8948e69a
NEW RECORD TYPE: OPENPGPKEY (basic) (#3718)
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2025-08-11 10:44:12 -04:00
Alex Trull
ca64774004
Joker: Implement DNS Provider (#3661)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2025-08-04 16:37:20 -04:00
Tom Limoncelli
633196e328
Warn if IGNORE() is unreliable for this provider (#3683) 2025-07-30 20:41:49 -04:00
Tom Limoncelli
1f86d69b09
DOCS: Warn that "" should be "@" in error messages & docs. Update docs to suggest safer onboarding process. (#3691) 2025-07-29 14:50:59 -04:00
Tom Limoncelli
78c2313d71
fmt (#3684) 2025-07-23 17:49:24 -04:00
Costas Drogos
c842eb26a5
NEW FEATURE: DKIM_BUILDER() adds a DKIM record builder (#3627)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2025-07-18 10:38:50 -04:00
Tom Limoncelli
a8a3ea73ba
CHORE: remove unused module pkg/acme (get-certs) (#3667) 2025-07-14 15:40:31 -04:00
James O'Gorman
74e1bb50da
BUG: Output better "version" string when running main.go directly (#3658) 2025-07-09 16:35:23 -04:00