FilterAaaa: code refactoring done for optimization.

This commit is contained in:
Shreyas Zare
2024-11-16 18:51:20 +05:30
parent acd72344d4
commit 0fc6788972

View File

@@ -115,18 +115,6 @@ namespace FilterAaaa
if (_bypassLocalZones && response.AuthoritativeAnswer) if (_bypassLocalZones && response.AuthoritativeAnswer)
return response; 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) if (response.RCODE != DnsResponseCode.NoError)
return response; return response;
@@ -136,6 +124,24 @@ namespace FilterAaaa
bool hasAAAA = false; bool hasAAAA = false;
if (request.DnssecOk)
{
foreach (DnsResourceRecord record in response.Answer)
{
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) foreach (DnsResourceRecord record in response.Answer)
{ {
if (record.Type == DnsResourceRecordType.AAAA) if (record.Type == DnsResourceRecordType.AAAA)
@@ -144,6 +150,7 @@ namespace FilterAaaa
break; break;
} }
} }
}
if (!hasAAAA) if (!hasAAAA)
return response; return response;