craigmcc 00/11/10 17:38:09 Modified: catalina/src/share/org/apache/catalina/connector/http HttpProcessor.java catalina/src/share/org/apache/catalina/connector/test HttpProcessor.java Log: When there are multiple instances of the session id cookie present (because context paths in which the sessions exist have names that are proper prefixes of each other, like "/", "/foo", and "/foo/bar"), treat the *first* cookie value specified as the relevant one for this request, rather than the *last* one as presently done. This is based on the RFC 2109 requirement that the browser is supposed to send such cookies with the most specific path first, and this matches the "longest match win" rule of how Tomcat selects which context will process the request. This patch was inspired by a Tomcat 3.2 patch proposed by Paul Frieden <[EMAIL PROTECTED]>. A modified version of his proposed patch that provides equivalent functionality for Tomcat 3.2 will be committed next. Revision Changes Path 1.11 +6 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpProcessor.java Index: HttpProcessor.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpProcessor.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- HttpProcessor.java 2000/11/09 20:15:50 1.10 +++ HttpProcessor.java 2000/11/11 01:38:09 1.11 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpProcessor.java,v 1.10 2000/11/09 20:15:50 remm Exp $ - * $Revision: 1.10 $ - * $Date: 2000/11/09 20:15:50 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpProcessor.java,v 1.11 2000/11/11 01:38:09 craigmcc Exp $ + * $Revision: 1.11 $ + * $Date: 2000/11/11 01:38:09 $ * * ==================================================================== * @@ -106,7 +106,7 @@ * * @author Craig R. McClanahan * @author Remy Maucherat - * @version $Revision: 1.10 $ $Date: 2000/11/09 20:15:50 $ + * @version $Revision: 1.11 $ $Date: 2000/11/11 01:38:09 $ */ final class HttpProcessor @@ -537,6 +537,8 @@ log(" Requested cookie session id is " + ((HttpServletRequest) request.getRequest()) .getRequestedSessionId()); + break; // Accept only the first session id value + } request.addCookie(cookies[i]); } 1.6 +6 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/test/HttpProcessor.java Index: HttpProcessor.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/test/HttpProcessor.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- HttpProcessor.java 2000/09/13 20:14:57 1.5 +++ HttpProcessor.java 2000/11/11 01:38:09 1.6 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/test/HttpProcessor.java,v 1.5 2000/09/13 20:14:57 craigmcc Exp $ - * $Revision: 1.5 $ - * $Date: 2000/09/13 20:14:57 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/test/HttpProcessor.java,v 1.6 2000/11/11 01:38:09 craigmcc Exp $ + * $Revision: 1.6 $ + * $Date: 2000/11/11 01:38:09 $ * * ==================================================================== * @@ -104,7 +104,7 @@ * the request. When the processor is completed, it will recycle itself. * * @author Craig R. McClanahan - * @version $Revision: 1.5 $ $Date: 2000/09/13 20:14:57 $ + * @version $Revision: 1.6 $ $Date: 2000/11/11 01:38:09 $ */ final class HttpProcessor @@ -448,6 +448,8 @@ if (debug >= 1) log(" Requested cookie session id is " + ((HttpServletRequest) request.getRequest()).getRequestedSessionId()); + break; // Accept only the first session id value + } request.addCookie(cookies[i]); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]