summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkshat1Nar <akshat.dixit71@gmail.com>2020-12-26 20:52:44 +0530
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-01-04 09:25:40 +0100
commitb41d38ae26b1da9519a6cd765bc2f2ce7d355007 (patch)
tree231d0406b9980aeb3adc49531d4184965831e05a
parent966ed414b2adfc9ecc26a9d529dec99d94262cd9 (diff)
Fixed #32298 -- Fixed URLValidator hostname length validation.
URLValidator now validates the maximum length of a hostname without the userinfo and port.
-rw-r--r--django/core/validators.py2
-rw-r--r--tests/validators/valid_urls.txt4
2 files changed, 5 insertions, 1 deletions
diff --git a/django/core/validators.py b/django/core/validators.py
index 830b533848..a385819510 100644
--- a/django/core/validators.py
+++ b/django/core/validators.py
@@ -138,7 +138,7 @@ class URLValidator(RegexValidator):
# section 3.1. It's defined to be 255 bytes or less, but this includes
# one byte for the length of the name and one byte for the trailing dot
# that's used to indicate absolute names in DNS.
- if len(urlsplit(value).netloc) > 253:
+ if len(urlsplit(value).hostname) > 253:
raise ValidationError(self.message, code=self.code, params={'value': value})
diff --git a/tests/validators/valid_urls.txt b/tests/validators/valid_urls.txt
index a3db587492..3f8bf839b0 100644
--- a/tests/validators/valid_urls.txt
+++ b/tests/validators/valid_urls.txt
@@ -35,6 +35,10 @@ http://userid:password@example.com
http://userid:password@example.com/
http://userid:password@example.com:8080
http://userid:password@example.com:8080/
+https://userid:paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassword@example.com
+https://userid:paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassword@example.com:8080
+https://useridddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd:password@example.com
+https://useriddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd:password@example.com:8080
http://142.42.1.1/
http://142.42.1.1:8080/
http://➡.ws/䨹