Commit c40ba8844e for bind
commit c40ba8844e9d08181a274394c582a5c4542b8680
Author: OndÅ™ej Surý <ondrej@isc.org>
Date: Thu Aug 13 09:16:08 2026 +0200
Test duplicate singleton rejection
Add FORMERR cases for identical duplicate SOA and CNAME records to the
formerr system test.
Assisted-by: Codex:gpt-5
diff --git a/bin/tests/system/formerr/tests_formerr.py b/bin/tests/system/formerr/tests_formerr.py
index b456de6248..dd9483d144 100644
--- a/bin/tests/system/formerr/tests_formerr.py
+++ b/bin/tests/system/formerr/tests_formerr.py
@@ -147,6 +147,15 @@ def soa_rr(
)
+def cname_rr(*, target: bytes) -> bytes:
+ return rr(
+ root(),
+ dns.rdatatype.RdataType.CNAME,
+ dns.rdataclass.RdataClass.IN,
+ rdata=target,
+ )
+
+
def nsec3_rr(
*,
owner: bytes,
@@ -342,6 +351,32 @@ def query_raw_tcp(host: str, port: int, packet_wire: bytes) -> bytes:
),
id="dupans",
),
+ pytest.param(
+ wire(
+ header(qdcount=1, ancount=2),
+ question(root(), dns.rdatatype.RdataType.SOA),
+ soa_rr(minimum=5),
+ soa_rr(minimum=5),
+ ),
+ wire(
+ formerr_response_header(qdcount=1),
+ question(root(), dns.rdatatype.RdataType.SOA),
+ ),
+ id="dupans-identical-soa",
+ ),
+ pytest.param(
+ wire(
+ header(qdcount=1, ancount=2),
+ question(root(), dns.rdatatype.RdataType.CNAME),
+ cname_rr(target=name("target.")),
+ cname_rr(target=name("target.")),
+ ),
+ wire(
+ formerr_response_header(qdcount=1),
+ question(root(), dns.rdatatype.RdataType.CNAME),
+ ),
+ id="dupans-identical-cname",
+ ),
pytest.param(
wire(
header(ancount=1),