Some fixes.

This commit is contained in:
2025-08-10 22:14:50 +02:00
parent 38bacc4733
commit bc3aa0a5b9
+23 -14
View File
@@ -351,21 +351,30 @@ impl DnsTest {
Ok(format!("NS records: {}", records.join(", "))) Ok(format!("NS records: {}", records.join(", ")))
} }
RecordType::CNAME => { RecordType::CNAME => {
let lookup = resolver match resolver.lookup(name.clone(), self.record_type).await {
.lookup(name.clone(), self.record_type) Ok(lookup) => {
.await let records: Vec<String> = lookup
.map_err(|e| format!("CNAME lookup failed: {}", e))?; .iter()
let records: Vec<String> = lookup .filter_map(|record| {
.iter() if let RData::CNAME(cname) = record.clone().into_rdata() {
.filter_map(|record| { Some(cname.to_string())
if let RData::CNAME(cname) = record.clone().into_rdata() { } else {
Some(cname.to_string()) None
}
})
.collect();
Ok(format!("CNAME records: {}", records.join(", ")))
}
Err(e) => {
// Check if this is just "no records found" which is normal for domains without CNAME
let error_str = e.to_string();
if error_str.contains("no record found") {
Ok("CNAME records: (none - domain is not an alias)".to_string())
} else { } else {
None Err(format!("CNAME lookup failed: {}", e))
} }
}) }
.collect(); }
Ok(format!("CNAME records: {}", records.join(", ")))
} }
RecordType::SOA => { RecordType::SOA => {
let lookup = resolver let lookup = resolver
@@ -418,7 +427,7 @@ impl DnsTest {
}) })
.await .await
.map_err(|_| NetworkError::Timeout)? .map_err(|_| NetworkError::Timeout)?
.map_err(|_: String| NetworkError::DnsResolution("System resolver failed".to_string()))?; .map_err(|e: String| NetworkError::DnsResolution(e))?;
Ok(response) Ok(response)
} }