[ 
https://issues.apache.org/jira/browse/JSPWIKI-646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12867961#action_12867961
 ] 

Harry Metske commented on JSPWIKI-646:
--------------------------------------

It looks like we have container specific behaviour here. If I would change the 
code as you suggested it wouldn't work in Tomcat .
I removed all the getResource() calls above it :

{code:title=AuthenticationManager.java|borderStyle=solid}

        // Ok, the absolute path didn't work; try other methods

        URL path = null;
        
        if( engine.getServletContext() != null )
        {
            try
            {
                //  create a tmp file of the policy loaded as an InputStream 
and return the URL to it
                //  
                InputStream is = 
engine.getServletContext().getResourceAsStream("/WEB-INF/" + name);
                File tmpFile = File.createTempFile("temp." + name, "");
                tmpFile.deleteOnExit();

                OutputStream os = new FileOutputStream(tmpFile);

                byte[] buff = new byte[1024];

                while (is.read(buff) != -1)
                {
                    os.write(buff);
                }

                os.close();

                path = tmpFile.toURI().toURL();

            }
            catch( MalformedURLException e )
            {
                // This should never happen unless I screw up
                log.fatal("Your code is b0rked.  You are a bad person.");
            }
            catch (IOException e)
            {
               log.error("failed to load security policy from " + name + 
",stacktrace follows", e);
            }
        }
        return path;
    }

{code}

I placed a new copy of JSPWiki.war on the same location, can you try this one 
once more ?

regards,
Harry

> Execption when running the .war file without unpacking it
> ---------------------------------------------------------
>
>                 Key: JSPWIKI-646
>                 URL: https://issues.apache.org/jira/browse/JSPWIKI-646
>             Project: JSPWiki
>          Issue Type: Bug
>          Components: Servlet Container/Java compatibility
>    Affects Versions: 2.8.3, 3.0
>         Environment: Pax-Web 0.7.2, Felix 2.0.2, Pax-Runner
>            Reporter: Matthias Küspert
>            Assignee: Harry Metske
>            Priority: Minor
>         Attachments: JSPWIKI-646.patch, jspwiki-conf-1.0.0-SNAPSHOT.jar, 
> jspwiki.bnd, paxrunner.log
>
>
> When JSPWiki is run directly from the .war (not unpacking it into a 
> directory) startup fails with the following exception:
> java.lang.IllegalArgumentException: File /WEB-INF/jspwiki.policy does not 
> exist, or the SecurityManager prohibited access to it.
>       at 
> org.freshcookies.security.policy.PolicyReader.<init>(PolicyReader.java:188)
>       at 
> org.freshcookies.security.policy.LocalPolicy.refresh(LocalPolicy.java:324)
>       at 
> com.ecyrd.jspwiki.auth.AuthorizationManager.initialize(AuthorizationManager.java:416)
>       at com.ecyrd.jspwiki.WikiEngine.initialize(WikiEngine.java:556)
>       at com.ecyrd.jspwiki.WikiEngine.<init>(WikiEngine.java:403)
>       at com.ecyrd.jspwiki.WikiEngine.getInstance(WikiEngine.java:344)
>       at 
> com.ecyrd.jspwiki.ui.WikiServletFilter.init(WikiServletFilter.java:79)
>       at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> Other files from WEB-INF are read without problems, e.g. web.xml:
> [FelixStartLevel] DEBUG 
> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext - getting 
> resource: [/WEB-INF/web.xml]
> [FelixStartLevel] DEBUG 
> org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - Searching 
> bundle [JSPWiki [1]] for resource [/WEB-INF/web.xml], normalized to 
> [WEB-INF/web.xml]
> [FelixStartLevel] DEBUG 
> org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - Resource 
> found as url [bundle://1.0:36/WEB-INF/web.xml]
> [FelixStartLevel] DEBUG 
> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext - found resource: 
> bundle://1.0:36/WEB-INF/web.xml

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to