From 072a11decff65461f12f47e5dae763b56a5a3247 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Wed, 9 Sep 2020 14:03:56 -0400 Subject: [PATCH] only add to fully blocked if spec has no conditions --- src/main/java/bubble/abp/BlockList.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/bubble/abp/BlockList.java b/src/main/java/bubble/abp/BlockList.java index 7a1f5b8..670f9cd 100644 --- a/src/main/java/bubble/abp/BlockList.java +++ b/src/main/java/bubble/abp/BlockList.java @@ -92,12 +92,19 @@ public class BlockList { return whitelist.stream().filter(BlockSpec::hasNoSelector).collect(Collectors.toSet()); } + public Set getWhitelistDomainNames() { + return getWhitelistDomains().stream() + .filter(m -> m.getTarget().hasFullDomainBlock() || m.getTarget().hasPartialDomainBlock()) + .map(m -> m.getTarget().hasFullDomainBlock() ? m.getTarget().getFullDomainBlock() : m.getTarget().getPartialDomainBlock()) + .collect(Collectors.toSet()); + } + @JsonIgnore public Set getFullyBlockedDomains() { final Set blockedDomains = new HashSet<>(); final Set whitelistDomains = getWhitelistDomains(); for (BlockSpec spec : getBlacklistDomains()) { if (whitelistDomains.contains(spec) || !spec.getTarget().hasFullDomainBlock()) continue; - blockedDomains.add(spec.getTarget().getFullDomainBlock()); + if (!spec.getTarget().hasConditions()) blockedDomains.add(spec.getTarget().getFullDomainBlock()); } return blockedDomains; }