From: funilrys Date: Thu, 7 Sep 2023 16:46:54 +0000 (+0200) Subject: Correct 2nd Iter: Hostnames to lowercase. X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=3b4709f25f65cac5502a8c926a2daf9bcbaf847a;p=stevenblack-hosts.git Correct 2nd Iter: Hostnames to lowercase. As mentioned by @StevenBlack in #2400, hostnames should be converted to lowercase. --- diff --git a/testUpdateHostsFile.py b/testUpdateHostsFile.py index b519dc69c..69a90984c 100644 --- a/testUpdateHostsFile.py +++ b/testUpdateHostsFile.py @@ -854,6 +854,25 @@ class TestNormalizeRule(BaseStdout): expected = "==>" + rule + "<==" self.assertIn(expected, output) + def test_mixed_cases(self): + for rule, expected_target in ( + ("tWiTTer.cOM", "twitter.com"), + ("goOgLe.Com", "google.com"), + ("FoO.bAR.edu", "foo.bar.edu"), + ): + expected = (expected_target, "0.0.0.0 " + expected_target + "\n") + + actual = normalize_rule( + rule, target_ip="0.0.0.0", keep_domain_comments=False + ) + self.assertEqual(actual, expected) + + # Nothing gets printed if there's a match. + output = sys.stdout.getvalue() + self.assertEqual(output, "") + + sys.stdout = StringIO() + def test_no_comments(self): for target_ip in ("0.0.0.0", "127.0.0.1", "8.8.8.8"): rule = "127.0.0.1 1.google.com foo" diff --git a/updateHostsFile.py b/updateHostsFile.py index b925665bb..291faa0a4 100755 --- a/updateHostsFile.py +++ b/updateHostsFile.py @@ -1123,6 +1123,8 @@ def normalize_rule(rule, target_ip, keep_domain_comments): # Example: 0.0.0.0 example.org hostname, suffix = split_rule[-1], None + hostname = hostname.lower() + if ( is_ip(hostname) or re.search(static_ip_regex, hostname) @@ -1154,6 +1156,8 @@ def normalize_rule(rule, target_ip, keep_domain_comments): except ValueError: hostname, suffix = split_rule[0], None + hostname = hostname.lower() + return normalize_response(hostname, suffix) return belch_unwanted(rule)