From 5044064f6c24cc1854c0e6b24028fe7714489660 Mon Sep 17 00:00:00 2001 From: Revertron Date: Sat, 4 Apr 2026 15:49:16 +0200 Subject: [PATCH] Fixed 0x20 encoding in cache. --- src/dns/resolve.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/dns/resolve.rs b/src/dns/resolve.rs index 067dd26..21104ac 100644 --- a/src/dns/resolve.rs +++ b/src/dns/resolve.rs @@ -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) => {