Add function to set referral via other nameserver

* fix clippy lints
This commit is contained in:
Sebastian Ziebell 2024-05-13 16:54:57 +02:00 committed by Jorge Aparicio
parent 96b3b6650d
commit 0bcf749617
3 changed files with 14 additions and 17 deletions

View File

@ -32,11 +32,7 @@ fn main() -> Result<()> {
nameservers_ns.start()?
};
com_ns.referral(
nameservers_ns.zone().clone(),
nameservers_ns.fqdn().clone(),
nameservers_ns.ipv4_addr(),
);
com_ns.referral_nameserver(&nameservers_ns);
let com_ns = if args.dnssec {
let com_ns = com_ns.sign()?;
@ -46,7 +42,7 @@ fn main() -> Result<()> {
com_ns.start()?
};
root_ns.referral(FQDN::COM, com_ns.fqdn().clone(), com_ns.ipv4_addr());
root_ns.referral_nameserver(&com_ns);
let mut trust_anchor = TrustAnchor::empty();
let root_ns = if args.dnssec {

View File

@ -71,11 +71,7 @@ impl Graph {
unreachable!()
};
parent.referral(
child.zone().clone(),
child.fqdn().clone(),
child.ipv4_addr(),
);
parent.referral_nameserver(child);
}
let root = nameservers.last().unwrap();
@ -188,6 +184,15 @@ impl NameServer<Stopped> {
self
}
/// Adds a NS + A record pair to the zone file from another NameServer
pub fn referral_nameserver<T>(&mut self, nameserver: &NameServer<T>) -> &mut Self {
self.referral(
nameserver.zone().clone(),
nameserver.fqdn().clone(),
nameserver.ipv4_addr(),
)
}
/// Adds a record to the name server's zone file
pub fn add(&mut self, record: impl Into<Record>) -> &mut Self {
self.zone_file.add(record);

View File

@ -316,14 +316,10 @@ mod tests {
nameservers_ns.add(root_ns.a()).add(com_ns.a());
let nameservers_ns = nameservers_ns.start()?;
com_ns.referral(
nameservers_ns.zone().clone(),
nameservers_ns.fqdn().clone(),
nameservers_ns.ipv4_addr(),
);
com_ns.referral_nameserver(&nameservers_ns);
let com_ns = com_ns.start()?;
root_ns.referral(FQDN::COM, com_ns.fqdn().clone(), com_ns.ipv4_addr());
root_ns.referral_nameserver(&com_ns);
let root_ns = root_ns.start()?;
let resolver = Resolver::new(