From 6881515b39d01f15a5d3f371b5494c9211b31ae0 Mon Sep 17 00:00:00 2001 From: remm Date: Tue, 5 Sep 2006 11:55:59 +0000 Subject: [PATCH] - Add a master flag for compliance issues, for ease of use. - Add back session access on all requests. git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@440328 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/Globals.java | 8 ++++++++ java/org/apache/catalina/core/StandardHostValve.java | 6 ++++++ java/org/apache/catalina/session/StandardSession.java | 3 ++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/Globals.java b/java/org/apache/catalina/Globals.java index 2de06db7e..9caf191f1 100644 --- a/java/org/apache/catalina/Globals.java +++ b/java/org/apache/catalina/Globals.java @@ -321,4 +321,12 @@ public final class Globals { "javax.servlet.context.tempdir"; + /** + * The master flag which controls strict servlet specification + * compliance. + */ + public static final boolean STRICT_SERVLET_COMPLIANCE = + Boolean.valueOf(System.getProperty("org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "false")).booleanValue(); + + } diff --git a/java/org/apache/catalina/core/StandardHostValve.java b/java/org/apache/catalina/core/StandardHostValve.java index acff1b0b6..d5771d0fc 100644 --- a/java/org/apache/catalina/core/StandardHostValve.java +++ b/java/org/apache/catalina/core/StandardHostValve.java @@ -125,6 +125,12 @@ final class StandardHostValve // Ask this Context to process this request context.getPipeline().getFirst().invoke(request, response); + // Access a session (if present) to update last accessed time, based on a + // strict interpretation of the specification + if (Globals.STRICT_SERVLET_COMPLIANCE) { + request.getSession(false); + } + // Error page processing response.setSuspended(false); diff --git a/java/org/apache/catalina/session/StandardSession.java b/java/org/apache/catalina/session/StandardSession.java index 27443a2e7..7de7d23e4 100644 --- a/java/org/apache/catalina/session/StandardSession.java +++ b/java/org/apache/catalina/session/StandardSession.java @@ -84,7 +84,8 @@ public class StandardSession protected static final boolean ACTIVITY_CHECK = - Boolean.valueOf(System.getProperty("org.apache.catalina.session.StandardSession.ACTIVITY_CHECK", "false")).booleanValue(); + Globals.STRICT_SERVLET_COMPLIANCE + || Boolean.valueOf(System.getProperty("org.apache.catalina.session.StandardSession.ACTIVITY_CHECK", "false")).booleanValue(); // ----------------------------------------------------------- Constructors -- 2.11.0