e1e81aa1c4
In Python 3.9.5+ urllib.parse() automatically removes ASCII newlines
and tabs from URLs [1, 2]. Unfortunately it created an issue in
the URLValidator. URLValidator uses urllib.urlsplit() and
urllib.urlunsplit() for creating a URL variant with Punycode which no
longer contains newlines and tabs in Python 3.9.5+. As a consequence,
the regular expression matched the URL (without unsafe characters) and
the source value (with unsafe characters) was considered valid.
[1] https://bugs.python.org/issue43882 and
[2]
|
||
---|---|---|
.. | ||
cache | ||
checks | ||
files | ||
handlers | ||
management | ||
serializers | ||
servers | ||
__init__.py | ||
asgi.py | ||
exceptions.py | ||
paginator.py | ||
signals.py | ||
signing.py | ||
validators.py | ||
wsgi.py |