|
136 | 136 | (validate_ipv4_address, '1.1.1.1\n', ValidationError), |
137 | 137 | (validate_ipv4_address, '٧.2٥.3٣.243', ValidationError), |
138 | 138 |
|
| 139 | + # Leading zeros are forbidden to avoid ambiguity with the octal notation. |
| 140 | + (validate_ipv4_address, '000.000.000.000', ValidationError), |
| 141 | + (validate_ipv4_address, '016.016.016.016', ValidationError), |
| 142 | + (validate_ipv4_address, '192.168.000.001', ValidationError), |
| 143 | + (validate_ipv4_address, '01.2.3.4', ValidationError), |
| 144 | + (validate_ipv4_address, '01.2.3.4', ValidationError), |
| 145 | + (validate_ipv4_address, '1.02.3.4', ValidationError), |
| 146 | + (validate_ipv4_address, '1.2.03.4', ValidationError), |
| 147 | + (validate_ipv4_address, '1.2.3.04', ValidationError), |
| 148 | + |
139 | 149 | # validate_ipv6_address uses django.utils.ipv6, which |
140 | 150 | # is tested in much greater detail in its own testcase |
141 | 151 | (validate_ipv6_address, 'fe80::1', None), |
|
161 | 171 | (validate_ipv46_address, '::zzz', ValidationError), |
162 | 172 | (validate_ipv46_address, '12345::', ValidationError), |
163 | 173 |
|
| 174 | + # Leading zeros are forbidden to avoid ambiguity with the octal notation. |
| 175 | + (validate_ipv46_address, '000.000.000.000', ValidationError), |
| 176 | + (validate_ipv46_address, '016.016.016.016', ValidationError), |
| 177 | + (validate_ipv46_address, '192.168.000.001', ValidationError), |
| 178 | + (validate_ipv46_address, '01.2.3.4', ValidationError), |
| 179 | + (validate_ipv46_address, '01.2.3.4', ValidationError), |
| 180 | + (validate_ipv46_address, '1.02.3.4', ValidationError), |
| 181 | + (validate_ipv46_address, '1.2.03.4', ValidationError), |
| 182 | + (validate_ipv46_address, '1.2.3.04', ValidationError), |
| 183 | + |
164 | 184 | (validate_comma_separated_integer_list, '1', None), |
165 | 185 | (validate_comma_separated_integer_list, '12', None), |
166 | 186 | (validate_comma_separated_integer_list, '1,2', None), |
|
0 commit comments