]> git.ipfire.org Git - thirdparty/bind9.git/commit
add support for synthesized PTR answers
authorColin Vidal <colin@isc.org>
Mon, 31 Mar 2025 13:57:24 +0000 (15:57 +0200)
committerColin Vidal <colin@isc.org>
Wed, 1 Oct 2025 10:16:05 +0000 (12:16 +0200)
commita0da7849930681ff2cb674716b762015002bc117
treee40db47f458f53f62e8863c0b130a5ee0b455e84
parentb4568a85c1b98c7af88dcd6c88bcdf624ddfa817
add support for synthesized PTR answers

Add a BIND9 plugin which, in "reverse" mode, enables the server to build
a synthesized response to a PTR query when the PTR record requested is
not found in the zone. (The plugin won't be called for names below a
delegation point, because it couldn't know whether a name actually
exists within the delegation.)

The dynamically-built name is constructed from a static prefix (passed
as a plugin parameter), the IP address (extracted from the query name)
and a suffx (also passed as a plugin parameter).  An "allow-synth"
address-match list is used to limit the network addresses for which
the plugin may generate responses.

The plugin can also be used in "forward" mode, to build synthesized
A/AAAA records from names using the same format as he dynamically-built
PTR names, if the query name and type are not found in the zone.
The same parameters are used when the plugin is in forward mode:
the plugin will react and answer a query if the name matches the
configured prefix and origin, and encodes an IP address that is
within "allow-synth".
bin/plugins/meson.build
bin/plugins/synthrecord.c [new file with mode: 0644]
meson.build