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

View File

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

View File

@ -316,14 +316,10 @@ mod tests {
nameservers_ns.add(root_ns.a()).add(com_ns.a()); nameservers_ns.add(root_ns.a()).add(com_ns.a());
let nameservers_ns = nameservers_ns.start()?; let nameservers_ns = nameservers_ns.start()?;
com_ns.referral( com_ns.referral_nameserver(&nameservers_ns);
nameservers_ns.zone().clone(),
nameservers_ns.fqdn().clone(),
nameservers_ns.ipv4_addr(),
);
let com_ns = com_ns.start()?; 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 root_ns = root_ns.start()?;
let resolver = Resolver::new( let resolver = Resolver::new(