We would not make progres anyway, and end up repeatedly asking the full name
from the roots as the "Trying less specific NS" code path is hit.
Noted by and fix from @phonedph1
Fixes #12090
As this is an optimzation for broken domains, this is not an immediate candidate
for backporting, though it should be considered for that after more testing.
return res;
}
+ // If we have seen this child during resolution already; just skip it. We tried to QM it already or otherwise broken.
+ bool skipStep4 = false;
+ for (const auto& visitedNS : beenthere) {
+ if (visitedNS.qname == child) {
+ skipStep4 = true;
+ break;
+ }
+ }
+ if (skipStep4) {
+ QLOG("Step4 Being skipped as visited this child name already");
+ continue;
+ }
+
// Step 4
QLOG("Step4 Resolve A for child");
bool oldFollowCNAME = d_followCNAME;