Author: markt
Date: Wed May 21 17:03:54 2014
New Revision: 1596623
URL: http://svn.apache.org/r1596623
Log:
Apply patch 06 from jboynes to improve cookie handling.
Remove duplicate code.
The patch should be safe since the logic is unchanged.
Modified:
tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java
Modified: tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java?rev=1596623&r1=1596622&r2=1596623&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java Wed May
21 17:03:54 2014
@@ -209,37 +209,6 @@ public class SetCookieSupport {
}
private static boolean needsQuotes(String value) {
- if (CookieSupport.ALLOW_HTTP_SEPARATORS_IN_V0) {
- return isNotV0Token(value);
- } else {
- return isNotHttpToken(value);
- }
- }
-
- private static boolean isNotV0Token(String value) {
- if (value==null) {
- return false;
- }
-
- int i = 0;
- int len = value.length();
-
- if (alreadyQuoted(value)) {
- i++;
- len--;
- }
-
- for (; i < len; i++) {
- char c = value.charAt(i);
-
- if (CookieSupport.isV0Separator(c)) {
- return true;
- }
- }
- return false;
- }
-
- private static boolean isNotHttpToken(String value) {
if (value == null) {
return false;
}
@@ -255,13 +224,20 @@ public class SetCookieSupport {
for (; i < len; i++) {
char c = value.charAt(i);
- if (CookieSupport.isHttpSeparator(c)) {
- return true;
+ if (CookieSupport.ALLOW_HTTP_SEPARATORS_IN_V0) {
+ if (CookieSupport.isV0Separator(c)) {
+ return true;
+ }
+ } else {
+ if (CookieSupport.isHttpSeparator(c)) {
+ return true;
+ }
}
}
return false;
}
+
private static boolean alreadyQuoted (String value) {
return value.length() >= 2 &&
value.charAt(0) == '\"' &&
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]