From 17f9280b3fe0a9efff20b9b8cff240142d04739f Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Wed, 14 Mar 2012 12:04:20 +0000 Subject: [PATCH] * Jetty: - Set default cache-control for webapps and eepsite - Disable dir listing for console webapps * WebAppStarter: Remove static log --- .../org/klomp/snark/web/I2PSnarkServlet.java | 6 +----- .../i2p/router/web/LocaleWebAppHandler.java | 1 + .../src/net/i2p/router/web/WebAppStarter.java | 21 ++++++++++--------- .../eepsite/contexts/base-context.xml | 10 +++++++++ .../resources/eepsite/etc/webdefault.xml | 2 -- 5 files changed, 23 insertions(+), 17 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 2a85cae946..c0c3703379 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -101,8 +101,7 @@ public class I2PSnarkServlet extends DefaultServlet { public Resource getResource(String pathInContext) { if (pathInContext == null || pathInContext.equals("/") || pathInContext.equals("/index.jsp") || - pathInContext.equals("/index.html") || pathInContext.startsWith("/.icons/") || - pathInContext.startsWith("/.js/") || pathInContext.startsWith("/.ajax/")) + pathInContext.equals("/index.html") || pathInContext.startsWith("/.icons/")) return super.getResource(pathInContext); // files in the i2psnark/ directory try { @@ -118,9 +117,6 @@ public class I2PSnarkServlet extends DefaultServlet { */ @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { -//////////////////////////////////// - //if (resource.getName().startsWith("jar:file:")) - // response.setHeader("Cache-Control", "max-age=86400"); // cache for a day super.doGet(request, response); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/LocaleWebAppHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/LocaleWebAppHandler.java index e24824e2a2..bbc27ed3e5 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/LocaleWebAppHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/LocaleWebAppHandler.java @@ -28,6 +28,7 @@ public class LocaleWebAppHandler extends WebAppContext public LocaleWebAppHandler(I2PAppContext ctx, String path, String warPath) { super(warPath, path); _context = ctx; + setInitParams(WebAppStarter.INIT_PARAMS); } /** diff --git a/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java b/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java index 0384bff390..5d025f9676 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java @@ -2,15 +2,12 @@ package net.i2p.router.web; import java.io.File; import java.io.IOException; -import java.util.Collection; +import java.util.HashMap; import java.util.Map; -import java.util.Properties; -import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; import net.i2p.I2PAppContext; import net.i2p.util.FileUtil; -import net.i2p.util.Log; import net.i2p.util.SecureDirectory; import net.i2p.util.PortMapper; @@ -39,11 +36,16 @@ import org.mortbay.jetty.handler.ContextHandlerCollection; */ public class WebAppStarter { - static final Map<String, Long> warModTimes = new ConcurrentHashMap(); - static private Log _log; + private static final Map<String, Long> warModTimes = new ConcurrentHashMap(); + static final Map INIT_PARAMS = new HashMap(4); + //static private Log _log; static { - _log = ContextHelper.getContext(null).logManager().getLog(WebAppStarter.class); ; + //_log = ContextHelper.getContext(null).logManager().getLog(WebAppStarter.class); ; + // see DefaultServlet javadocs + String pfx = "org.mortbay.jetty.servlet.Default."; + INIT_PARAMS.put(pfx + "cacheControl", "max-age=86400"); + INIT_PARAMS.put(pfx + "dirAllowed", "false"); } @@ -55,7 +57,8 @@ public class WebAppStarter { String appName, String warPath) throws Exception { File tmpdir = new SecureDirectory(ctx.getTempDir(), "jetty-work-" + appName + ctx.random().nextInt()); WebAppContext wac = addWebApp(ctx, server, appName, warPath, tmpdir); - _log.debug("Loading war from: " + warPath); + //_log.debug("Loading war from: " + warPath); + wac.setInitParams(INIT_PARAMS); wac.start(); } @@ -102,8 +105,6 @@ public class WebAppStarter { // this does the passwords... RouterConsoleRunner.initialize(wac); - - // see WebAppConfiguration for info String[] classNames = wac.getConfigurationClasses(); String[] newClassNames = new String[classNames.length + 1]; diff --git a/installer/resources/eepsite/contexts/base-context.xml b/installer/resources/eepsite/contexts/base-context.xml index 327dc73c28..59063b716c 100644 --- a/installer/resources/eepsite/contexts/base-context.xml +++ b/installer/resources/eepsite/contexts/base-context.xml @@ -11,6 +11,16 @@ to serve static html files and images. <Configure class="org.mortbay.jetty.servlet.Context"> <Set name="contextPath">/</Set> <Set name="resourceBase">./eepsite/docroot/</Set> + <Call name="setInitParams"> + <Arg> + <Map> + <Entry> + <Item>orb.mortbay.jetty.servlet.Default.cacheControl</Item> + <Item>max-age=3600,public</Item> + </Entry> + </Map> + </Arg> + </Call> <Call name="addServlet"> <Arg>org.mortbay.jetty.servlet.DefaultServlet</Arg> <Arg>/</Arg> diff --git a/installer/resources/eepsite/etc/webdefault.xml b/installer/resources/eepsite/etc/webdefault.xml index b8d0114169..e13916f101 100644 --- a/installer/resources/eepsite/etc/webdefault.xml +++ b/installer/resources/eepsite/etc/webdefault.xml @@ -153,12 +153,10 @@ <param-name>useFileMappedBuffer</param-name> <param-value>true</param-value> </init-param> - <!-- <init-param> <param-name>cacheControl</param-name> <param-value>max-age=3600,public</param-value> </init-param> - --> <load-on-startup>0</load-on-startup> </servlet> -- GitLab