fix: address dns review feedback

This commit is contained in:
fanyang
2026-06-24 00:09:37 +08:00
parent 34aa54b777
commit 7eadd5c6a0
3 changed files with 11 additions and 5 deletions
+3 -3
View File
@@ -5,7 +5,7 @@ use hickory_proto::rr::LowerName;
use hickory_resolver::config::ResolverOpts;
use hickory_resolver::net::runtime::TokioRuntimeProvider;
use hickory_resolver::system_conf::read_system_conf;
use hickory_server::net::runtime::{Time, TokioTime};
use hickory_server::net::runtime::TokioTime;
use hickory_server::server::Server as HickoryServer;
use hickory_server::server::{Request, RequestHandler, ResponseHandler, ResponseInfo};
use hickory_server::store::forwarder::ForwardConfig;
@@ -221,7 +221,7 @@ impl Server {
.update(
update,
response_edns.as_ref(),
TokioTime::current_time(),
<TokioTime as hickory_server::net::runtime::Time>::current_time(),
response_handle,
)
.await
@@ -243,7 +243,7 @@ impl Server {
.lookup(
request,
response_edns.as_ref(),
TokioTime::current_time(),
<TokioTime as hickory_server::net::runtime::Time>::current_time(),
response_handle,
)
.await
@@ -272,6 +272,7 @@ impl ResponseHandler for ResponseWrapper {
.response
.lock()
.map_err(|_| NetError::Msg("lock poisoned".to_string()))?;
buffer.clear();
let mut encoder = BinEncoder::new(&mut buffer);
+7 -2
View File
@@ -10,6 +10,7 @@ use hickory_resolver::config::{
ConnectionConfig, NameServerConfig, ResolverConfig, ResolverOpts,
};
use hickory_resolver::net::runtime::TokioRuntimeProvider;
use hickory_resolver::net::{DnsError, NetError};
use tokio::sync::Notify;
use tokio_util::sync::CancellationToken;
@@ -92,8 +93,12 @@ pub async fn check_dns_record_missing(fake_ip: &Ipv4Addr, domain: &str) {
let response = resolver
.lookup(rr::Name::from_str(domain).unwrap(), rr::RecordType::A)
.await;
if let Ok(response) = response {
assert!(response.answers().is_empty(), "{:?}", response);
match response {
Ok(response) => assert!(response.answers().is_empty(), "{:?}", response),
Err(NetError::Dns(DnsError::NoRecordsFound(_))) => {}
Err(e) => {
panic!("DNS query for missing record failed unexpectedly for domain '{domain}': {e}")
}
}
}