Author: markt
Date: Tue Mar 24 12:43:25 2009
New Revision: 757764

URL: http://svn.apache.org/viewvc?rev=757764&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=42419
Support changing of JSESSIONID cookie name and jsessionid path parameter name

Modified:
    tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/Globals.java
    
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/authenticator/Constants.java
    tomcat/container/tc5.5.x/webapps/docs/config/systemprops.xml
    tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/Constants.java
    tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/tagplugins/jstl/Util.java

Modified: 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/Globals.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/Globals.java?rev=757764&r1=757763&r2=757764&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/Globals.java 
(original)
+++ 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/Globals.java 
Tue Mar 24 12:43:25 2009
@@ -269,14 +269,18 @@
      * The name of the cookie used to pass the session identifier back
      * and forth with the client.
      */
-    public static final String SESSION_COOKIE_NAME = "JSESSIONID";
+    public static final String SESSION_COOKIE_NAME =
+        System.getProperty("org.apache.catalina.SESSION_COOKIE_NAME",
+                "JSESSIONID");
 
 
     /**
      * The name of the path parameter used to pass the session identifier
      * back and forth with the client.
      */
-    public static final String SESSION_PARAMETER_NAME = "jsessionid";
+    public static final String SESSION_PARAMETER_NAME =
+        System.getProperty("org.apache.catalina.SESSION_PARAMETER_NAME",
+                "jsessionid");
 
 
     /**

Modified: 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/authenticator/Constants.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/authenticator/Constants.java?rev=757764&r1=757763&r2=757764&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/authenticator/Constants.java
 (original)
+++ 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/authenticator/Constants.java
 Tue Mar 24 12:43:25 2009
@@ -40,7 +40,10 @@
     public static final String FORM_USERNAME = "j_username";
 
     // Cookie name for single sign on support
-    public static final String SINGLE_SIGN_ON_COOKIE = "JSESSIONIDSSO";
+    public static final String SINGLE_SIGN_ON_COOKIE =
+        System.getProperty(
+                
"org.apache.catalina.authenticator.Constants.SSO_SESSION_COOKIE_NAME",
+                "JSESSIONIDSSO");
 
 
     // --------------------------------------------------------- Request Notes

Modified: tomcat/container/tc5.5.x/webapps/docs/config/systemprops.xml
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/config/systemprops.xml?rev=757764&r1=757763&r2=757764&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/webapps/docs/config/systemprops.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/config/systemprops.xml Tue Mar 24 
12:43:25 2009
@@ -117,6 +117,34 @@
 </section>
 
 
+<section name="Sessions">
+
+  <properties>
+
+    <property name="org.apache.catalina.SESSION_COOKIE_NAME">
+      <p>An alternative name for the session cookie. Defaults to
+      <code>JSESSIONID</code>. Note that the Servlet specification requires
+      this to be <code>JSESSIONID</code>. You should not rely on being able to
+      change this.</p>
+    </property>
+
+    <property name="org.apache.catalina.SESSION_PARAMETER_NAME">
+      <p>An alternative name for the session path parameter. Defaults to
+      <code>jsessionid</code>. Note that the Servlet specification requires
+      this to be <code>jsessionid</code>. You should not rely on being able to
+      change this.</p>
+    </property>
+
+    <property name="org.apache.catalina.SSO_SESSION_COOKIE_NAME">
+      <p>An alternative name for the single sign on session cookie. Defaults to
+      <code>JSESSIONIDSSO</code>.</p>
+    </property>
+    
+  </properties>
+
+</section>
+
+
 <section name="Other">
 
   <properties>

Modified: tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/Constants.java
URL: 
http://svn.apache.org/viewvc/tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/Constants.java?rev=757764&r1=757763&r2=757764&view=diff
==============================================================================
--- tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/Constants.java (original)
+++ tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/Constants.java Tue Mar 24 
12:43:25 2009
@@ -211,5 +211,13 @@
      */
     public static final String HACK_STR = "'\\ue000'";
     
+    /**
+     * The name of the path parameter used to pass the session identifier
+     * back and forth with the client.
+     */
+    public static final String SESSION_PARAMETER_NAME =
+        System.getProperty("org.apache.catalina.SESSION_PARAMETER_NAME",
+                "jsessionid");
+
 }
 

Modified: 
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/tagplugins/jstl/Util.java
URL: 
http://svn.apache.org/viewvc/tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/tagplugins/jstl/Util.java?rev=757764&r1=757763&r2=757764&view=diff
==============================================================================
--- tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/tagplugins/jstl/Util.java 
(original)
+++ tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/tagplugins/jstl/Util.java 
Tue Mar 24 12:43:25 2009
@@ -33,6 +33,8 @@
 import javax.servlet.jsp.JspTagException;
 import javax.servlet.jsp.PageContext;
 
+import org.apache.jasper.Constants;
+
 /**
  * Util contains some often used consts, static methods and embedded class
  * to support the JSTL tag plugin.
@@ -150,7 +152,8 @@
     public static String stripSession(String url) {
         StringBuffer u = new StringBuffer(url);
         int sessionStart;
-        while ((sessionStart = u.toString().indexOf(";jsessionid=")) != -1) {
+        while ((sessionStart = u.toString().indexOf(";" +
+                Constants.SESSION_PARAMETER_NAME + "=")) != -1) {
             int sessionEnd = u.toString().indexOf(";", sessionStart + 1);
             if (sessionEnd == -1)
                 sessionEnd = u.toString().indexOf("?", sessionStart + 1);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to