You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bi...@apache.org on 2002/08/22 08:04:30 UTC
cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/modules/session SessionId.java
billbarker 2002/08/21 23:04:30
Modified: src/share/org/apache/tomcat/modules/session SessionId.java
Log:
Fix session cookie path problem under Windows.
Reported by: Tony Chao Tony_Chao@putnam.com
Revision Changes Path
1.20 +18 -1 jakarta-tomcat/src/share/org/apache/tomcat/modules/session/SessionId.java
Index: SessionId.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/session/SessionId.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- SessionId.java 10 Nov 2001 08:57:43 -0000 1.19
+++ SessionId.java 22 Aug 2002 06:04:29 -0000 1.20
@@ -96,8 +96,10 @@
boolean noCookies=false;
boolean cookiesFirst=true;
boolean checkSSLSessionId=false;
+ boolean ignoreCase=false;
public SessionId() {
+ ignoreCase= (File.separatorChar == '\\');
}
public void setCookiesFirst( boolean b ) {
@@ -112,6 +114,16 @@
this.checkSSLSessionId = checkSSLSessionId;
}
+ /** Is the path case-insenitive.
+ */
+ public void setIgnoreCase(boolean ic) {
+ ignoreCase = ic;
+ }
+
+ public boolean getIgnoreCase() {
+ return ignoreCase;
+ }
+
/** Extract the session id from the request.
* SessionInterceptor will have to be called _before_ mapper,
@@ -326,7 +338,12 @@
String sessionPath = rrequest.getContext().getPath();
if(sessionPath.length() == 0) {
sessionPath = "/";
- }
+ } else if( ignoreCase ) {
+ if(! rrequest.requestURI().startsWith( sessionPath )){
+ sessionPath = rrequest.requestURI().toString()
+ .substring(0,sessionPath.length());
+ }
+ }
// // GS, piggyback the jvm route on the session id.
// // if(!sessionPath.equals("/")) {
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>