From 023eb7faa79ffe6060c8f6350367a02509fa184f Mon Sep 17 00:00:00 2001 From: Steven Black Date: Mon, 26 Apr 2021 17:55:39 -0400 Subject: [PATCH] =?UTF-8?q?Issue=20#1628:=20fix=20=E2=80=94=20parse=20out?= =?UTF-8?q?=20@=20characters=20from=20lists.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- testUpdateHostsFile.py | 3 ++- updateHostsFile.py | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/testUpdateHostsFile.py b/testUpdateHostsFile.py index d93028d6d..95a275645 100644 --- a/testUpdateHostsFile.py +++ b/testUpdateHostsFile.py @@ -634,7 +634,7 @@ class TestMatchesExclusions(Base): self.assertTrue(matches_exclusions(domain, exclusion_regexes)) def test_match_raw_list(self): - exclusion_regexes = [r".*\.com", r".*\.org", r".*\.edu"] + exclusion_regexes = [r".*\.com", r".*\.org", r".*\.edu", r".*@.*"] exclusion_regexes = [re.compile(regex) for regex in exclusion_regexes] for domain in [ @@ -642,6 +642,7 @@ class TestMatchesExclusions(Base): "yahoo.com", "adaway.org", "education.edu", + "a.stro.lo.gy@45.144.225.135", ]: self.assertTrue(matches_exclusions(domain, exclusion_regexes)) diff --git a/updateHostsFile.py b/updateHostsFile.py index 3656c5f71..1bb937c1b 100644 --- a/updateHostsFile.py +++ b/updateHostsFile.py @@ -943,6 +943,10 @@ def remove_dups_and_excl(merge_file, exclusion_regexes, output_file=None): if not stripped_rule or matches_exclusions(stripped_rule, exclusion_regexes): continue + # Issue #1628 + if ("@" in stripped_rule): + continue + # Normalize rule hostname, normalized_rule = normalize_rule( stripped_rule,