From daf701a76c41074aa71b1eae0aff2ad96a318044 Mon Sep 17 00:00:00 2001 From: Aiden McClelland Date: Fri, 5 Mar 2021 10:11:22 -0700 Subject: [PATCH] appmgr: disable zeroconf if no lan --- appmgr/src/lan.rs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/appmgr/src/lan.rs b/appmgr/src/lan.rs index f3db3c1e1..439027081 100644 --- a/appmgr/src/lan.rs +++ b/appmgr/src/lan.rs @@ -35,12 +35,22 @@ pub async fn enable_lan() -> Result<(), Error> { hostname_buf[16] = 5; // set the prefix length to 5 for "local" for (app_id, app_info) in app_list { - let tor_address = app_info.tor_address; + let man = crate::apps::manifest(&app_id).await?; + if man + .ports + .iter() + .filter(|p| p.lan.is_some()) + .next() + .is_none() + { + continue; + } + let tor_address = if let Some(addr) = app_info.tor_address { + addr + } else { + continue; + }; let lan_address = tor_address - .as_ref() - .ok_or_else(|| { - failure::format_err!("Service {} does not have Tor Address", app_id) - })? .strip_suffix(".onion") .ok_or_else(|| failure::format_err!("Invalid Tor Address: {:?}", tor_address))? .to_owned()