A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/python/cpython/commit/985ac016373403e8ad41f8d563c4355ffa8d49ff below:

bpo-43882 Remove the newline, and tab early. From query and fragments… · python/cpython@985ac01 · GitHub

File tree Expand file treeCollapse file tree 2 files changed

+21

-11

lines changed

Filter options

Expand file treeCollapse file tree 2 files changed

+21

-11

lines changed Original file line number Diff line number Diff line change

@@ -614,32 +614,40 @@ def test_urlsplit_attributes(self):

614 614 615 615

def test_urlsplit_remove_unsafe_bytes(self):

616 616

# Remove ASCII tabs and newlines from input

617 -

url = "http://www.python.org/java\nscript:\talert('msg\r\n')/#frag"

617 +

url = "http\t://www.python\n.org\t/java\nscript:\talert('msg\r\n')/?query\n=\tsomething#frag\nment"

618 618

p = urllib.parse.urlsplit(url)

619 619

self.assertEqual(p.scheme, "http")

620 620

self.assertEqual(p.netloc, "www.python.org")

621 621

self.assertEqual(p.path, "/javascript:alert('msg')/")

622 -

self.assertEqual(p.query, "")

623 -

self.assertEqual(p.fragment, "frag")

622 +

self.assertEqual(p.query, "query=something")

623 +

self.assertEqual(p.fragment, "fragment")

624 624

self.assertEqual(p.username, None)

625 625

self.assertEqual(p.password, None)

626 626

self.assertEqual(p.hostname, "www.python.org")

627 627

self.assertEqual(p.port, None)

628 -

self.assertEqual(p.geturl(), "http://www.python.org/javascript:alert('msg')/#frag")

628 +

self.assertEqual(p.geturl(), "http://www.python.org/javascript:alert('msg')/?query=something#fragment")

629 629 630 630

# Remove ASCII tabs and newlines from input as bytes.

631 -

url = b"http://www.python.org/java\nscript:\talert('msg\r\n')/#frag"

631 +

url = b"http\t://www.python\n.org\t/java\nscript:\talert('msg\r\n')/?query\n=\tsomething#frag\nment"

632 632

p = urllib.parse.urlsplit(url)

633 633

self.assertEqual(p.scheme, b"http")

634 634

self.assertEqual(p.netloc, b"www.python.org")

635 635

self.assertEqual(p.path, b"/javascript:alert('msg')/")

636 -

self.assertEqual(p.query, b"")

637 -

self.assertEqual(p.fragment, b"frag")

636 +

self.assertEqual(p.query, b"query=something")

637 +

self.assertEqual(p.fragment, b"fragment")

638 638

self.assertEqual(p.username, None)

639 639

self.assertEqual(p.password, None)

640 640

self.assertEqual(p.hostname, b"www.python.org")

641 641

self.assertEqual(p.port, None)

642 -

self.assertEqual(p.geturl(), b"http://www.python.org/javascript:alert('msg')/#frag")

642 +

self.assertEqual(p.geturl(), b"http://www.python.org/javascript:alert('msg')/?query=something#fragment")

643 + 644 +

# with scheme as cache-key

645 +

url = "http://www.python.org/java\nscript:\talert('msg\r\n')/?query\n=\tsomething#frag\nment"

646 +

scheme = "ht\ntp"

647 +

for _ in range(2):

648 +

p = urllib.parse.urlsplit(url, scheme=scheme)

649 +

self.assertEqual(p.scheme, "http")

650 +

self.assertEqual(p.geturl(), "http://www.python.org/javascript:alert('msg')/?query=something#fragment")

643 651 644 652

def test_attributes_bad_port(self):

645 653

"""Check handling of invalid ports."""

Original file line number Diff line number Diff line change

@@ -456,6 +456,11 @@ def urlsplit(url, scheme='', allow_fragments=True):

456 456

"""

457 457 458 458

url, scheme, _coerce_result = _coerce_args(url, scheme)

459 + 460 +

for b in _UNSAFE_URL_BYTES_TO_REMOVE:

461 +

url = url.replace(b, "")

462 +

scheme = scheme.replace(b, "")

463 + 459 464

allow_fragments = bool(allow_fragments)

460 465

key = url, scheme, allow_fragments, type(url), type(scheme)

461 466

cached = _parse_cache.get(key, None)

@@ -472,9 +477,6 @@ def urlsplit(url, scheme='', allow_fragments=True):

472 477

else:

473 478

scheme, url = url[:i].lower(), url[i+1:]

474 479 475 -

for b in _UNSAFE_URL_BYTES_TO_REMOVE:

476 -

url = url.replace(b, "")

477 - 478 480

if url[:2] == '//':

479 481

netloc, url = _splitnetloc(url, 2)

480 482

if (('[' in netloc and ']' not in netloc) or

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4