Fixed 0x20 encoding in cache.

This commit is contained in:
Revertron
2026-04-04 15:49:16 +02:00
parent c90458eaaf
commit 5044064f6c
+9 -5
View File
@@ -109,17 +109,21 @@ impl DnsResolver for ForwardingDnsResolver {
Ok(mut result) => {
let elapsed = start.elapsed().as_secs_f64() * 1000.0;
self.context.forwarder_tracker.record_success(upstream, elapsed);
self.context.cache.store(&result.answers)?;
// Fix domain names in answers to match original query case
// Fix domain names to match original query case before caching
let qname_lower = qname.to_lowercase();
for answer in &mut result.answers {
if let Some(domain) = answer.get_domain() {
for rec in result.answers.iter_mut()
.chain(result.authorities.iter_mut())
.chain(result.resources.iter_mut())
{
if let Some(domain) = rec.get_domain() {
if domain.to_lowercase() == qname_lower {
answer.set_domain(qname.to_string());
rec.set_domain(qname.to_string());
}
}
}
self.context.cache.store(&result.answers)?;
return Ok(result);
}
Err(e) => {