mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-10 10:10:00 -04:00
Add synthrecord systest with long prefix
Add a system test covering the synthrecord in reverse mode with a (too) long prefix. If the prefix size doesn't leave room to add the reversed IP address, the attempt to generate a name is aborted, and `NXDOMAIN` is returned.
This commit is contained in:
parent
80496aeb68
commit
38f4d05f74
2 changed files with 20 additions and 0 deletions
|
|
@ -1,4 +1,5 @@
|
|||
{% set inview = inview | default(False) %}
|
||||
{% set toolongprefix = toolongprefix | default(False) %}
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.1;
|
||||
|
|
@ -56,7 +57,11 @@ zone "0.53.10.in-addr.arpa." {
|
|||
type primary;
|
||||
file "0.53.10.in-addr.arpa.db";
|
||||
plugin query "@TOP_BUILDDIR@/synthrecord" {
|
||||
{% if toolongprefix %}
|
||||
prefix "waytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefixwaytoolongprefix";
|
||||
{% else %}
|
||||
prefix "dynamic-";
|
||||
{% endif %}
|
||||
allow-synth {
|
||||
10.53.0.0/24;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -508,3 +508,18 @@ def test_synthrecord_inview(ns1, templates):
|
|||
cmd = ns1.rndc("reconfig", raise_on_exception=False)
|
||||
assert cmd.rc != 0
|
||||
watcher.wait_for_line("'synthrecord' must be configured as a zone plugin")
|
||||
|
||||
|
||||
def test_synthrecord_toolongprefix(ns1, templates):
|
||||
templates.render("ns1/named.conf", {"toolongprefix": True})
|
||||
with ns1.watch_log_from_here() as watcher:
|
||||
ns1.rndc("reconfig")
|
||||
watcher.wait_for_line("running")
|
||||
ip = IPv4Address("10.53.0.8")
|
||||
with ns1.watch_log_from_here() as watcher:
|
||||
query = dns.message.make_query(ip.reverse_pointer, "PTR")
|
||||
res = isctest.query.udp(query, SERVER)
|
||||
assert res.rcode() == dns.rcode.NXDOMAIN
|
||||
watcher.wait_for_line(
|
||||
"synthrecord cannot create reverse answer name: ran out of space"
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in a new issue