From f14004e56b76d74c65c4a94fff9bcfebb0fd5922 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Thu, 6 Feb 2020 15:49:23 -0300 Subject: [PATCH] update url regex to cases tom reported --- lbry/schema/url.py | 2 +- tests/unit/schema/test_url.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lbry/schema/url.py b/lbry/schema/url.py index e6c83ac71..8f68600bd 100644 --- a/lbry/schema/url.py +++ b/lbry/schema/url.py @@ -7,7 +7,7 @@ def _create_url_regex(): # see https://spec.lbry.com/ and test_url.py invalid_names_regex = \ r"[^=&#:$@%?;\"/\\<>%{}|^~`\[\]" \ - r"\u0000-\u0008\u000b-\u000c\u000e-\u001F\uD800-\uDFFF\uFFFE-\uFFFF]+" + r"\u0000-\u0020\uD800-\uDFFF\uFFFE-\uFFFF]+" def _named(name, regex): return "(?P<" + name + ">" + regex + ")" diff --git a/tests/unit/schema/test_url.py b/tests/unit/schema/test_url.py index c496f6e5a..838f010ff 100644 --- a/tests/unit/schema/test_url.py +++ b/tests/unit/schema/test_url.py @@ -57,10 +57,6 @@ class TestURLParsing(unittest.TestCase): url(f'lbry://@test#{claim_id}/stuff', channel_name='@test', channel_claim_id=claim_id, stream_name='stuff') # unicode regex edges _url = lambda name: url(name, stream_name=name) - _url('\u0009') - _url('\u000a') - _url('\u000d') - _url('\u0020') _url('\uD799') _url('\uE000') _url('\uFFFD') @@ -79,6 +75,10 @@ class TestURLParsing(unittest.TestCase): fail("lbry://\uDFFE") fail("lbry://\uFFFF") fail("lbry://;") + fail("lbry://no\ttab") + fail("lbry://no space") + fail("lbry://no\rcr") + fail("lbry://no\new\nline") fail("lbry://\"") fail("lbry://\\") fail("lbry:///")