technitium-dns-server: fix missing DNSSEC DO bit in authoritative responses

Assisted-by: Claude Code (Fable 5)
This commit is contained in:
Leon Hubrich 2026-06-10 14:06:22 +02:00
commit adc33d694d
2 changed files with 19 additions and 0 deletions

View file

@ -0,0 +1,13 @@
diff --git a/DnsServerCore/Dns/ZoneManagers/AuthZoneManager.cs b/DnsServerCore/Dns/ZoneManagers/AuthZoneManager.cs
index 352ea6c0..41a9a1c7 100644
--- a/DnsServerCore/Dns/ZoneManagers/AuthZoneManager.cs
+++ b/DnsServerCore/Dns/ZoneManagers/AuthZoneManager.cs
@@ -3536,7 +3536,7 @@ namespace DnsServerCore.Dns.ZoneManagers
}
}
- return new DnsDatagram(request.Identifier, true, DnsOpcode.StandardQuery, true, false, request.RecursionDesired, isRecursionAllowed, false, false, rCode, request.Question, answer, authority, additional, udpPayloadSize: _dnsServer.UdpPayloadSize, options: eDnsOptions);
+ return new DnsDatagram(request.Identifier, true, DnsOpcode.StandardQuery, true, false, request.RecursionDesired, isRecursionAllowed, false, false, rCode, request.Question, answer, authority, additional, _dnsServer.UdpPayloadSize, request.DnssecOk ? EDnsHeaderFlags.DNSSEC_OK : EDnsHeaderFlags.None, eDnsOptions);
}
}

View file

@ -41,6 +41,12 @@ buildDotnetModule rec {
libmsquic
];
# Confirmed correct by upstream, remove when fixed in a release:
# https://github.com/TechnitiumSoftware/DnsServer/issues/1967
patches = [
./dnssec-do-bit-fix.patch
];
passthru.tests = {
inherit (nixosTests) technitium-dns-server;
};