No description
Find a file
Heiko Schlittermann (HS12-RIPE) df3a756660
STYLE: Replace deprecated given/when with if/elsif
Completes the smartmatch removal from #8 — the previous fix
(e661031) missed the IDN unicode block in parse() that converts
CNAME/NS/PTR/MX/SRV/TXT data via domain_to_ascii / esc_txt.

Silences "given is deprecated" / "when is deprecated" warnings on
recent Perls. CNAME/NS/PTR share a single branch since their bodies
are identical.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-06 20:36:07 +02:00
bin Merge remote-tracking branch 'origin/master' into unicode-again 2026-05-06 19:43:34 +02:00
lib/DNS STYLE: Replace deprecated given/when with if/elsif 2026-05-06 20:36:07 +02:00
t FIX: Detect compound human-readable TTLs (e.g. 1d12h) at line start 2026-05-06 20:21:46 +02:00
.gitignore Fix debian build 2016-11-10 19:37:03 +01:00
debian Do not include the debian/ in the "upstream master" 2021-01-30 09:56:24 +01:00
INSTALL Migrate to ExtUtils::MakeMaker 2016-09-30 23:00:02 +02:00
Makefile.PL escape TXT records and labels in parse() 2023-06-05 14:47:41 +02:00
MANIFEST Remove Build.PL from manifest 2016-11-10 09:08:23 +01:00
MANIFEST.SKIP skip the CHANGES file 2015-01-28 23:54:13 +01:00
README.md Add Readme 2022-10-20 10:19:46 +02:00

DNSvi

If you do not have access to the zone files but need to modify a given DNS zone, DNSvi is your friend.

It downloads the zone via AXFR, removes RRSIG and NSEC records, lets you edit the zone content using your favourite editor and sends the changes back via the NSUPDATE protocol.

Unfortunately there is an alternative project using the same name. I do not know anything about this, whether it provides matching functionality or does something completely different.

DNSvi can modify the zone locally on the DNS server, and even remotely.

Build

DNSvi uses the standard Perl tool chain (Extutils::MakeMaker).

perl Makefile.PL
make all test install

Configuration

Please read the manual page, once DNSvi is installed. Basically you need to:

  • make sure that you're allowed to transfer the zone via AXFR
  • make sure that you can update the zone via nsupdate

If you want to use DNSvi remotely you likely need to create a TSIG key and configure your DNS server accordingly.

Usage

Just start DNSvi locally on the DNS server:

dnsvi -l example.com

Or if you configured remote access:

dnsvi example.com