@@ -249,12 +249,30 @@ public void testNormalize() throws Exception {
249249
250250 assertEquals (SEP + SEP + "127.0.0.1" + SEP + "a" + SEP + "b" + SEP + "c.txt" , FilenameUtils .normalize ("\\ \\ 127.0.0.1\\ a\\ b\\ c.txt" ));
251251 assertEquals (SEP + SEP + "::1" + SEP + "a" + SEP + "b" + SEP + "c.txt" , FilenameUtils .normalize ("\\ \\ ::1\\ a\\ b\\ c.txt" ));
252+ assertEquals (SEP + SEP + "1::" + SEP + "a" + SEP + "b" + SEP + "c.txt" , FilenameUtils .normalize ("\\ \\ 1::\\ a\\ b\\ c.txt" ));
252253 assertEquals (SEP + SEP + "server.example.org" + SEP + "a" + SEP + "b" + SEP + "c.txt" , FilenameUtils .normalize ("\\ \\ server.example.org\\ a\\ b\\ c.txt" ));
254+ assertEquals (SEP + SEP + "server.sub.example.org" + SEP + "a" + SEP + "b" + SEP + "c.txt" , FilenameUtils .normalize ("\\ \\ server.sub.example.org\\ a\\ b\\ c.txt" ));
253255 assertEquals (SEP + SEP + "server." + SEP + "a" + SEP + "b" + SEP + "c.txt" , FilenameUtils .normalize ("\\ \\ server.\\ a\\ b\\ c.txt" ));
256+ assertEquals (SEP + SEP + "1::127.0.0.1" + SEP + "a" + SEP + "b" + SEP + "c.txt" ,
257+ FilenameUtils .normalize ("\\ \\ 1::127.0.0.1\\ a\\ b\\ c.txt" ));
258+
259+ // not valid IPv4 addresses but technically a valid "reg-name"s according to RFC1034
260+ assertEquals (SEP + SEP + "127.0.0.256" + SEP + "a" + SEP + "b" + SEP + "c.txt" ,
261+ FilenameUtils .normalize ("\\ \\ 127.0.0.256\\ a\\ b\\ c.txt" ));
262+ assertEquals (SEP + SEP + "127.0.0.01" + SEP + "a" + SEP + "b" + SEP + "c.txt" ,
263+ FilenameUtils .normalize ("\\ \\ 127.0.0.01\\ a\\ b\\ c.txt" ));
254264
255265 assertEquals (null , FilenameUtils .normalize ("\\ \\ -server\\ a\\ b\\ c.txt" ));
256266 assertEquals (null , FilenameUtils .normalize ("\\ \\ .\\ a\\ b\\ c.txt" ));
257267 assertEquals (null , FilenameUtils .normalize ("\\ \\ ..\\ a\\ b\\ c.txt" ));
268+ assertEquals (null , FilenameUtils .normalize ("\\ \\ 127.0..1\\ a\\ b\\ c.txt" ));
269+ assertEquals (null , FilenameUtils .normalize ("\\ \\ ::1::2\\ a\\ b\\ c.txt" ));
270+ assertEquals (null , FilenameUtils .normalize ("\\ \\ :1\\ a\\ b\\ c.txt" ));
271+ assertEquals (null , FilenameUtils .normalize ("\\ \\ 1:\\ a\\ b\\ c.txt" ));
272+ assertEquals (null , FilenameUtils .normalize ("\\ \\ 1:2:3:4:5:6:7:8:9\\ a\\ b\\ c.txt" ));
273+ assertEquals (null , FilenameUtils .normalize ("\\ \\ g:2:3:4:5:6:7:8\\ a\\ b\\ c.txt" ));
274+ assertEquals (null , FilenameUtils .normalize ("\\ \\ 1ffff:2:3:4:5:6:7:8\\ a\\ b\\ c.txt" ));
275+ assertEquals (null , FilenameUtils .normalize ("\\ \\ 1:2\\ a\\ b\\ c.txt" ));
258276 }
259277
260278 @ Test
0 commit comments