From 5141085fed2f5ff8cdc11f566580ba74b7c104ad Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Mon, 15 May 2017 23:34:28 +0200 Subject: [PATCH] Issue #1546 - more cookie fixes --- .../org/eclipse/jetty/server/CookieCutter.java | 1 + .../java/org/eclipse/jetty/server/RequestTest.java | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/CookieCutter.java b/jetty-server/src/main/java/org/eclipse/jetty/server/CookieCutter.java index 189ad45c5d2..60885ee3470 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/CookieCutter.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/CookieCutter.java @@ -154,6 +154,7 @@ public class CookieCutter if (i==last) { value = unquoted.toString(); + unquoted.setLength(0); } else { diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java index 40c4dd7c439..0165a7692f8 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/RequestTest.java @@ -1326,7 +1326,7 @@ public class RequestTest "POST / HTTP/1.1\r\n"+ "Host: whatever\r\n"+ "Cookie: name0=value0; name1 = value1 ; name2 = \"\\\"value2\\\"\" \n" + - "Cookie: $Version=2; name3=value3=value3;$path=/path;$domain=acme.com;$port=8080; name4=; name5 = ; name6\n" + + "Cookie: $Version=2; name3=value3=value3;$path=/path;$domain=acme.com;$port=8080; name4=\"\"; name5 = x ; name6\n" + "Cookie: name7=value7;\n" + "Connection: close\r\n"+ "\r\n"); @@ -1343,14 +1343,14 @@ public class RequestTest assertEquals("/path", cookies.get(3).getPath()); assertEquals("acme.com", cookies.get(3).getDomain()); assertEquals("$port=8080", cookies.get(3).getComment()); - // assertEquals("name4", cookies.get(4).getName()); - // assertEquals("", cookies.get(4).getValue()); - // assertEquals("name5", cookies.get(5).getName()); - // assertEquals("", cookies.get(5).getValue()); + assertEquals("name4", cookies.get(4).getName()); + assertEquals("", cookies.get(4).getValue()); + assertEquals("name5", cookies.get(5).getName()); + assertEquals("x", cookies.get(5).getValue()); // assertEquals("name6", cookies.get(6).getName()); // assertEquals("", cookies.get(6).getValue()); - assertEquals("name7", cookies.get(4).getName()); - assertEquals("value7", cookies.get(4).getValue()); + assertEquals("name7", cookies.get(6).getName()); + assertEquals("value7", cookies.get(6).getValue()); cookies.clear(); response=_connector.getResponse(