[ 
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)

Reply via email to