mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #25635 -- Made URLValidator allow '+' in scheme.
This commit is contained in:
		
				
					committed by
					
						 Tim Graham
						Tim Graham
					
				
			
			
				
	
			
			
			
						parent
						
							5ce84b8044
						
					
				
				
					commit
					06627ef2ca
				
			| @@ -89,7 +89,7 @@ class URLValidator(RegexValidator): | ||||
|     host_re = '(' + hostname_re + domain_re + tld_re + '|localhost)' | ||||
|  | ||||
|     regex = _lazy_re_compile( | ||||
|         r'^(?:[a-z0-9\.\-]*)://'  # scheme is validated separately | ||||
|         r'^(?:[a-z0-9\.\-\+]*)://'  # scheme is validated separately | ||||
|         r'(?:\S+(?::\S*)?@)?'  # user:pass authentication | ||||
|         r'(?:' + ipv4_re + '|' + ipv6_re + '|' + host_re + ')' | ||||
|         r'(?::\d{2,5})?'  # port | ||||
|   | ||||
| @@ -22,7 +22,7 @@ from django.test.utils import str_prefix | ||||
| from django.utils._os import upath | ||||
|  | ||||
| NOW = datetime.now() | ||||
| EXTENDED_SCHEMES = ['http', 'https', 'ftp', 'ftps', 'git', 'file'] | ||||
| EXTENDED_SCHEMES = ['http', 'https', 'ftp', 'ftps', 'git', 'file', 'git+ssh'] | ||||
|  | ||||
| TEST_DATA = [ | ||||
|     # (validator, value, expected), | ||||
| @@ -205,6 +205,7 @@ TEST_DATA = [ | ||||
|  | ||||
|     (URLValidator(EXTENDED_SCHEMES), 'file://localhost/path', None), | ||||
|     (URLValidator(EXTENDED_SCHEMES), 'git://example.com/', None), | ||||
|     (URLValidator(EXTENDED_SCHEMES), 'git+ssh://git@github.com/example/hg-git.git', None), | ||||
|  | ||||
|     (URLValidator(EXTENDED_SCHEMES), 'git://-invalid.com', ValidationError), | ||||
|     # Trailing newlines not accepted | ||||
|   | ||||
		Reference in New Issue
	
	Block a user