Update of /var/cvs/src/org/mmbase/framework
In directory james.mmbase.org:/tmp/cvs-serv9700
Modified Files:
CachedRenderer.java DocumentationRenderer.java
Log Message:
Make sure only valid filenames are used
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/framework
Index: CachedRenderer.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/CachedRenderer.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- CachedRenderer.java 13 Jan 2009 20:59:58 -0000 1.6
+++ CachedRenderer.java 13 Jan 2009 21:23:52 -0000 1.7
@@ -13,6 +13,7 @@
import java.io.*;
import java.net.*;
import java.util.*;
+import java.util.regex.*;
import java.util.concurrent.*;
@@ -51,7 +52,7 @@
]]></pre>
*
* @author Michiel Meeuwissen
- * @version $Id: CachedRenderer.java,v 1.6 2009/01/13 20:59:58 michiel Exp $
+ * @version $Id: CachedRenderer.java,v 1.7 2009/01/13 21:23:52 michiel Exp $
* @since MMBase-1.9.1
*/
@@ -116,14 +117,17 @@
private static final String CACHE_EXTENSION = ".cache";
private static final String ETAG_EXTENSION = ".etag";
+ private static final Pattern INVALID_IN_FILENAME =
Pattern.compile("[\\/\\\\\\s]");
protected File getCacheFile(Parameters blockParameters, RenderHints hints)
{
File dir = new File(MMBase.getMMBase().getDataDir(), directory);
File componentDir = new File(dir, getBlock().getComponent().getName());
File blockDir = new File(componentDir, getBlock().getName());
blockDir.mkdirs();
- String key = getBlock().getName() + "_" + getKey(blockParameters) +
"_" + hints.getWindowState() + "_" + hints.getId() + "_" +
hints.getStyleClass() + CACHE_EXTENSION;
- return new File(blockDir, key);
+ String key = getBlock().getName() + "+" + getKey(blockParameters) +
"+" + hints.getWindowState() + "_" + hints.getId() + "_" +
hints.getStyleClass() + CACHE_EXTENSION;
+
+ String escaped = INVALID_IN_FILENAME.matcher(key).replaceAll("_");
+ return new File(blockDir, escaped);
}
Index: DocumentationRenderer.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/DocumentationRenderer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- DocumentationRenderer.java 13 Jan 2009 08:24:21 -0000 1.1
+++ DocumentationRenderer.java 13 Jan 2009 21:23:52 -0000 1.2
@@ -29,7 +29,7 @@
* render the documenation from the xml's in a/the jar.
*
* @author Michiel Meeuwissen
- * @version $Id: DocumentationRenderer.java,v 1.1 2009/01/13 08:24:21 michiel
Exp $
+ * @version $Id: DocumentationRenderer.java,v 1.2 2009/01/13 21:23:52 michiel
Exp $
* @since MMBase-1.9.1
*/
@@ -61,7 +61,7 @@
String db = blockParameters != null ?
blockParameters.getString("docbook") : null;
if (db == null || "".equals(db)) {
db = DocumentationRenderer.this.docbook;
- if (db == null) throw new
IllegalArgumentException("docbook parameter not set on parameters, nor as
renderer property");
+ //if (db == null) throw new
IllegalArgumentException("docbook parameter not set on parameters, nor as
renderer property");
}
return new URL(repository + module + "/" +
db).toURI();
} catch (MalformedURLException mfe) {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs