From 85dbf4e16c60e9657552f6cedab3e5111115fe7c Mon Sep 17 00:00:00 2001 From: Patrick Li Date: Tue, 5 Nov 2019 15:30:57 +1300 Subject: [PATCH] Don't include excluded global equivalent domains during sync Fixes #681 --- src/api/core/ciphers.rs | 2 +- src/api/core/mod.rs | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/api/core/ciphers.rs b/src/api/core/ciphers.rs index 05ee7e10..2ffa694b 100644 --- a/src/api/core/ciphers.rs +++ b/src/api/core/ciphers.rs @@ -88,7 +88,7 @@ fn sync(data: Form, headers: Headers, conn: DbConn) -> JsonResult { let domains_json = if data.exclude_domains { Value::Null } else { - api::core::get_eq_domains(headers).unwrap().into_inner() + api::core::_get_eq_domains(headers, true).unwrap().into_inner() }; Ok(Json(json!({ diff --git a/src/api/core/mod.rs b/src/api/core/mod.rs index db0d7b2b..c8de156f 100644 --- a/src/api/core/mod.rs +++ b/src/api/core/mod.rs @@ -81,6 +81,10 @@ const GLOBAL_DOMAINS: &str = include_str!("../../static/global_domains.json"); #[get("/settings/domains")] fn get_eq_domains(headers: Headers) -> JsonResult { + _get_eq_domains(headers, false) +} + +fn _get_eq_domains(headers: Headers, no_excluded: bool) -> JsonResult { let user = headers.user; use serde_json::from_str; @@ -93,6 +97,10 @@ fn get_eq_domains(headers: Headers) -> JsonResult { global.Excluded = excluded_globals.contains(&global.Type); } + if no_excluded { + globals.retain(|g| !g.Excluded); + } + Ok(Json(json!({ "EquivalentDomains": equivalent_domains, "GlobalEquivalentDomains": globals,