You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@locus.apache.org on 2000/08/05 03:42:20 UTC

cvs commit: jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core StandardContext.java

craigmcc    00/08/04 18:42:20

  Modified:    proposals/catalina/docs/config context.html
               proposals/catalina/src/share/org/apache/tomcat Context.java
               proposals/catalina/src/share/org/apache/tomcat/connector
                        HttpResponseBase.java
               proposals/catalina/src/share/org/apache/tomcat/core
                        StandardContext.java
  Log:
  Make it possible to disable the use of cookies for session ids, by
  using 'cookies="false"' on the <Context> element in server.xml.  The
  default value is "true".
  
  Revision  Changes    Path
  1.3       +11 -0     jakarta-tomcat/proposals/catalina/docs/config/context.html
  
  Index: context.html
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/docs/config/context.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- context.html	2000/06/12 01:33:37	1.2
  +++ context.html	2000/08/05 01:42:16	1.3
  @@ -68,6 +68,17 @@
     </tr>
   
     <tr>
  +    <td><code>cookies</code></td>
  +    <td>
  +      Set to <code>true</code> if you want cookies to be used for session
  +      identifier communication (if supported by the client).  Set to
  +      <code>false</code> if you want to skip even trying session id cookies,
  +      and rely only on URL rewriting.  If not specified, the default value is
  +      <code>true</code>.
  +    </td>
  +  </tr>
  +
  +  <tr>
       <td><code>docBase</code></td>
       <td>
         The "document base" directory for this web application.  This is the
  
  
  
  1.14      +18 -4     jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/Context.java
  
  Index: Context.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/Context.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Context.java	2000/08/03 21:59:28	1.13
  +++ Context.java	2000/08/05 01:42:17	1.14
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/Context.java,v 1.13 2000/08/03 21:59:28 craigmcc Exp $
  - * $Revision: 1.13 $
  - * $Date: 2000/08/03 21:59:28 $
  + * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/Context.java,v 1.14 2000/08/05 01:42:17 craigmcc Exp $
  + * $Revision: 1.14 $
  + * $Date: 2000/08/05 01:42:17 $
    *
    * ====================================================================
    *
  @@ -91,13 +91,27 @@
    * <p>
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.13 $ $Date: 2000/08/03 21:59:28 $
  + * @version $Revision: 1.14 $ $Date: 2000/08/05 01:42:17 $
    */
   
   public interface Context extends Container {
   
   
       // ------------------------------------------------------------- Properties
  +
  +
  +    /**
  +     * Return the "use cookies for session ids" flag.
  +     */
  +    public boolean getCookies();
  +
  +
  +    /**
  +     * Set the "use cookies for session ids" flag.
  +     *
  +     * @param cookies The new flag
  +     */
  +    public void setCookies(boolean cookies);
   
   
       /**
  
  
  
  1.16      +6 -5      jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/HttpResponseBase.java
  
  Index: HttpResponseBase.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/HttpResponseBase.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- HttpResponseBase.java	2000/07/30 00:43:24	1.15
  +++ HttpResponseBase.java	2000/08/05 01:42:17	1.16
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/HttpResponseBase.java,v 1.15 2000/07/30 00:43:24 craigmcc Exp $
  - * $Revision: 1.15 $
  - * $Date: 2000/07/30 00:43:24 $
  + * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/HttpResponseBase.java,v 1.16 2000/08/05 01:42:17 craigmcc Exp $
  + * $Revision: 1.16 $
  + * $Date: 2000/08/05 01:42:17 $
    *
    * ====================================================================
    *
  @@ -94,7 +94,7 @@
    * methods need to be implemented.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.15 $ $Date: 2000/07/30 00:43:24 $
  + * @version $Revision: 1.16 $ $Date: 2000/08/05 01:42:17 $
    */
   
   public class HttpResponseBase
  @@ -475,7 +475,8 @@
   	HttpServletRequest hreq = (HttpServletRequest) request.getRequest();
   	HttpSession session = hreq.getSession(false);
   
  -	if ((session != null) && session.isNew()) {
  +	if ((session != null) && session.isNew() &&
  +	    getContext().getCookies()) {
   	    Cookie cookie = new Cookie(Constants.SessionCookie,
   				       session.getId());
   	    cookie.setMaxAge(-1);
  
  
  
  1.26      +36 -4     jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardContext.java
  
  Index: StandardContext.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardContext.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- StandardContext.java	2000/08/04 00:52:33	1.25
  +++ StandardContext.java	2000/08/05 01:42:19	1.26
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardContext.java,v 1.25 2000/08/04 00:52:33 craigmcc Exp $
  - * $Revision: 1.25 $
  - * $Date: 2000/08/04 00:52:33 $
  + * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/core/StandardContext.java,v 1.26 2000/08/05 01:42:19 craigmcc Exp $
  + * $Revision: 1.26 $
  + * $Date: 2000/08/05 01:42:19 $
    *
    * ====================================================================
    *
  @@ -100,7 +100,7 @@
    * requests directed to a particular servlet.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.25 $ $Date: 2000/08/04 00:52:33 $
  + * @version $Revision: 1.26 $ $Date: 2000/08/05 01:42:19 $
    */
   
   public final class StandardContext
  @@ -138,6 +138,12 @@
   
   
       /**
  +     * Should we attempt to use cookies for session id communication?
  +     */
  +    private boolean cookies = true;
  +
  +
  +    /**
        * The distributable flag for this web application.
        */
       private boolean distributable = false;
  @@ -299,6 +305,32 @@
   
   
       // ------------------------------------------------------------- Properties
  +
  +
  +    /**
  +     * Return the "use cookies for session ids" flag.
  +     */
  +    public boolean getCookies() {
  +
  +	return (this.cookies);
  +
  +    }
  +
  +
  +    /**
  +     * Set the "use cookies for session ids" flag.
  +     *
  +     * @param cookies The new flag
  +     */
  +    public void setCookies(boolean cookies) {
  +
  +	boolean oldCookies = this.cookies;
  +	this.cookies = cookies;
  +	support.firePropertyChange("cookies",
  +				   new Boolean(oldCookies),
  +				   new Boolean(this.cookies));
  +
  +    }
   
   
       /**