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]

Reply via email to