verify_zone_signed

Function verify_zone_signed 

Source
pub async fn verify_zone_signed(zone_name: &str, server: &str) -> Result<bool>
Expand description

Verify that a zone is signed with DNSSEC by querying for DNSKEY records.

This function performs a DNS query to check if the zone has been signed with DNSSEC. It queries for DNSKEY records, which are present in signed zones.

§Arguments

  • zone_name - The DNS zone name to verify (e.g., “example.com”)
  • server - The DNS server address (e.g., “bind9-primary.bindy-system.svc.cluster.local:5353”)

§Returns

  • Ok(true) - Zone is signed (DNSKEY records found)
  • Ok(false) - Zone is not signed (no DNSKEY records)
  • Err(_) - Query failed (network error, invalid zone name, etc.)

§Errors

Returns an error if:

  • The DNS server address cannot be parsed
  • The zone name is invalid
  • The DNS query fails (network error, timeout, etc.)

§Example

use bindy::bind9::zone_ops::verify_zone_signed;

let signed = verify_zone_signed(
    "example.com",
    "10.0.0.1:5353"
).await?;

if signed {
    println!("Zone is signed with DNSSEC");
} else {
    println!("Zone is not signed");
}