http_retry = 5
port = 80
vroutes = ''
-ifname_client = hippo%%d
-ifname_server = shippo%%d
+ifname_client = hippo%d
+ifname_server = shippo%d
max_clock_skew = 300
-ipif = userv root ipif %(local)s,%(peer)s,%(mtu)s,slip,%(ifname)s '%(rnets)s'
+ipif = userv root ipif %{local},%{peer},%{mtu},slip,%{ifname} '%{rnets}'
mtu = 1500
.collect::<HashMap<String, String>>();
let bad = parking_lot::Mutex::new(vec![]);
*var = regex_replace_all!(
- r#"%(?:%|\((\w+)\)s|.)"#,
+ r#"%(?:%|\((\w+)\)s|\{(\w+)\}|.)"#,
&var,
- |whole, k| (|| Ok::<_,String>({
+ |whole, k1, k2| (|| Ok::<_,String>({
if whole == "%%" { "%" }
- else if k != "" {
+ else if let Some(&k) = [k1,k2].iter().find(|&&s| s != "") {
substs.get(k).ok_or_else(
|| format!("unknown key %({})s", k)
)?
}
}
- let ifname = match match end {
- LinkEnd::Client => (&mut self.ifname_client, "ifname_client"),
- LinkEnd::Server => (&mut self.ifname_server, "ifname_server"),
- } { (var,name) => {
- subst(var, &mut iter::empty()).context(name).context("interface name")?;
- var
- } };
-
{
use LinkEnd::*;
type DD<'d> = &'d dyn Display;