Fix Issue 10753 - Don't quote ;=, in the PATH_INFO envvar.
This commit is contained in:
parent
de3aa7fc62
commit
299fa4cb21
|
@ -342,6 +342,10 @@ class UtilityTests(TestCase):
|
|||
self.checkReqURI("http://127.0.0.1/sp%C3%A4m", SCRIPT_NAME="/späm")
|
||||
self.checkReqURI("http://127.0.0.1/spammity/spam",
|
||||
SCRIPT_NAME="/spammity", PATH_INFO="/spam")
|
||||
self.checkReqURI("http://127.0.0.1/spammity/spam;ham",
|
||||
SCRIPT_NAME="/spammity", PATH_INFO="/spam;ham")
|
||||
self.checkReqURI("http://127.0.0.1/spammity/spam;cookie=1234,5678",
|
||||
SCRIPT_NAME="/spammity", PATH_INFO="/spam;cookie=1234,5678")
|
||||
self.checkReqURI("http://127.0.0.1/spammity/spam?say=ni",
|
||||
SCRIPT_NAME="/spammity", PATH_INFO="/spam",QUERY_STRING="say=ni")
|
||||
self.checkReqURI("http://127.0.0.1/spammity/spam", 0,
|
||||
|
|
|
@ -64,7 +64,7 @@ def request_uri(environ, include_query=True):
|
|||
"""Return the full request URI, optionally including the query string"""
|
||||
url = application_uri(environ)
|
||||
from urllib.parse import quote
|
||||
path_info = quote(environ.get('PATH_INFO',''))
|
||||
path_info = quote(environ.get('PATH_INFO',''),safe='/;=,')
|
||||
if not environ.get('SCRIPT_NAME'):
|
||||
url += path_info[1:]
|
||||
else:
|
||||
|
|
|
@ -20,6 +20,11 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue 10753 - Characters ';','=' and ',' in the PATH_INFO environment
|
||||
variable won't be quoted when the URI is constructed by the wsgiref.util 's
|
||||
request_uri method. According to RFC 3986, these characters can be a part of
|
||||
params in PATH component of URI and need not be quoted.
|
||||
|
||||
- Issue 10738: Fix webbrowser.Opera.raise_opts
|
||||
|
||||
- Issue 9824: SimpleCookie now encodes , and ; in values to cater to how
|
||||
|
|
Loading…
Reference in New Issue