You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by me...@apache.org on 2010/05/16 14:16:08 UTC

svn commit: r944814 - in /incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH: ./ src/com/ecyrd/jspwiki/ src/com/ecyrd/jspwiki/auth/

Author: metskem
Date: Sun May 16 12:16:08 2010
New Revision: 944814

URL: http://svn.apache.org/viewvc?rev=944814&view=rev
Log:
2.8.4-svn-13   JSPWIKI-646 JSPWiki cannot run without unpacking the war file

Modified:
    incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/ChangeLog
    incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/Release.java
    incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/WikiEngine.java
    incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/auth/AuthenticationManager.java
    incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/auth/AuthorizationManager.java

Modified: incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/ChangeLog
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/ChangeLog?rev=944814&r1=944813&r2=944814&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/ChangeLog (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/ChangeLog Sun May 16 12:16:08 2010
@@ -1,3 +1,9 @@
+2010-05-09  Harry Metske <me...@apache.org>
+
+        * 2.8.4-svn-13
+        
+        * JSPWIKI-646 JSPWiki cannot run without unpacking the war file
+        
 2010-05-08  Harry Metske <me...@apache.org>
 
         * 2.8.4-svn-12

Modified: incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/Release.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/Release.java?rev=944814&r1=944813&r2=944814&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/Release.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/Release.java Sun May 16 12:16:08 2010
@@ -77,7 +77,7 @@ public final class Release
      *  <p>
      *  If the build identifier is empty, it is not added.
      */
-    public static final String     BUILD         = "12";
+    public static final String     BUILD         = "13";
     
     /**
      *  This is the generic version string you should use

Modified: incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/WikiEngine.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/WikiEngine.java?rev=944814&r1=944813&r2=944814&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/WikiEngine.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/WikiEngine.java Sun May 16 12:16:08 2010
@@ -347,6 +347,7 @@ public class WikiEngine
             catch( Exception e )
             {
                 context.log( "ERROR: Failed to create a Wiki engine: "+e.getMessage() );
+                log.error( "ERROR: Failed to create a Wiki engine, stacktrace follows " , e);
                 throw new InternalWikiException( "No wiki engine, check logs." );
             }
 

Modified: incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/auth/AuthenticationManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/auth/AuthenticationManager.java?rev=944814&r1=944813&r2=944814&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/auth/AuthenticationManager.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/auth/AuthenticationManager.java Sun May 16 12:16:08 2010
@@ -20,7 +20,7 @@
  */
 package com.ecyrd.jspwiki.auth;
 
-import java.io.File;
+import java.io.*;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.security.Principal;
@@ -605,7 +605,7 @@ public final class AuthenticationManager
         {
             try
             {
-                return defaultFile.toURL();
+                return defaultFile.toURI().toURL();
             }
             catch ( MalformedURLException e)
             {
@@ -616,29 +616,43 @@ public final class AuthenticationManager
         }
 
         // Ok, the absolute path didn't work; try other methods
-        ClassLoader cl = AuthenticationManager.class.getClassLoader();
 
-        URL path = cl.getResource("/WEB-INF/"+name);
-
-        if( path == null )
-            path = cl.getResource("/"+name);
-
-        if( path == null )
-            path = cl.getResource(name);
-
-        if( path == null && engine.getServletContext() != null )
+        URL path = null;
+        
+        if( engine.getServletContext() != null )
         {
             try
             {
-                path = engine.getServletContext().getResource("/WEB-INF/"+name);
+                //  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;
     }
 

Modified: incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/auth/AuthorizationManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/auth/AuthorizationManager.java?rev=944814&r1=944813&r2=944814&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/auth/AuthorizationManager.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/auth/AuthorizationManager.java Sun May 16 12:16:08 2010
@@ -412,6 +412,7 @@ public final class AuthorizationManager
             if (policyURL != null) 
             {
                 File policyFile = new File( policyURL.getPath() );
+                log.info("We found security policy URL: " + policyURL + " and transformed it to file " + policyFile.getAbsolutePath());
                 m_localPolicy = new LocalPolicy( policyFile, engine.getContentEncoding() );
                 m_localPolicy.refresh();
                 log.info( "Initialized default security policy: " + policyFile.getAbsolutePath() );