This patch fixes #2347.
Indeed, my previous patch was missing domains with dashes (-).
"128.0.0.1",
"0.0.0 google",
"0.1.2.3.4 foo/bar",
- "0.0.0.0 https"
+ "0.0.0.0 https",
]:
self.assertEqual(normalize_rule(rule, **kwargs), (None, None))
sys.stdout = StringIO()
def test_no_comment_raw(self):
- for rule in ("twitter.com", "google.com", "foo.bar.edu"):
+ for rule in ("twitter.com", "google.com", "foo.bar.edu", "www.example-foo.bar.edu"):
expected = (rule, "0.0.0.0 " + rule + "\n")
actual = normalize_rule(
"""
first try: IP followed by domain
"""
- regex = r"^\s*(\d{1,3}\.){3}\d{1,3}\s+([\w\.-]+[a-zA-Z])(.*)"
+ regex = r"^\s*(\d{1,3}\.){3}\d{1,3}\s+((?:\w+\.)+[a-zA-Z\.-]+)(.*)"
result = re.search(regex, rule)
if result:
"""
# deny any potential IPv6 address here.
if ":" not in rule:
- regex = r"^\s*([\w\.-]+[a-zA-Z])(.*)"
+ regex = r"^\s*((?:\w+\.)+[a-zA-Z\.-]+)(.*)"
result = re.search(regex, rule)
if result: