From 0fc6788972cf71b9efccd56b52c82d99bf61f102 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sat, 16 Nov 2024 18:51:20 +0530 Subject: [PATCH] FilterAaaa: code refactoring done for optimization. --- Apps/FilterAaaaApp/App.cs | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/Apps/FilterAaaaApp/App.cs b/Apps/FilterAaaaApp/App.cs index aaacc816..63a98667 100644 --- a/Apps/FilterAaaaApp/App.cs +++ b/Apps/FilterAaaaApp/App.cs @@ -115,18 +115,6 @@ namespace FilterAaaa if (_bypassLocalZones && response.AuthoritativeAnswer) return response; - if (request.DnssecOk) - { - foreach (DnsResourceRecord record in response.Answer) - { - if (record.Type == DnsResourceRecordType.RRSIG) - { - //response is signed and the client is DNSSEC aware; must not be modified - return response; - } - } - } - if (response.RCODE != DnsResponseCode.NoError) return response; @@ -136,12 +124,31 @@ namespace FilterAaaa bool hasAAAA = false; - foreach (DnsResourceRecord record in response.Answer) + if (request.DnssecOk) { - if (record.Type == DnsResourceRecordType.AAAA) + foreach (DnsResourceRecord record in response.Answer) { - hasAAAA = true; - break; + switch (record.Type) + { + case DnsResourceRecordType.AAAA: + hasAAAA = true; + break; + + case DnsResourceRecordType.RRSIG: + //response is signed and the client is DNSSEC aware; must not be modified + return response; + } + } + } + else + { + foreach (DnsResourceRecord record in response.Answer) + { + if (record.Type == DnsResourceRecordType.AAAA) + { + hasAAAA = true; + break; + } } }