When trying to download a file via HTTP from Tomcat I an get error if the filename contains the semi-colon ; character. I place a file with semi-colon in the filename under the Tomcat http server. When I am linking to that file (test;01.png) i get "the requested resource is not available. Take a look at the attached screendumps. Screen1 shows a directory listing of the file in question. Screen2 shows the error-msg when i click the filename. This is not a problem in Apache 2.0.53. I tested and found this problem using IE 6.0 and Firefox 1.0.7 against Tomcat 5.5.12 running on a Windows XP SP2 system.
Created attachment 16785 [details] Screen dump of directorylisting with filename containing semi-colon.
Created attachment 16786 [details] Screen-dump of error-msg when I click the filename with semi-colon.
Sorry, but anything after ';' is stripped off and treated as a path parameter, even if ';' encoded. I don't want to take risks and handle this differently, so this issue is not going to be fixed.
(In reply to comment #3) > Sorry, but anything after ';' is stripped off and treated as a path parameter, > even if ';' encoded. I don't want to take risks and handle this differently, so > this issue is not going to be fixed. This just means that Tomcat can't/won't handle encoding properly. That is sad. For all I know this might be a problem for other characters as well. How come Tomcat handles this differently than Apache and IIS? This most likely causes a bug in the WebDAV Servlet. If you try to upload a file to Tomcat using WebDAV, all characters after ';' is stripped form the file name.
(In reply to comment #4) > (In reply to comment #3) > > Sorry, but anything after ';' is stripped off and treated as a path > parameter, > > even if ';' encoded. I don't want to take risks and handle this differently, > so > > this issue is not going to be fixed. > > This just means that Tomcat can't/won't handle encoding properly. That is sad. > For all I know this might be a problem for other characters as well. How come > Tomcat handles this differently than Apache and IIS? > > This most likely causes a bug in the WebDAV Servlet. If you try to upload a > file to Tomcat using WebDAV, all characters after ';' is stripped form the > file name. That's the way it is for the ';' character. If you don't like it, you can try to patch your Tomcat or use a different product.