Classes

Finds records that PowerDNS Auth 5.1.x would alter when they are written back through its REST API: it removes one level of backslash escaping from record content (PowerDNS issue 18159), so "a\b" is stored as "a\b" and "a\"b" is refused.

Creates PTR records for a whole IPv4 or IPv6 /64 network, optionally only where forward A/AAAA records exist.

Generates standard BIND zone files from DNS records.

Parses one CSV line of the bulk record form (name,type,content,prio,ttl[,disabled][,comment]) into a record.

The apex SOA a zone gets when no template supplies one, built from the dns.* settings.

Normalizes record content before saving; wraps TXT content in quotes when dns.txt_auto_quote is on.

Validates a record by dispatching to the validator for its type.

Creates, updates and deletes zones for the web UI, including template records and DNSSEC setup.

Splits a domain name into subdomain, domain and TLD parts.

Adds the matching A record in the managed forward zone when a PTR record is created in a reverse zone.

Helper functions for dynamic DNS updates

Runs a DDNS update: validates and authenticates it, picks the owning zone and syncs the A/AAAA records.

Validates a DDNS request's user agent, username, hostname and IP lists before any update is applied.

Replaces every record of one name and type with a new set: validate all, delete the old set, insert the new one.

Outcome of deleting a selection of records: how many went, and the reason for each one the backend refused. Rows that no longer exist are skipped silently and count for neither.

Outcome of deleting a record together with its reverse counterpart.

Deletes a record and, when asked and when reverse handling is on, the PTR of an A/AAAA record or the A/AAAA of a PTR record. A selection of records is deleted the same way, with each affected zone finalized once.

Service responsible for transforming DNS records for display purposes Implements the Single Responsibility Principle by focusing only on display transformations

Captures a record before and after an edit and writes the change to the zone audit log.

Creates, updates and deletes records for the web UI, with validation, logging and serial updates.

Finds the A or AAAA records of a forward zone whose addresses fall inside a given IPv4 range or IPv6 /64.

Record-type lists for the forward and reverse zone editors, filtered by config, DNSSEC and server support.

Outcome of a record write. Replaces the bool return plus MessageService side channel: callers read the reason, the refusal and the offending record part from here instead of the session.

Keeps PTR records in step with A/AAAA records: adds, updates and deletes the counterpart in the paired zone.

Resolves the default TTL for new records.

Reads and rewrites SOA records and bumps their serial.

Creates, updates and deletes PowerDNS supermasters.

Outcome of a supermaster write. Callers read the reason, its code and the refusal from here instead of a message side channel.

Applies a zone template to an existing zone: removes the records an earlier application of that template wrote, writes and links the template's records, repoints the zone at the template and reconciles the sync state.

Outcome of a zone write (create, delete, metadata, owner or template change).

Interfaces

Validates a record before it is written.

Zone creation, update and deletion.

Record creation, update and deletion.

SOA record and serial handling.