You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ji...@apache.org on 2008/03/05 17:19:41 UTC

svn commit: r633908 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/tomcat/util/http/ServerCookie.java

Author: jim
Date: Wed Mar  5 08:19:38 2008
New Revision: 633908

URL: http://svn.apache.org/viewvc?rev=633908&view=rev
Log:
Merge r627743, r630533 from trunk:

Add STRICT compliance flag to impact cookie value handling to provide backwards compatibility
Add STRICT complanice flag to impact ServletContext.getResource(AsStream) to be backwards compatible


Use the same name on the static variable for servlet compliance

Submitted by: fhanik
Reviewed by: jim

Modified:
    tomcat/tc6.0.x/trunk/STATUS.txt
    tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/http/ServerCookie.java

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=633908&r1=633907&r2=633908&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Mar  5 08:19:38 2008
@@ -47,12 +47,6 @@
   +1: fhanik, markt, remm, jfclere
   -1:
   
-* Allow old style cookie values to work(auto switch to v1) (regression)
-  http://svn.apache.org/viewvc?view=rev&revision=627743 (ServerCookie.java)
-  http://svn.apache.org/viewvc?view=rev&revision=630533 (use the same variable name for all servlet compliance flags)
-  +1: fhanik, markt, jim
-  -1: 
-  
 * Fix ArrayIndexOutOfBoundsException when empty URL is requested
   http://svn.apache.org/viewvc?rev=627883&view=rev
   +1: markt, jim

Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/http/ServerCookie.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/http/ServerCookie.java?rev=633908&r1=633907&r2=633908&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/http/ServerCookie.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/http/ServerCookie.java Wed Mar  5 08:19:38 2008
@@ -51,6 +51,13 @@
     private int maxAge = -1;
     private int version = 0;
 
+    /**
+     * If set to true, we parse cookies according to the servlet spec,
+     */
+    public static final boolean STRICT_SERVLET_COMPLIANCE =
+        Boolean.valueOf(System.getProperty("org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "false")).booleanValue();
+
+
     // Note: Servlet Spec =< 2.5 only refers to Netscape and RFC2109,
     // not RFC2965
 
@@ -248,7 +255,7 @@
         buf.append("=");
         // Servlet implementation does not check anything else
         
-        maybeQuote2(version, buf, value);
+        version = maybeQuote2(version, buf, value);
 
         // Add version 1 specific information
         if (version == 1) {
@@ -329,7 +336,7 @@
      * @param buf
      * @param value
      */
-    public static void maybeQuote2 (int version, StringBuffer buf, String value) {
+    public static int maybeQuote2 (int version, StringBuffer buf, String value) {
         if (value==null || value.length()==0) {
             buf.append("\"\"");
         }else if (containsCTL(value,version)) 
@@ -338,6 +345,11 @@
             buf.append('"');
             buf.append(escapeDoubleQuotes(value,1,value.length()-1));
             buf.append('"');
+        } else if ((!STRICT_SERVLET_COMPLIANCE) && version==0 && !isToken2(value)) {
+            buf.append('"');
+            buf.append(escapeDoubleQuotes(value,0,value.length()));
+            buf.append('"');
+            version = 1;
         } else if (version==0 && !isToken(value)) {
             buf.append('"');
             buf.append(escapeDoubleQuotes(value,0,value.length()));
@@ -349,6 +361,7 @@
         }else {
             buf.append(value);
         }
+        return version;
     }
 
 



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


Re: svn commit: r633908 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/tomcat/util/http/ServerCookie.java

Posted by Jim Jagielski <ji...@jaguNET.com>.
Ahhh some of that was in r629848

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


Re: svn commit: r633908 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/tomcat/util/http/ServerCookie.java

Posted by Jim Jagielski <ji...@jaguNET.com>.
On Mar 5, 2008, at 1:52 PM, Mark Thomas wrote:

> jim@apache.org wrote:
>> Author: jim
>> Date: Wed Mar  5 08:19:38 2008
>> New Revision: 633908
>> URL: http://svn.apache.org/viewvc?rev=633908&view=rev
>> Log:
>> Merge r627743, r630533 from trunk:
>> Add STRICT complanice flag to impact  
>> ServletContext.getResource(AsStream) to be backwards compatible
>
> I don't see this part of the patch in the commit.
>

Hmmm... let me double check that. The merge may have broke...


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


Re: svn commit: r633908 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/tomcat/util/http/ServerCookie.java

Posted by Mark Thomas <ma...@apache.org>.
jim@apache.org wrote:
> Author: jim
> Date: Wed Mar  5 08:19:38 2008
> New Revision: 633908
> 
> URL: http://svn.apache.org/viewvc?rev=633908&view=rev
> Log:
> Merge r627743, r630533 from trunk:
> 
> Add STRICT complanice flag to impact ServletContext.getResource(AsStream) to be backwards compatible

I don't see this part of the patch in the commit.

Mark


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