mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #32298 -- Fixed URLValidator hostname length validation.
URLValidator now validates the maximum length of a hostname without the userinfo and port.
This commit is contained in:
		
				
					committed by
					
						 Mariusz Felisiak
						Mariusz Felisiak
					
				
			
			
				
	
			
			
			
						parent
						
							966ed414b2
						
					
				
				
					commit
					b41d38ae26
				
			| @@ -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}) | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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/䨹 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user