Author: metskem
Date: Sun May 16 12:31:24 2010
New Revision: 944816
URL: http://svn.apache.org/viewvc?rev=944816&view=rev
Log:
3.0.0-svn-219 JSPWIKI-646 JSPWiki cannot run without unpacking the war file
Modified:
incubator/jspwiki/trunk/ChangeLog
incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java
incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthenticationManager.java
incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthorizationManager.java
Modified: incubator/jspwiki/trunk/ChangeLog
URL:
http://svn.apache.org/viewvc/incubator/jspwiki/trunk/ChangeLog?rev=944816&r1=944815&r2=944816&view=diff
==============================================================================
--- incubator/jspwiki/trunk/ChangeLog (original)
+++ incubator/jspwiki/trunk/ChangeLog Sun May 16 12:31:24 2010
@@ -1,3 +1,9 @@
+2010-05-16 Harry Metske <[email protected]>
+
+ * 3.0.0-svn-219
+
+ * JSPWIKI-646 JSPWiki cannot run without unpacking the war file
+
2010-05-08 Harry Metske <[email protected]>
* 3.0.0-svn-218
Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java
URL:
http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java?rev=944816&r1=944815&r2=944816&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java Sun May 16
12:31:24 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 = "218";
+ public static final String BUILD = "219";
/**
* This is the generic version string you should use
Modified:
incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthenticationManager.java
URL:
http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthenticationManager.java?rev=944816&r1=944815&r2=944816&view=diff
==============================================================================
---
incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthenticationManager.java
(original)
+++
incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthenticationManager.java
Sun May 16 12:31:24 2010
@@ -52,7 +52,6 @@ import org.apache.wiki.util.TextUtil;
import org.apache.wiki.util.TimedCounterList;
import org.freshcookies.security.Keychain;
-
/**
* Manages authentication activities for a WikiEngine: user login, logout, and
* credential refreshes. This class uses JAAS to determine how users log in.
@@ -774,7 +773,7 @@ public final class AuthenticationManager
{
try
{
- return defaultFile.toURL();
+ return defaultFile.toURI().toURL();
}
catch ( MalformedURLException e)
{
@@ -785,29 +784,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.error("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/trunk/src/java/org/apache/wiki/auth/AuthorizationManager.java
URL:
http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthorizationManager.java?rev=944816&r1=944815&r2=944816&view=diff
==============================================================================
---
incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthorizationManager.java
(original)
+++
incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthorizationManager.java
Sun May 16 12:31:24 2010
@@ -448,6 +448,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() );