Author: fhanik Date: Tue Mar 18 20:46:17 2008 New Revision: 638695 URL: http://svn.apache.org/viewvc?rev=638695&view=rev Log: Only allow version switching on the "value" of the cookie, for the rest, just quote like we did in the past. this becomes the most backwards compatible with old behavior
Modified: tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookie.java Modified: tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookie.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookie.java?rev=638695&r1=638694&r2=638695&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookie.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/ServerCookie.java Tue Mar 18 20:46:17 2008 @@ -255,7 +255,7 @@ buf.append("="); // Servlet implementation does not check anything else - version = maybeQuote2(version, buf, value); + version = maybeQuote2(version, buf, value,true); // Add version 1 specific information if (version == 1) { @@ -299,10 +299,7 @@ // Path=path if (path!=null) { buf.append ("; Path="); - if (version>0) - maybeQuote2(version, buf, path); //don't quote the path for v0 cookies - else - buf.append(path); + maybeQuote2(version, buf, path); } // Secure @@ -340,6 +337,10 @@ * @param value */ public static int maybeQuote2 (int version, StringBuffer buf, String value) { + return maybeQuote2(version,buf,value,false); + } + + public static int maybeQuote2 (int version, StringBuffer buf, String value, boolean allowVersionSwitch) { if (value==null || value.length()==0) { buf.append("\"\""); }else if (containsCTL(value,version)) @@ -348,7 +349,7 @@ buf.append('"'); buf.append(escapeDoubleQuotes(value,1,value.length()-1)); buf.append('"'); - } else if ((!STRICT_SERVLET_COMPLIANCE) && version==0 && !isToken2(value)) { + } else if (allowVersionSwitch && (!STRICT_SERVLET_COMPLIANCE) && version==0 && !isToken2(value)) { buf.append('"'); buf.append(escapeDoubleQuotes(value,0,value.length())); buf.append('"'); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]