mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-04-09 04:10:32 -04:00
36 lines
1.6 KiB
Diff
36 lines
1.6 KiB
Diff
From 4d4ac6b79c453918ebf40c690e8d57d982ee840b Mon Sep 17 00:00:00 2001
|
|
From: Colin Watson <cjwatson@debian.org>
|
|
Date: Fri, 9 Apr 2021 16:54:49 +0100
|
|
Subject: [PATCH] Don't test semicolon separators in urlencoded data
|
|
|
|
Python no longer accepts ";" as a separator for `urllib.parse.parse_qs`
|
|
by default (https://bugs.python.org/issue42967), causing the multipart
|
|
test suite to fail with recent Python versions (3.6.13, 3.7.10, 3.8.8,
|
|
3.9.2, 3.10.0a6).
|
|
|
|
While we could detect the availability of the `separator` argument and
|
|
pass it, since `application/x-www-form-urlencoded` data in `POST` and
|
|
`PUT` requests is probably not an issue for web cache poisoning, the
|
|
current HTML spec seems clear that only "&" should be considered, so
|
|
follow along with Python's API change.
|
|
---
|
|
test/test_multipart.py | 3 +--
|
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
|
|
diff --git a/test/test_multipart.py b/test/test_multipart.py
|
|
index 38c69d1..6fe864f 100644
|
|
--- a/test/test_multipart.py
|
|
+++ b/test/test_multipart.py
|
|
@@ -233,10 +233,9 @@ def test_empty(self):
|
|
def test_urlencoded(self):
|
|
for ctype in ('application/x-www-form-urlencoded', 'application/x-url-encoded'):
|
|
self.env['CONTENT_TYPE'] = ctype
|
|
- forms, files = self.parse('a=b&c=d;e=f')
|
|
+ forms, files = self.parse('a=b&c=d')
|
|
self.assertEqual(forms['a'], 'b')
|
|
self.assertEqual(forms['c'], 'd')
|
|
- self.assertEqual(forms['e'], 'f')
|
|
|
|
def test_urlencoded_latin1(self):
|
|
for ctype in ('application/x-www-form-urlencoded', 'application/x-url-encoded'):
|