diff --git a/src/main.rs b/src/main.rs index 92c4fc9..b4cc9f1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -29,6 +29,9 @@ struct ConfigOpts { #[clap(short, long)] no_dns: bool, + + #[clap(short='4', long)] + no_ipv6: bool, } #[derive(Clap, Debug)] @@ -168,8 +171,10 @@ fn write_config( writeln!(output, "PrivateKey = {}", &keys.private_key)?; writeln!(output, "Address = {}", &config.data.address)?; if !config_opts.no_dns { + let dns_addrs = config.data.dns()?; + let allowed_dns_addrs = dns_addrs.iter().filter(|addr| addr.is_ipv4() || !config_opts.no_ipv6); write!(output, "DNS = ")?; - write_list(output, config.data.dns()?)?; + write_list(output, allowed_dns_addrs)?; } writeln!(output)?;