mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-08-08 05:29:47 +00:00
36 lines
912 B
Rust
36 lines
912 B
Rust
use std::fmt::Display;
|
|
|
|
include!(concat!(env!("OUT_DIR"), "/dns.rs"));
|
|
|
|
impl Display for ZoneData {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
writeln!(f, "; EasyTier Magic DNS zone data")?;
|
|
writeln!(f, "; https://github.com/easytier/easytier")?;
|
|
writeln!(f, "; {}", self.id.unwrap_or_default())?;
|
|
|
|
if !self.forwarders.is_empty() {
|
|
writeln!(f, "; Forwarders:")?;
|
|
for forwarder in &self.forwarders {
|
|
writeln!(f, "; \t{}", forwarder)?;
|
|
}
|
|
}
|
|
writeln!(f)?;
|
|
|
|
write!(f, "$ORIGIN {}", self.origin)?;
|
|
if !self.origin.ends_with('.') {
|
|
write!(f, ".")?;
|
|
}
|
|
writeln!(f)?;
|
|
|
|
writeln!(f, "$TTL {}", self.ttl)?;
|
|
|
|
writeln!(f)?;
|
|
|
|
for record in &self.records {
|
|
writeln!(f, "{}", record)?;
|
|
}
|
|
|
|
Ok(())
|
|
}
|
|
}
|