#![warn(clippy::dbg_macro, clippy::print_stdout, missing_docs)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#[cfg(feature = "blocklist")]
pub use crate::store::blocklist;
pub use hickory_net as net;
pub use hickory_proto as proto;
#[cfg(any(feature = "resolver", feature = "recursor"))]
pub use hickory_resolver as resolver;
mod access;
#[cfg(feature = "metrics")]
pub mod metrics;
pub mod server;
pub mod store;
pub mod zone_handler;
pub use self::server::Server;
#[cfg(feature = "__dnssec")]
pub mod dnssec {
use crate::proto::dnssec::Nsec3HashAlgorithm;
use serde::Deserialize;
use std::sync::Arc;
#[derive(Debug, Deserialize, Clone, PartialEq, Eq)]
#[serde(rename_all = "lowercase")]
pub enum NxProofKind {
Nsec,
Nsec3 {
#[serde(default)]
algorithm: Nsec3HashAlgorithm,
#[serde(default = "default_salt")]
salt: Arc<[u8]>,
#[serde(default)]
iterations: u16,
#[serde(default)]
opt_out: bool,
},
}
fn default_salt() -> Arc<[u8]> {
Arc::new([])
}
}
pub fn version() -> &'static str {
env!("CARGO_PKG_VERSION")
}