[ https://issues.apache.org/jira/browse/JSPWIKI-870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14195640#comment-14195640 ]
Glen Mazza commented on JSPWIKI-870: ------------------------------------ Albrecht, why would you put a space in your location for Tomcat? That usually brings up lots of headaches with WARs, not just JSPWiki... > JSPWiki does not start, if tomcat directory path contains a white space > ----------------------------------------------------------------------- > > Key: JSPWIKI-870 > URL: https://issues.apache.org/jira/browse/JSPWIKI-870 > Project: JSPWiki > Issue Type: Bug > Components: Authentication & Authorization > Affects Versions: 2.10.1 > Environment: Bug found on a mac, but is probably platform independent. > Reporter: Albrecht Striffler > Priority: Critical > Labels: decode, policy > > As described, JSPWiki does not start if run from a directory containing a > white space in its path. The problem is, that the policy file is not > found/accepted. > The jspwiki.log contains the following stack trace: > org.apache.wiki.api.exceptions.WikiException: JSPWiki: Unable to load and > setup properties from jspwiki.properties. Failed to start managers: File > /Programme/tomcat%20test/webapps/JSPWiki/WEB-INF/jspwiki.policy does not > exist, or the SecurityManager prohibited access to it. > at org.apache.wiki.WikiEngine.<init>(WikiEngine.java:440) > at org.apache.wiki.WikiEngine.getInstance(WikiEngine.java:370) > at org.apache.wiki.ui.WikiServletFilter.init(WikiServletFilter.java:82) > at > org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279) > .. > As you can imagine, the problem is the %20 in tomcat%20test. The security > manager will check if this file exists, but because of the %20, does not find > anything. Of course, the correct file path would be "/Programme/tomcat > test/webapps/JSPWiki/WEB-INF/jspwiki.policy". > I debugged a little bit and think a fix could be very easy: In the > AuthorizationManager, the policyFile is instantiated in line 499 using > File policyFile = new File( policyURL.getPath() ); > The URL contains the encoded white space and getPath() unfortunately does not > decode. > Either the returned path is decoded manually or the URL is transformed into a > URI (using toURI()) and then getPath() is called on the URI which returns a > decoded path. > Since this bug was not present in JSPWiki 2.8.x, I guess this URL was an URI > in the past... > Help very much appreciated, this is currently pretty much a blocker for us... -- This message was sent by Atlassian JIRA (v6.3.4#6332)