use anyhow::Result; use trust_dns_proto::rr::Name; pub fn suffixes(mut name: Name) -> Vec { let mut names = Vec::new(); loop { names.push(name.clone()); if name.is_root() { break; } else { name = name.base_name(); } } names } pub fn absolute(name: Name) -> Result { let root = &Name::root(); let absolute = name.append_name(root)?; Ok(absolute) }