Re: [VOTE] Release Apache Tomcat 7.0.54

2014-05-21 Thread Maarten van Hulsentop
>
>
> The proposed 7.0.54 release is:
> [ ] Broken - do not release
> [X] Stable - go ahead and release as 7.0.54 Stable
>
>
Confirmed BZ 56536 ( Classloader issue with
HttpSessionBindingListener.valueUnbound,
https://issues.apache.org/bugzilla/show_bug.cgi?id=56536 ) is fixed with
this release. Thank you Mark :)
Do we have an ETA on the stable release?

Regards,

Maarten van Hulsentop

>
>


[VOTE][RESULT] Release Apache Tomcat 8.0.8

2014-05-21 Thread Mark Thomas
Binding:
  Stable: markt, jfarcand
  Beta  : violetagg, remm, kkolinko

Non-binding:
  Stable: Ognjen Blagojevic


This vote therefore passes and Apache Tomcat 8.0.8 will be released as Beta.

Thanks to everyone who tested and voted on this RC.

Mark

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



svn commit: r5401 - /release/tomcat/tomcat-8/v8.0.3/

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 08:16:36 2014
New Revision: 5401

Log:
Clean out old release

Removed:
release/tomcat/tomcat-8/v8.0.3/


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



svn commit: r5402 - /dev/tomcat/tomcat-8/v8.0.8/ /release/tomcat/tomcat-8/v8.0.8/

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 08:17:27 2014
New Revision: 5402

Log:
Release 8.0.8

Added:
release/tomcat/tomcat-8/v8.0.8/
  - copied from r5366, dev/tomcat/tomcat-8/v8.0.8/
Removed:
dev/tomcat/tomcat-8/v8.0.8/


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



svn commit: r1596507 - /tomcat/trunk/webapps/docs/changelog.xml

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 08:18:25 2014
New Revision: 1596507

URL: http://svn.apache.org/r1596507
Log:
Add release date

Modified:
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1596507&r1=1596506&r2=1596507&view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed May 21 08:18:25 2014
@@ -114,7 +114,7 @@
 
   
 
-
+
   
 
   



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



Re: [VOTE] Release Apache Tomcat 6.0.41

2014-05-21 Thread Rémy Maucherat
2014-05-19 14:58 GMT+02:00 Mark Thomas :

> The proposed 6.0.41 release is:
> [ ] Broken - do not release
> [X] Stable - go ahead and release as 6.0.41 Stable
>
> Rémy


Re: [VOTE] Release Apache Tomcat 6.0.41

2014-05-21 Thread Ognjen Blagojevic

On 19.5.2014 14:58, Mark Thomas wrote:

The proposed 6.0.41 release is:
[ ] Broken - do not release
[X] Stable - go ahead and release as 6.0.41 Stable


Tested .zip distribution on Windows 7 64-bit and Oracle JDK 1.7.0_51:

- Tested TLS/SSL connectivity for BIO, NIO and APR connectors.

- Crawled all links (except /manager, /host-manager and 
/examples/async*). No broken links found, except links to JavaDocs.


- Smoke tests of BIO, NIO and APR, with and without TLS, all passed.

- Tested with several webapps that are in active development.


-Ognjen


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



Re: [VOTE] Release Apache Tomcat 7.0.54

2014-05-21 Thread Rémy Maucherat
2014-05-20 12:04 GMT+02:00 Violeta Georgieva :

> The proposed 7.0.54 release is:
> [ ] Broken - do not release
> [X] Stable - go ahead and release as 7.0.54 Stable
>
> Rémy


Re: [VOTE] Release Apache Tomcat 6.0.41

2014-05-21 Thread jean-frederic clere

On 19/05/14 14:58, Mark Thomas wrote:

[X] Stable - go ahead and release as 6.0.41 Stable


All my tests are OK.

Cheers

Jean-Frederic

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



[Bug 55915] Add ECDHE support to tcnative-1.dll

2014-05-21 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55915

Ognjen Blagojevic  changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED

--- Comment #6 from Ognjen Blagojevic  ---
I also tested 1.1.30 that is released at 10.4.2014, and I am able to use EECDH
ciphers now. Thank you.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



Re: [VOTE] Release Apache Tomcat 7.0.54

2014-05-21 Thread Ognjen Blagojevic

On 20.5.2014 12:04, Violeta Georgieva wrote:

The proposed 7.0.54 release is:
[ ] Broken - do not release
[X] Stable - go ahead and release as 7.0.54 Stable


Tested .zip distribution on Windows 7 64-bit and Oracle JDK 1.7.0_51:

- Tested TLS/SSL connectivity for BIO, NIO and APR connectors.

- Crawled all links (except /manager, /host-manager and 
/examples/async*). No broken links found, except links to JavaDocs.


- Smoke tests of BIO, NIO and APR, with and without TLS, all passed.

- Tested with several webapps that are in active development.


-Ognjen



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



svn commit: r1596541 - /tomcat/trunk/webapps/docs/changelog.xml

2014-05-21 Thread kkolinko
Author: kkolinko
Date: Wed May 21 11:35:06 2014
New Revision: 1596541

URL: http://svn.apache.org/r1596541
Log:
Use ISO 8601 date format, like it was done for earlier versions

Modified:
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1596541&r1=1596540&r2=1596541&view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed May 21 11:35:06 2014
@@ -114,7 +114,7 @@
 
   
 
-
+
   
 
   



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



Re: [VOTE] Release Apache Tomcat 7.0.54

2014-05-21 Thread jean-frederic clere

On 20/05/14 12:04, Violeta Georgieva wrote:

[X] Stable - go ahead and release as 7.0.54 Stable


My tests are OK.

Cheers

Jean-Frederic

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



svn commit: r1596546 - in /tomcat/trunk: java/javax/servlet/http/Cookie.java test/javax/servlet/http/TestCookie.java webapps/docs/changelog.xml

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 11:58:49 2014
New Revision: 1596546

URL: http://svn.apache.org/r1596546
Log:
Apply patch 01 from jboynes to improve cookie handling.
Allow attribute names as cookie names.
Patch should be safe since it relaxes the current behaviour.

Modified:
tomcat/trunk/java/javax/servlet/http/Cookie.java
tomcat/trunk/test/javax/servlet/http/TestCookie.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/javax/servlet/http/Cookie.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/Cookie.java?rev=1596546&r1=1596545&r2=1596546&view=diff
==
--- tomcat/trunk/java/javax/servlet/http/Cookie.java (original)
+++ tomcat/trunk/java/javax/servlet/http/Cookie.java Wed May 21 11:58:49 2014
@@ -401,16 +401,7 @@ class CookieNameValidator {
 if (name == null || name.length() == 0) {
 throw new 
IllegalArgumentException(lStrings.getString("err.cookie_name_blank"));
 }
-if (!isToken(name) ||
-name.equalsIgnoreCase("Comment") ||
-name.equalsIgnoreCase("Discard") ||
-name.equalsIgnoreCase("Domain") ||
-name.equalsIgnoreCase("Expires") ||
-name.equalsIgnoreCase("Max-Age") ||
-name.equalsIgnoreCase("Path") ||
-name.equalsIgnoreCase("Secure") ||
-name.equalsIgnoreCase("Version") ||
-name.startsWith("$")) {
+if (!isToken(name) || name.startsWith("$")) {
 String errMsg = lStrings.getString("err.cookie_name_is_token");
 throw new IllegalArgumentException(MessageFormat.format(errMsg, 
name));
 }

Modified: tomcat/trunk/test/javax/servlet/http/TestCookie.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/javax/servlet/http/TestCookie.java?rev=1596546&r1=1596545&r2=1596546&view=diff
==
--- tomcat/trunk/test/javax/servlet/http/TestCookie.java (original)
+++ tomcat/trunk/test/javax/servlet/http/TestCookie.java Wed May 21 11:58:49 
2014
@@ -19,7 +19,6 @@ package javax.servlet.http;
 import java.util.BitSet;
 
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
@@ -87,59 +86,58 @@ public class TestCookie {
 Cookie c = new Cookie("$Version", null);
 }
 
-@Test(expected = IllegalArgumentException.class)
+@Test
 public void tokenVersion() {
-@SuppressWarnings("unused")
-Cookie c = new Cookie("Version", null);
+Cookie cookie = new Cookie("Version", null);
+Assert.assertEquals("Version", cookie.getName());
 }
 
-@Test(expected = IllegalArgumentException.class)
+@Test
 public void attributeVersion() {
-@SuppressWarnings("unused")
-Cookie c = new Cookie("Comment", null);
+Cookie cookie = new Cookie("Comment", null);
+Assert.assertEquals("Comment", cookie.getName());
 }
 
-@Test(expected = IllegalArgumentException.class)
+@Test
 public void attributeDiscard() {
-@SuppressWarnings("unused")
-Cookie c = new Cookie("Discard", null);
+Cookie cookie = new Cookie("Discard", null);
+Assert.assertEquals("Discard", cookie.getName());
 }
 
-@Test(expected = IllegalArgumentException.class)
+@Test
 public void attributeExpires() {
-@SuppressWarnings("unused")
-Cookie c = new Cookie("Expires", null);
+Cookie cookie = new Cookie("Expires", null);
+Assert.assertEquals("Expires", cookie.getName());
 }
 
-@Test(expected = IllegalArgumentException.class)
+@Test
 public void attributeMaxAge() {
-@SuppressWarnings("unused")
-Cookie c = new Cookie("Max-Age", null);
+Cookie cookie = new Cookie("Max-Age", null);
+Assert.assertEquals("Max-Age", cookie.getName());
 }
 
-@Test(expected = IllegalArgumentException.class)
+@Test
 public void attributeDomain() {
-@SuppressWarnings("unused")
-Cookie c = new Cookie("Domain", null);
+Cookie cookie = new Cookie("Domain", null);
+Assert.assertEquals("Domain", cookie.getName());
 }
 
-@Test(expected = IllegalArgumentException.class)
+@Test
 public void attributePath() {
-@SuppressWarnings("unused")
-Cookie c = new Cookie("Path", null);
+Cookie cookie = new Cookie("Path", null);
+Assert.assertEquals("Path", cookie.getName());
 }
 
-@Test(expected = IllegalArgumentException.class)
+@Test
 public void attributeSecure() {
-@SuppressWarnings("unused")
-Cookie c = new Cookie("Secure", null);
+Cookie cookie = new Cookie("Secure", null);
+Assert.assertEquals("Secure", cookie.getName());
 }
 
-@Ignore("HttpOnly is not checked for")
-@Test(expected = IllegalArgumentEx

[Tomcat Wiki] Update of "Cookies" by markt

2014-05-21 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Cookies" page has been changed by markt:
https://wiki.apache.org/tomcat/Cookies?action=diff&rev1=32&rev2=33

  == Implementation Progress ==
  I started work on this in a local branch. Patches for the changes made there 
can be found here:
   http://people.apache.org/~jboynes/patches/
+ Of these, patches 01 to 01 have been applied.
+ 
  There is substantial refactoring in there to simply the current 
implementation. Actual changes are:
   * C3 '=' is now disallowed in Netscape cookie names (it was already not 
allowed in RFC2109 names)
   * C4 Attribute names are allowed as cookies names

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



svn commit: r1596551 - in /tomcat/trunk/test/javax/servlet/http: TestCookie.java TestCookieNetscapeValidator.java TestCookieRFC2109Validator.java TestCookieStrict.java

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 12:20:23 2014
New Revision: 1596551

URL: http://svn.apache.org/r1596551
Log:
Apply patch 02 from jboynes to improve cookie handling.
Refactor cookie tests to test each CookieNameValidator directly.
I made a few additional changes.
The patch should be safe since it only impacts the unit tests.

Added:
tomcat/trunk/test/javax/servlet/http/TestCookieNetscapeValidator.java   
(with props)
tomcat/trunk/test/javax/servlet/http/TestCookieRFC2109Validator.java   
(with props)
Modified:
tomcat/trunk/test/javax/servlet/http/TestCookie.java
tomcat/trunk/test/javax/servlet/http/TestCookieStrict.java

Modified: tomcat/trunk/test/javax/servlet/http/TestCookie.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/javax/servlet/http/TestCookie.java?rev=1596551&r1=1596550&r2=1596551&view=diff
==
--- tomcat/trunk/test/javax/servlet/http/TestCookie.java (original)
+++ tomcat/trunk/test/javax/servlet/http/TestCookie.java Wed May 21 12:20:23 
2014
@@ -30,8 +30,6 @@ public class TestCookie {
 public static final BitSet SEPARATORS;
 public static final BitSet TOKEN; // 1*
 
-public static final BitSet NETSCAPE_NAME; // "any character except comma, 
semicolon and whitespace"
-
 static {
 CHAR = new BitSet(256);
 CHAR.set(0, 128);
@@ -49,13 +47,6 @@ public class TestCookie {
 TOKEN.or(CHAR); // any CHAR
 TOKEN.andNot(CTL); // except CTLs
 TOKEN.andNot(SEPARATORS); // or separators
-
-NETSCAPE_NAME = new BitSet(256);
-NETSCAPE_NAME.or(CHAR);
-NETSCAPE_NAME.andNot(CTL);
-NETSCAPE_NAME.clear(';');
-NETSCAPE_NAME.clear(',');
-NETSCAPE_NAME.clear(' ');
 }
 
 @Test
@@ -75,10 +66,6 @@ public class TestCookie {
 Assert.assertEquals(0, cookie.getVersion());
 }
 
-@Test
-public void actualCharactersAllowedInName() {
-checkCharInName(NETSCAPE_NAME);
-}
 
 @Test(expected = IllegalArgumentException.class)
 public void leadingDollar() {
@@ -140,20 +127,27 @@ public class TestCookie {
 Assert.assertEquals("HttpOnly", cookie.getName());
 }
 
-public static void checkCharInName(BitSet allowed) {
+@Test
+public void strictNamingImpliesRFC2109() {
+// Not using strict naming here so this should be OK
+@SuppressWarnings("unused")
+Cookie cookie = new Cookie("@Foo", null);
+}
+
+public static void checkCharInName(CookieNameValidator validator, BitSet 
allowed) {
 for (char ch = 0; ch < allowed.size(); ch++) {
-Boolean expected = Boolean.valueOf(allowed.get(ch));
+boolean expected = allowed.get(ch);
 String name = "X" + ch + "X";
-Boolean actual;
 try {
-@SuppressWarnings("unused")
-Cookie c = new Cookie(name, null);
-actual = Boolean.TRUE;
+validator.validate(name);
+if (!expected) {
+Assert.fail(String.format("Char %d should not be allowed", 
Integer.valueOf(ch)));
+}
 } catch (IllegalArgumentException e) {
-actual = Boolean.FALSE;
+if (expected) {
+Assert.fail(String.format("Char %d should be allowed", 
Integer.valueOf(ch)));
+}
 }
-String msg = String.format("Check for char %d in name", 
Integer.valueOf(ch));
-Assert.assertEquals(msg, expected, actual);
 }
 }
 }

Added: tomcat/trunk/test/javax/servlet/http/TestCookieNetscapeValidator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/javax/servlet/http/TestCookieNetscapeValidator.java?rev=1596551&view=auto
==
--- tomcat/trunk/test/javax/servlet/http/TestCookieNetscapeValidator.java 
(added)
+++ tomcat/trunk/test/javax/servlet/http/TestCookieNetscapeValidator.java Wed 
May 21 12:20:23 2014
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.servlet.http;
+
+import java.util.BitSet;
+
+import org.jun

[Tomcat Wiki] Update of "Cookies" by markt

2014-05-21 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Cookies" page has been changed by markt:
https://wiki.apache.org/tomcat/Cookies?action=diff&rev1=33&rev2=34

  == Implementation Progress ==
  I started work on this in a local branch. Patches for the changes made there 
can be found here:
   http://people.apache.org/~jboynes/patches/
- Of these, patches 01 to 01 have been applied.
+ Of these, patches 01 to 02 have been applied.
  
  There is substantial refactoring in there to simply the current 
implementation. Actual changes are:
   * C3 '=' is now disallowed in Netscape cookie names (it was already not 
allowed in RFC2109 names)

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



svn commit: r1596556 - in /tomcat/trunk: res/ide-support/eclipse/ res/ide-support/netbeans/ res/maven/ webapps/docs/

2014-05-21 Thread kkolinko
Author: kkolinko
Date: Wed May 21 12:28:12 2014
New Revision: 1596556

URL: http://svn.apache.org/r1596556
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56543
Followup to r1596227
Update POM and IDE files to the new ECJ version

Modified:
tomcat/trunk/res/ide-support/eclipse/eclipse.classpath
tomcat/trunk/res/ide-support/netbeans/nb-tomcat-build.properties
tomcat/trunk/res/ide-support/netbeans/project.xml
tomcat/trunk/res/maven/tomcat-embed-jasper.pom
tomcat/trunk/res/maven/tomcat-jasper.pom
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/res/ide-support/eclipse/eclipse.classpath
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/res/ide-support/eclipse/eclipse.classpath?rev=1596556&r1=1596555&r2=1596556&view=diff
==
--- tomcat/trunk/res/ide-support/eclipse/eclipse.classpath (original)
+++ tomcat/trunk/res/ide-support/eclipse/eclipse.classpath Wed May 21 12:28:12 
2014
@@ -24,7 +24,7 @@
 
 
 
-
+
 
 
 

Modified: tomcat/trunk/res/ide-support/netbeans/nb-tomcat-build.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/res/ide-support/netbeans/nb-tomcat-build.properties?rev=1596556&r1=1596555&r2=1596556&view=diff
==
--- tomcat/trunk/res/ide-support/netbeans/nb-tomcat-build.properties (original)
+++ tomcat/trunk/res/ide-support/netbeans/nb-tomcat-build.properties Wed May 21 
12:28:12 2014
@@ -37,7 +37,7 @@ nb-test.io-method=org.apache.coyote.http
 # it is not possible to retrieve the classpaths from the build to
 # use in the NetBeans targets, so they must be explicitly declared
 
-nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.11/junit-4.11.jar:${base.path}/easymock-3.2/easymock-3.2.jar:${base.path}/hamcrest-1.3/hamcrest-core-1.3.jar:${base.path}/ecj-P20140317-1600/ecj-P20140317-1600.jar:${tomcat.classes}
+nb-test.classpath=${test.classes}:${tomcat.build}/webapps/examples/WEB-INF/classes:${base.path}/junit-4.11/junit-4.11.jar:${base.path}/easymock-3.2/easymock-3.2.jar:${base.path}/hamcrest-1.3/hamcrest-core-1.3.jar:${base.path}/ecj-4.4RC1/ecj-4.4RC1.jar:${tomcat.classes}
 
 # Extra properties used by the Tomcat project additional NetBeans targets.
 

Modified: tomcat/trunk/res/ide-support/netbeans/project.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/res/ide-support/netbeans/project.xml?rev=1596556&r1=1596555&r2=1596556&view=diff
==
--- tomcat/trunk/res/ide-support/netbeans/project.xml (original)
+++ tomcat/trunk/res/ide-support/netbeans/project.xml Wed May 21 12:28:12 2014
@@ -178,7 +178,7 @@
 -->
 
 java
-${base.path}/jaxrpc-1.1-rc4/geronimo-spec-jaxrpc-1.1-rc4.jar:${base.path}/wsdl4j-1.6.2/wsdl4j-1.6.2.jar:${base.path}/ecj-P20140317-1600/ecj-P20140317-1600.jar:${ant.includes}/
+${base.path}/jaxrpc-1.1-rc4/geronimo-spec-jaxrpc-1.1-rc4.jar:${base.path}/wsdl4j-1.6.2/wsdl4j-1.6.2.jar:${base.path}/ecj-4.4RC1/ecj-4.4RC1.jar:${ant.includes}/
 1.7
 
 

Modified: tomcat/trunk/res/maven/tomcat-embed-jasper.pom
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/res/maven/tomcat-embed-jasper.pom?rev=1596556&r1=1596555&r2=1596556&view=diff
==
--- tomcat/trunk/res/maven/tomcat-embed-jasper.pom (original)
+++ tomcat/trunk/res/maven/tomcat-embed-jasper.pom Wed May 21 12:28:12 2014
@@ -45,7 +45,7 @@
 
   org.eclipse.jdt.core.compiler
   ecj
-  P20140317-1600
+  4.4RC1
 
   
 

Modified: tomcat/trunk/res/maven/tomcat-jasper.pom
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/res/maven/tomcat-jasper.pom?rev=1596556&r1=1596555&r2=1596556&view=diff
==
--- tomcat/trunk/res/maven/tomcat-jasper.pom (original)
+++ tomcat/trunk/res/maven/tomcat-jasper.pom Wed May 21 12:28:12 2014
@@ -57,7 +57,7 @@
 
   org.eclipse.jdt.core.compiler
   ecj
-  P20140317-1600
+  4.4RC1
 
 
   org.apache.tomcat

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1596556&r1=1596555&r2=1596556&view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed May 21 12:28:12 2014
@@ -106,7 +106,7 @@
 
   
 56543: Update to the Eclipse JDT Compiler 4.4RC1 to pick up
-some fixes for Java 8 support. (markt)
+some fixes for Java 8 support. (markt/kkolinko)
   
 
   



-

[Bug 56543] Jasper fails to compile JSP pages when running with JDK 1.8

2014-05-21 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56543

--- Comment #6 from Konstantin Kolinko  ---
(In reply to Mark Thomas from comment #5)
> I've updated 8.0.x to 4.4RC1 which will be included in 8.0.9 onwards.

r1596227 + r1596227

The official release of Eclipse 4.4 is expected in a month - on June 25, 2014
("Luna") [1]

[1] http://projects.eclipse.org/releases

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



svn commit: r1596559 - in /tomcat/trunk: java/javax/servlet/http/Cookie.java test/javax/servlet/http/TestCookie.java test/javax/servlet/http/TestCookieRFC2109Validator.java test/javax/servlet/http/Tes

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 12:31:10 2014
New Revision: 1596559

URL: http://svn.apache.org/r1596559
Log:
Apply patch 03 from jboynes to improve cookie handling.
Allow V0 cookies to use names that start with $.
Add a (currently unused) RFC6265 Cookie validator.
Patch should be safe since it relaxes the current behaviour.

Added:
tomcat/trunk/test/javax/servlet/http/TestCookieRFC6265Validator.java   
(with props)
Modified:
tomcat/trunk/java/javax/servlet/http/Cookie.java
tomcat/trunk/test/javax/servlet/http/TestCookie.java
tomcat/trunk/test/javax/servlet/http/TestCookieRFC2109Validator.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/javax/servlet/http/Cookie.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/Cookie.java?rev=1596559&r1=1596558&r2=1596559&view=diff
==
--- tomcat/trunk/java/javax/servlet/http/Cookie.java (original)
+++ tomcat/trunk/java/javax/servlet/http/Cookie.java Wed May 21 12:31:10 2014
@@ -384,7 +384,7 @@ public class Cookie implements Cloneable
 
 class CookieNameValidator {
 private static final String LSTRING_FILE = 
"javax.servlet.http.LocalStrings";
-private static final ResourceBundle lStrings = 
ResourceBundle.getBundle(LSTRING_FILE);
+protected static final ResourceBundle lStrings = 
ResourceBundle.getBundle(LSTRING_FILE);
 
 protected final BitSet allowed;
 
@@ -401,7 +401,7 @@ class CookieNameValidator {
 if (name == null || name.length() == 0) {
 throw new 
IllegalArgumentException(lStrings.getString("err.cookie_name_blank"));
 }
-if (!isToken(name) || name.startsWith("$")) {
+if (!isToken(name)) {
 String errMsg = lStrings.getString("err.cookie_name_is_token");
 throw new IllegalArgumentException(MessageFormat.format(errMsg, 
name));
 }
@@ -428,10 +428,10 @@ class NetscapeValidator extends CookieNa
 }
 }
 
-class RFC2109Validator extends CookieNameValidator {
+class RFC6265Validator extends CookieNameValidator {
 private static final String RFC2616_SEPARATORS = "()<>@,;:\\\"/[]?={} \t";
 
-RFC2109Validator() {
+RFC6265Validator() {
 super(RFC2616_SEPARATORS);
 
 // special treatment to allow for FWD_SLASH_IS_SEPARATOR property
@@ -447,3 +447,17 @@ class RFC2109Validator extends CookieNam
 }
 }
 }
+
+class RFC2109Validator extends RFC6265Validator {
+RFC2109Validator() {
+}
+
+@Override
+void validate(String name) {
+super.validate(name);
+if (name.charAt(0) == '$') {
+String errMsg = lStrings.getString("err.cookie_name_is_token");
+throw new IllegalArgumentException(MessageFormat.format(errMsg, 
name));
+}
+}
+}

Modified: tomcat/trunk/test/javax/servlet/http/TestCookie.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/javax/servlet/http/TestCookie.java?rev=1596559&r1=1596558&r2=1596559&view=diff
==
--- tomcat/trunk/test/javax/servlet/http/TestCookie.java (original)
+++ tomcat/trunk/test/javax/servlet/http/TestCookie.java Wed May 21 12:31:10 
2014
@@ -66,11 +66,11 @@ public class TestCookie {
 Assert.assertEquals(0, cookie.getVersion());
 }
 
-
-@Test(expected = IllegalArgumentException.class)
-public void leadingDollar() {
-@SuppressWarnings("unused")
-Cookie c = new Cookie("$Version", null);
+@Test()
+public void defaultImpliesNetscape() {
+// $Foo is allowed by Netscape but not by RFC2109
+Cookie cookie = new Cookie("$Foo", null);
+Assert.assertEquals("$Foo", cookie.getName());
 }
 
 @Test

Modified: tomcat/trunk/test/javax/servlet/http/TestCookieRFC2109Validator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/javax/servlet/http/TestCookieRFC2109Validator.java?rev=1596559&r1=1596558&r2=1596559&view=diff
==
--- tomcat/trunk/test/javax/servlet/http/TestCookieRFC2109Validator.java 
(original)
+++ tomcat/trunk/test/javax/servlet/http/TestCookieRFC2109Validator.java Wed 
May 21 12:31:10 2014
@@ -32,4 +32,9 @@ public class TestCookieRFC2109Validator 
 public void actualCharactersAllowedInName() {
 TestCookie.checkCharInName(validator, TestCookie.TOKEN);
 }
+
+@Test(expected = IllegalArgumentException.class)
+public void leadingDollar() {
+validator.validate("$Version");
+}
 }

Added: tomcat/trunk/test/javax/servlet/http/TestCookieRFC6265Validator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/javax/servlet/http/TestCookieRFC6265Validator.java?rev=1596559&view=auto
==
--- tomcat/trunk/test/javax/servlet/http/TestCookieRFC6265Validator.java (added)
+++ tomcat/trunk/test/

[Tomcat Wiki] Update of "Cookies" by markt

2014-05-21 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Cookies" page has been changed by markt:
https://wiki.apache.org/tomcat/Cookies?action=diff&rev1=34&rev2=35

  == Implementation Progress ==
  I started work on this in a local branch. Patches for the changes made there 
can be found here:
   http://people.apache.org/~jboynes/patches/
- Of these, patches 01 to 02 have been applied.
+ Of these, patches 01 to 03 have been applied.
  
  There is substantial refactoring in there to simply the current 
implementation. Actual changes are:
   * C3 '=' is now disallowed in Netscape cookie names (it was already not 
allowed in RFC2109 names)

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



svn commit: r1596564 - /tomcat/trunk/res/findbugs/filter-false-positives.xml

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 12:50:59 2014
New Revision: 1596564

URL: http://svn.apache.org/r1596564
Log:
FindBugs
Fix false positive

Modified:
tomcat/trunk/res/findbugs/filter-false-positives.xml

Modified: tomcat/trunk/res/findbugs/filter-false-positives.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/res/findbugs/filter-false-positives.xml?rev=1596564&r1=1596563&r2=1596564&view=diff
==
--- tomcat/trunk/res/findbugs/filter-false-positives.xml (original)
+++ tomcat/trunk/res/findbugs/filter-false-positives.xml Wed May 21 12:50:59 
2014
@@ -528,7 +528,10 @@
   
   
 
-
+
+  
+  
+
 
   
   



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



[Bug 56545] Examples app security exceptions

2014-05-21 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56545

Konstantin Kolinko  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---

--- Comment #7 from Konstantin Kolinko  ---
The issue from Comment 0 is reproducible with 7.0.54 release candidate,
using JDK 7u55 and the same reproduction recipe.

The issue from Comment 2 does not happen.

The workaround is as documented above,

> The workaround for the issue in Comment 0 is to add the following class to
> the value of classesToInitialize attribute of
> JreMemoryLeakPreventionListener in server.xml. E.g.:

 


For a record, in 6.0.41 the issues do not happen.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



[Bug 56545] Examples app security exceptions

2014-05-21 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56545

Mark Thomas  changed:

   What|Removed |Added

  Component|Examples|Catalina
Version|8.0.8   |7.0.54
Product|Tomcat 8|Tomcat 7
   Target Milestone||---

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



[Bug 56551] New: Increase timeouts in CometChat example

2014-05-21 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56551

Bug ID: 56551
   Summary: Increase timeouts in CometChat example
   Product: Tomcat 8
   Version: 8.0.8
  Hardware: PC
Status: NEW
  Severity: minor
  Priority: P2
 Component: Examples
  Assignee: dev@tomcat.apache.org
  Reporter: knst.koli...@gmail.com

>From 8.0.8 vote thread: [1]

> Also I was not able to get any sense from the Comet chat example
> (http://localhost:8080/examples/servlets/chat/). The connection for
> the /chat panel (the bottom panel in the frameset) that was supposed
> to be opened for some time, closed nearly immediately. Thus chat
> messages could be printed. The browser I was using is Firefox 29.0.1.
> Connector: NIO.

The same example works with NIO connector in 7.0.54.

Either something is broken, or just the default timeout is different. In both
Tomcat 8 and 7 the documented default when using the NIO connector is
"soTimeout" [2].

In any case, I think for this example it makes sense to try to set a timeout
programmatically to be longer than the default one.

[1] http://marc.info/?l=tomcat-dev&m=140053412808060&w=2
[2] http://tomcat.apache.org/tomcat-8.0-doc/aio.html#Comet_timeouts

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



svn commit: r1596574 - in /tomcat/trunk: java/javax/servlet/http/Cookie.java test/javax/servlet/http/TestCookieNetscapeValidator.java webapps/docs/changelog.xml

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 13:55:16 2014
New Revision: 1596574

URL: http://svn.apache.org/r1596574
Log:
Apply patch 04 from jboynes to improve cookie handling.
Prevent V0 cookies using '=' in cookie names
I've checked back though the archives and I can find no record of a user asking 
for this feature. Also, given the known behaviour of browsers it is unlikely to 
have worked any way. On that basis, this should be safe.

Modified:
tomcat/trunk/java/javax/servlet/http/Cookie.java
tomcat/trunk/test/javax/servlet/http/TestCookieNetscapeValidator.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/javax/servlet/http/Cookie.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/Cookie.java?rev=1596574&r1=1596573&r2=1596574&view=diff
==
--- tomcat/trunk/java/javax/servlet/http/Cookie.java (original)
+++ tomcat/trunk/java/javax/servlet/http/Cookie.java Wed May 21 13:55:16 2014
@@ -421,7 +421,10 @@ class CookieNameValidator {
 }
 
 class NetscapeValidator extends CookieNameValidator {
-private static final String NETSCAPE_SEPARATORS = ",; ";
+// the Netscape specification describes NAME=VALUE as
+// "a sequence of characters excluding semi-colon, comma and white space"
+// we also exclude the '=' character that separates NAME from VALUE
+private static final String NETSCAPE_SEPARATORS = ",; " + "=";
 
 NetscapeValidator() {
 super(NETSCAPE_SEPARATORS);

Modified: tomcat/trunk/test/javax/servlet/http/TestCookieNetscapeValidator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/javax/servlet/http/TestCookieNetscapeValidator.java?rev=1596574&r1=1596573&r2=1596574&view=diff
==
--- tomcat/trunk/test/javax/servlet/http/TestCookieNetscapeValidator.java 
(original)
+++ tomcat/trunk/test/javax/servlet/http/TestCookieNetscapeValidator.java Wed 
May 21 13:55:16 2014
@@ -30,12 +30,14 @@ public class TestCookieNetscapeValidator
 @Test
 public void actualCharactersAllowedInName() {
 // "any character except comma, semicolon and whitespace"
+// also disallow '=' as that is interpreted as a delimiter by browsers
 BitSet allowed = new BitSet(256);
 allowed.or(TestCookie.CHAR);
 allowed.andNot(TestCookie.CTL);
 allowed.clear(';');
 allowed.clear(',');
 allowed.clear(' ');
+allowed.clear('=');
 TestCookie.checkCharInName(validator, allowed);
 }
 }

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1596574&r1=1596573&r2=1596574&view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed May 21 13:55:16 2014
@@ -87,12 +87,19 @@
 Relax cookie naming restrictions. Cookie attribute names used in the
 Set-Cookie header may be used unambiguously as cookie
 names. The restriction that prevented such usage has been removed.
-(jboynes/markt) 
+(jboynes/markt)
   
   
 Further relax cookie naming restrictions. Version 0 (a.k.a Netscape
 format) cookies may now use names that start with the $
-character. (jboynes/markt) 
+character. (jboynes/markt)
+  
+  
+Restrict cookie naming so that the = character is no 
longer
+permitted in a version 0 (a.k.a. Netscape format) cookie name. While
+Tomcat allowed this, browsers always truncated the name at the
+= character leading to a mis-match between the cookie the
+server set and the cookie returned by the browser. (jboynes/markt)
   
 
   



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



[Tomcat Wiki] Update of "Cookies" by markt

2014-05-21 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Cookies" page has been changed by markt:
https://wiki.apache.org/tomcat/Cookies?action=diff&rev1=35&rev2=36

  == Implementation Progress ==
  I started work on this in a local branch. Patches for the changes made there 
can be found here:
   http://people.apache.org/~jboynes/patches/
- Of these, patches 01 to 03 have been applied.
+ Of these, patches 01 to 04 have been applied.
  
  There is substantial refactoring in there to simply the current 
implementation. Actual changes are:
   * C3 '=' is now disallowed in Netscape cookie names (it was already not 
allowed in RFC2109 names)

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



Re: [VOTE] Release Apache Tomcat 7.0.54

2014-05-21 Thread Konstantin Kolinko
2014-05-20 14:04 GMT+04:00 Violeta Georgieva :
> The proposed Apache Tomcat 7.0.54 release is now available for voting.
>
> It can be obtained from:
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/v7.0.54/
> The Maven staging repo is:
> https://repository.apache.org/content/repositories/orgapachetomcat-1015/
> The svn tag is:
> http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_54/
>
> The proposed 7.0.54 release is:
> [ ] Broken - do not release
> [x] Stable - go ahead and release as 7.0.54 Stable

Testsuite - OK. (BIO, NIO, APR) with JDK 6u45 and with JDK 7u55 32-bit
on Windows 7.

Smoke testing - OK.
The form authentication example fails when running with Security
Manager enabled if it is the first example that you are accessing.
Details:
https://issues.apache.org/bugzilla/show_bug.cgi?id=56545#c7

Whether you see this issue depends on what pages are accessed, and
there is a workaround available. So I think it is not a show stopper.

Best regards,
Konstantin Kolinko

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



Re: [VOTE] Release Apache Tomcat 7.0.54

2014-05-21 Thread Mark Thomas
On 20/05/2014 11:04, Violeta Georgieva wrote:
> The proposed Apache Tomcat 7.0.54 release is now available for voting.
> 
> It can be obtained from:
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/v7.0.54/
> The Maven staging repo is:
> https://repository.apache.org/content/repositories/orgapachetomcat-1015/
> The svn tag is:
> http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_54/
> 
> The proposed 7.0.54 release is:
> [ ] Broken - do not release
> [X] Stable - go ahead and release as 7.0.54 Stable

EL spec passes
JSP spec passes with the BIO, NIO and APR/native (1.1.30) HTTP connector
Servlet spec passes with
 - BIO, NIO and APR/native (1.1.30) HTTP connector
 - BIO, NIO and APR/native (1.1.30) HTTP connector + mod_proxy_http
 - BIO, NIO and APR/native (1.1.30) AJP connector + mod_jk
 - BIO, NIO and APR/native (1.1.30) AJP connector + mod_proxy_ajp

All tested on 64-bit linux

Mark


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



svn commit: r1596618 - /tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 16:54:34 2014
New Revision: 1596618

URL: http://svn.apache.org/r1596618
Log:
Apply patch 05 from jboynes to improve cookie handling.
Simplify logic for detecting cookie upgrades.
I made a few additional changes.
 - s/isnt/isNot/ in method names
 - whitespace clean-up
 - correct some comments
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=1596618&r1=1596617&r2=1596618&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 16:54:34 2014
@@ -75,12 +75,8 @@ public class SetCookieSupport {
 int newVersion = cookie.getVersion();
 
 // If it is v0, check if we need to switch
-if (newVersion == 0 &&
-(!CookieSupport.ALLOW_HTTP_SEPARATORS_IN_V0 &&
- isHttpToken(value) ||
- CookieSupport.ALLOW_HTTP_SEPARATORS_IN_V0 &&
- isV0Token(value))) {
-// HTTP token in value - need to use v1
+if (newVersion == 0 && needsQuotes(value)) {
+// non-HTTP token in value - need to use v1
 newVersion = 1;
 }
 
@@ -89,21 +85,13 @@ public class SetCookieSupport {
newVersion = 1;
 }
 
-if (newVersion == 0 &&
-(!CookieSupport.ALLOW_HTTP_SEPARATORS_IN_V0 &&
- isHttpToken(path) ||
- CookieSupport.ALLOW_HTTP_SEPARATORS_IN_V0 &&
- isV0Token(path))) {
-// HTTP token in path - need to use v1
+if (newVersion == 0 && needsQuotes(path)) {
+// non-HTTP token in path - need to use v1
 newVersion = 1;
 }
 
-if (newVersion == 0 &&
-(!CookieSupport.ALLOW_HTTP_SEPARATORS_IN_V0 &&
- isHttpToken(domain) ||
- CookieSupport.ALLOW_HTTP_SEPARATORS_IN_V0 &&
- isV0Token(domain))) {
-// HTTP token in domain - need to use v1
+if (newVersion == 0 && needsQuotes(domain)) {
+// non-HTTP token in domain - need to use v1
 newVersion = 1;
 }
 
@@ -116,14 +104,14 @@ public class SetCookieSupport {
 buf.append ("; Version=1");
 
 // Comment=comment
-if ( comment!=null ) {
+if (comment != null) {
 buf.append ("; Comment=");
 maybeQuote(buf, comment);
 }
 }
 
 // Add domain information, if present
-if (domain!=null) {
+if (domain != null) {
 buf.append("; Domain=");
 maybeQuote(buf, domain);
 }
@@ -170,22 +158,14 @@ public class SetCookieSupport {
 return buf.toString();
 }
 
-/**
- * Quotes values if required.
- * @param buf
- * @param value
- */
-private static void maybeQuote (StringBuffer buf, String value) {
-if (value==null || value.length()==0) {
+private static void maybeQuote(StringBuffer buf, String value) {
+if (value == null || value.length() == 0) {
 buf.append("\"\"");
 } else if (alreadyQuoted(value)) {
 buf.append('"');
 buf.append(escapeDoubleQuotes(value,1,value.length()-1));
 buf.append('"');
-} else if (isHttpToken(value) &&
-!CookieSupport.ALLOW_HTTP_SEPARATORS_IN_V0 ||
-isV0Token(value) &&
-CookieSupport.ALLOW_HTTP_SEPARATORS_IN_V0) {
+} else if (needsQuotes(value)) {
 buf.append('"');
 buf.append(escapeDoubleQuotes(value,0,value.length()));
 buf.append('"');
@@ -208,7 +188,7 @@ public class SetCookieSupport {
 return s;
 }
 
-StringBuffer b = new StringBuffer();
+StringBuilder b = new StringBuilder();
 for (int i = beginIndex; i < endIndex; i++) {
 char c = s.charAt(i);
 if (c == '\\' ) {
@@ -228,8 +208,16 @@ public class SetCookieSupport {
 return b.toString();
 }
 
-private static boolean isV0Token(String value) {
-if( value==null) {
+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;
 }
 
@@ -251,8 +239,8 @@ public class SetCookieSupport {
 return false;
 }
 
-private static boolea

[Tomcat Wiki] Update of "Cookies" by markt

2014-05-21 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Cookies" page has been changed by markt:
https://wiki.apache.org/tomcat/Cookies?action=diff&rev1=36&rev2=37

  == Implementation Progress ==
  I started work on this in a local branch. Patches for the changes made there 
can be found here:
   http://people.apache.org/~jboynes/patches/
- Of these, patches 01 to 04 have been applied.
+ Of these, patches 01 to 05 have been applied.
  
  There is substantial refactoring in there to simply the current 
implementation. Actual changes are:
   * C3 '=' is now disallowed in Netscape cookie names (it was already not 
allowed in RFC2109 names)

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



svn commit: r1596623 - /tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java

2014-05-21 Thread markt
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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Tomcat Wiki] Update of "Cookies" by markt

2014-05-21 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Cookies" page has been changed by markt:
https://wiki.apache.org/tomcat/Cookies?action=diff&rev1=37&rev2=38

  == Implementation Progress ==
  I started work on this in a local branch. Patches for the changes made there 
can be found here:
   http://people.apache.org/~jboynes/patches/
- Of these, patches 01 to 05 have been applied.
+ Of these, patches 01 to 06 have been applied.
  
  There is substantial refactoring in there to simply the current 
implementation. Actual changes are:
   * C3 '=' is now disallowed in Netscape cookie names (it was already not 
allowed in RFC2109 names)

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



svn commit: r1596626 - /tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 17:13:28 2014
New Revision: 1596626

URL: http://svn.apache.org/r1596626
Log:
Apply patch 07 from jboynes to improve cookie handling.
Simplify code that detects if we need to upgrade a cookie from V0 to V1
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=1596626&r1=1596625&r2=1596626&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:13:28 2014
@@ -48,14 +48,6 @@ public class SetCookieSupport {
 }
 
 public static String generateHeader(Cookie cookie) {
-
-StringBuffer buf = new StringBuffer(); // can't use StringBuilder due 
to DateFormat
-
-// Servlet implementation checks name
-buf.append(cookie.getName());
-buf.append("=");
-// Servlet implementation does not check anything else
-
 /*
  * The spec allows some latitude on when to send the version attribute
  * with a Set-Cookie header. To be nice to clients, we'll make sure the
@@ -65,41 +57,31 @@ public class SetCookieSupport {
  * Note that by checking for tokens we will also throw an exception if 
a
  * control character is encountered.
  */
-
+int version = cookie.getVersion();
 String value = cookie.getValue();
 String path = cookie.getPath();
 String domain = cookie.getDomain();
 String comment = cookie.getComment();
 
-// Start by using the version we were asked for
-int newVersion = cookie.getVersion();
-
-// If it is v0, check if we need to switch
-if (newVersion == 0 && needsQuotes(value)) {
-// non-HTTP token in value - need to use v1
-newVersion = 1;
-}
-
-if (newVersion == 0 && comment != null) {
-// Using a comment makes it a v1 cookie
-   newVersion = 1;
+if (version == 0) {
+// Check for the things that require a v1 cookie
+if (needsQuotes(value) || comment != null || needsQuotes(path) || 
needsQuotes(domain)) {
+version = 1;
+}
 }
 
-if (newVersion == 0 && needsQuotes(path)) {
-// non-HTTP token in path - need to use v1
-newVersion = 1;
-}
+// Now build the cookie header
+StringBuffer buf = new StringBuffer(); // can't use StringBuilder due 
to DateFormat
 
-if (newVersion == 0 && needsQuotes(domain)) {
-// non-HTTP token in domain - need to use v1
-newVersion = 1;
-}
+// Just use the name supplied in the Cookie
+buf.append(cookie.getName());
+buf.append("=");
 
-// Now build the cookie header
 // Value
 maybeQuote(buf, value);
+
 // Add version 1 specific information
-if (newVersion == 1) {
+if (version == 1) {
 // Version=1 ... required
 buf.append ("; Version=1");
 
@@ -119,13 +101,13 @@ public class SetCookieSupport {
 // Max-Age=secs ... or use old "Expires" format
 int maxAge = cookie.getMaxAge();
 if (maxAge >= 0) {
-if (newVersion > 0) {
+if (version > 0) {
 buf.append ("; Max-Age=");
 buf.append (maxAge);
 }
 // IE6, IE7 and possibly other browsers don't understand Max-Age.
 // They do understand Expires, even with V1 cookies!
-if (newVersion == 0 || CookieSupport.ALWAYS_ADD_EXPIRES) {
+if (version == 0 || CookieSupport.ALWAYS_ADD_EXPIRES) {
 // Wdy, DD-Mon-YY HH:MM:SS GMT ( Expires Netscape format )
 buf.append ("; Expires=");
 // To expire immediately we need to set the time in past



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



[Tomcat Wiki] Update of "Cookies" by markt

2014-05-21 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Cookies" page has been changed by markt:
https://wiki.apache.org/tomcat/Cookies?action=diff&rev1=38&rev2=39

  == Implementation Progress ==
  I started work on this in a local branch. Patches for the changes made there 
can be found here:
   http://people.apache.org/~jboynes/patches/
- Of these, patches 01 to 06 have been applied.
+ Of these, patches 01 to 07 have been applied.
  
  There is substantial refactoring in there to simply the current 
implementation. Actual changes are:
   * C3 '=' is now disallowed in Netscape cookie names (it was already not 
allowed in RFC2109 names)

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



svn commit: r1596651 - in /tomcat/trunk/java/org/apache/tomcat/util/http: CookieSupport.java SetCookieSupport.java

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 18:54:28 2014
New Revision: 1596651

URL: http://svn.apache.org/r1596651
Log:
Apply patch 08 from jboynes to improve cookie handling.
Encapsulate use of ALWAYS_ADD_EXPIRES as it only applies to Set-Cookie 
generation.
The patch should be safe since the logic is unchanged.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/http/CookieSupport.java
tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/http/CookieSupport.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/CookieSupport.java?rev=1596651&r1=1596650&r2=1596651&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/http/CookieSupport.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/CookieSupport.java Wed May 21 
18:54:28 2014
@@ -44,13 +44,6 @@ public final class CookieSupport {
 public static final boolean ALLOW_HTTP_SEPARATORS_IN_V0;
 
 /**
- * If set to false, we don't use the IE6/7 Max-Age/Expires work around.
- * Default is usually true. If STRICT_SERVLET_COMPLIANCE==true then default
- * is false. Explicitly setting always takes priority.
- */
-public static final boolean ALWAYS_ADD_EXPIRES;
-
-/**
  * If set to true, the / character will be treated as a
  * separator. Default is usually false. If STRICT_SERVLET_COMPLIANCE==true
  * then default is true. Explicitly setting always takes priority.
@@ -97,15 +90,6 @@ public final class CookieSupport {
 
"org.apache.tomcat.util.http.ServerCookie.ALLOW_HTTP_SEPARATORS_IN_V0",
 "false")).booleanValue();
 
-String alwaysAddExpires = System.getProperty(
-"org.apache.tomcat.util.http.ServerCookie.ALWAYS_ADD_EXPIRES");
-if (alwaysAddExpires == null) {
-ALWAYS_ADD_EXPIRES = !STRICT_SERVLET_COMPLIANCE;
-} else {
-ALWAYS_ADD_EXPIRES =
-Boolean.valueOf(alwaysAddExpires).booleanValue();
-}
-
 String preserveCookieHeader = System.getProperty(
 
"org.apache.tomcat.util.http.ServerCookie.PRESERVE_COOKIE_HEADER");
 if (preserveCookieHeader == null) {

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=1596651&r1=1596650&r2=1596651&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 18:54:28 2014
@@ -29,6 +29,22 @@ import javax.servlet.http.Cookie;
  * Support class for generating Set-Cookie header values.
  */
 public class SetCookieSupport {
+/**
+ * If set to false, we don't use the IE6/7 Max-Age/Expires work around.
+ * Default is usually true. If STRICT_SERVLET_COMPLIANCE==true then default
+ * is false. Explicitly setting always takes priority.
+ */
+private static final boolean ALWAYS_ADD_EXPIRES;
+static {
+String alwaysAddExpires =
+
System.getProperty("org.apache.tomcat.util.http.ServerCookie.ALWAYS_ADD_EXPIRES");
+if (alwaysAddExpires != null) {
+ALWAYS_ADD_EXPIRES = 
Boolean.valueOf(alwaysAddExpires).booleanValue();
+} else {
+ALWAYS_ADD_EXPIRES = 
!Boolean.getBoolean("org.apache.catalina.STRICT_SERVLET_COMPLIANCE");
+}
+}
+
 // Other fields
 private static final String OLD_COOKIE_PATTERN = "EEE, dd-MMM- 
HH:mm:ss z";
 private static final ThreadLocal OLD_COOKIE_FORMAT =
@@ -107,7 +123,7 @@ public class SetCookieSupport {
 }
 // IE6, IE7 and possibly other browsers don't understand Max-Age.
 // They do understand Expires, even with V1 cookies!
-if (version == 0 || CookieSupport.ALWAYS_ADD_EXPIRES) {
+if (version == 0 || ALWAYS_ADD_EXPIRES) {
 // Wdy, DD-Mon-YY HH:MM:SS GMT ( Expires Netscape format )
 buf.append ("; Expires=");
 // To expire immediately we need to set the time in past



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



[Tomcat Wiki] Trivial Update of "Cookies" by markt

2014-05-21 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Cookies" page has been changed by markt:
https://wiki.apache.org/tomcat/Cookies?action=diff&rev1=39&rev2=40

  == Implementation Progress ==
  I started work on this in a local branch. Patches for the changes made there 
can be found here:
   http://people.apache.org/~jboynes/patches/
- Of these, patches 01 to 07 have been applied.
+ Of these, patches 01 to 08 have been applied.
  
  There is substantial refactoring in there to simply the current 
implementation. Actual changes are:
   * C3 '=' is now disallowed in Netscape cookie names (it was already not 
allowed in RFC2109 names)

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



svn commit: r1596656 - /tomcat/trunk/java/org/apache/tomcat/util/http/CookieSupport.java

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 19:22:48 2014
New Revision: 1596656

URL: http://svn.apache.org/r1596656
Log:
Apply patch 09 from jboynes to improve cookie handling.
Code cleanup.
I did not remove the final markers from the static methods as I see no need to 
remove them and good reasons to keep them.
The patch should be safe since the logic is unchanged.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/http/CookieSupport.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/http/CookieSupport.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/CookieSupport.java?rev=1596656&r1=1596655&r2=1596656&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/http/CookieSupport.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/CookieSupport.java Wed May 21 
19:22:48 2014
@@ -131,11 +131,11 @@ public final class CookieSupport {
 V0_SEPARATOR_FLAGS[i] = false;
 HTTP_SEPARATOR_FLAGS[i] = false;
 }
-for (int i = 0; i < V0_SEPARATORS.length; i++) {
-V0_SEPARATOR_FLAGS[V0_SEPARATORS[i]] = true;
+for (char V0_SEPARATOR : V0_SEPARATORS) {
+V0_SEPARATOR_FLAGS[V0_SEPARATOR] = true;
 }
-for (int i = 0; i < HTTP_SEPARATORS.length; i++) {
-HTTP_SEPARATOR_FLAGS[HTTP_SEPARATORS[i]] = true;
+for (char HTTP_SEPARATOR : HTTP_SEPARATORS) {
+HTTP_SEPARATOR_FLAGS[HTTP_SEPARATOR] = true;
 }
 
 }



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



[Tomcat Wiki] Trivial Update of "Cookies" by markt

2014-05-21 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Cookies" page has been changed by markt:
https://wiki.apache.org/tomcat/Cookies?action=diff&rev1=40&rev2=41

  == Implementation Progress ==
  I started work on this in a local branch. Patches for the changes made there 
can be found here:
   http://people.apache.org/~jboynes/patches/
- Of these, patches 01 to 08 have been applied.
+ Of these, patches 01 to 09 have been applied.
  
  There is substantial refactoring in there to simply the current 
implementation. Actual changes are:
   * C3 '=' is now disallowed in Netscape cookie names (it was already not 
allowed in RFC2109 names)

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



svn commit: r1596657 - /tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 19:35:19 2014
New Revision: 1596657

URL: http://svn.apache.org/r1596657
Log:
Apply patch 10 from jboynes to improve cookie handling.
Separate the code that determines whether a value should be quoted in 
Set-Cookie from the checks that are performed when parsing a Cookie header sent 
by a client.
I also did a small amount of clean up.
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=1596657&r1=1596656&r2=1596657&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 19:35:19 2014
@@ -19,6 +19,7 @@ package org.apache.tomcat.util.http;
 import java.text.DateFormat;
 import java.text.FieldPosition;
 import java.text.SimpleDateFormat;
+import java.util.BitSet;
 import java.util.Date;
 import java.util.Locale;
 import java.util.TimeZone;
@@ -36,8 +37,8 @@ public class SetCookieSupport {
  */
 private static final boolean ALWAYS_ADD_EXPIRES;
 static {
-String alwaysAddExpires =
-
System.getProperty("org.apache.tomcat.util.http.ServerCookie.ALWAYS_ADD_EXPIRES");
+String alwaysAddExpires = System.getProperty(
+"org.apache.tomcat.util.http.ServerCookie.ALWAYS_ADD_EXPIRES");
 if (alwaysAddExpires != null) {
 ALWAYS_ADD_EXPIRES = 
Boolean.valueOf(alwaysAddExpires).booleanValue();
 } else {
@@ -45,6 +46,50 @@ public class SetCookieSupport {
 }
 }
 
+private static final BitSet ALLOWED_WITHOUT_QUOTES;
+static {
+boolean allowSeparatorsInV0 =
+
Boolean.getBoolean("org.apache.tomcat.util.http.ServerCookie.ALLOW_HTTP_SEPARATORS_IN_V0");
+String separators;
+if (allowSeparatorsInV0) {
+// comma, semi-colon and space as defined by netscape
+separators = ",; ";
+} else {
+// separators as defined by RFC2616
+separators = "()<>@,;:\\\"/[]?={} \t";
+}
+
+// all CHARs except CTLs or separators are allowed without quoting
+ALLOWED_WITHOUT_QUOTES = new BitSet(128);
+ALLOWED_WITHOUT_QUOTES.set(0x20, 0x7f);
+for (char ch : separators.toCharArray()) {
+ALLOWED_WITHOUT_QUOTES.clear(ch);
+}
+
+/**
+ * Some browsers (e.g. IE6 and IE7) do not handle quoted Path values 
even
+ * when Version is set to 1. To allow for this, we support a property
+ * FWD_SLASH_IS_SEPARATOR which, when false, means a '/' character 
will not
+ * be treated as a separator, potentially avoiding quoting and the 
ensuing
+ * side effect of having the cookie upgraded to version 1.
+ *
+ * For now, we apply this rule globally rather than just to the Path 
attribute.
+ */
+if (!allowSeparatorsInV0) {
+boolean allowSlash;
+String prop = System.getProperty(
+
"org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR");
+if (prop != null) {
+allowSlash = !Boolean.parseBoolean(prop);
+} else {
+allowSlash = 
!Boolean.getBoolean("org.apache.catalina.STRICT_SERVLET_COMPLIANCE");
+}
+if (allowSlash) {
+ALLOWED_WITHOUT_QUOTES.set('/');
+}
+}
+}
+
 // Other fields
 private static final String OLD_COOKIE_PATTERN = "EEE, dd-MMM- 
HH:mm:ss z";
 private static final ThreadLocal OLD_COOKIE_FORMAT =
@@ -221,15 +266,11 @@ public class SetCookieSupport {
 
 for (; i < len; i++) {
 char c = value.charAt(i);
-
-if (CookieSupport.ALLOW_HTTP_SEPARATORS_IN_V0) {
-if (CookieSupport.isV0Separator(c)) {
-return true;
-}
-} else {
-if (CookieSupport.isHttpSeparator(c)) {
-return true;
-}
+if ((c < 0x20 && c != '\t') || c >= 0x7f) {
+throw new IllegalArgumentException("Control character in 
cookie value or attribute.");
+}
+if (!ALLOWED_WITHOUT_QUOTES.get(c)) {
+return true;
 }
 }
 return false;



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



[Tomcat Wiki] Update of "Cookies" by markt

2014-05-21 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Cookies" page has been changed by markt:
https://wiki.apache.org/tomcat/Cookies?action=diff&rev1=41&rev2=42

  == Implementation Progress ==
  I started work on this in a local branch. Patches for the changes made there 
can be found here:
   http://people.apache.org/~jboynes/patches/
- Of these, patches 01 to 09 have been applied.
+ Of these, patches 01 to 10 have been applied.
  
  There is substantial refactoring in there to simply the current 
implementation. Actual changes are:
   * C3 '=' is now disallowed in Netscape cookie names (it was already not 
allowed in RFC2109 names)

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



svn commit: r1596660 - /tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java

2014-05-21 Thread markt
Author: markt
Date: Wed May 21 19:45:46 2014
New Revision: 1596660

URL: http://svn.apache.org/r1596660
Log:
Apply patch 11 from jboynes to improve cookie handling.
Eliminate an unneeded StringBuilder.
I also added to TODO marker.
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=1596660&r1=1596659&r2=1596660&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 19:45:46 2014
@@ -206,32 +206,24 @@ public class SetCookieSupport {
 buf.append("\"\"");
 } else if (alreadyQuoted(value)) {
 buf.append('"');
-buf.append(escapeDoubleQuotes(value,1,value.length()-1));
+escapeDoubleQuotes(buf, value,1,value.length()-1);
 buf.append('"');
 } else if (needsQuotes(value)) {
 buf.append('"');
-buf.append(escapeDoubleQuotes(value,0,value.length()));
+escapeDoubleQuotes(buf, value,0,value.length());
 buf.append('"');
 } else {
 buf.append(value);
 }
 }
 
-/**
- * Escapes any double quotes in the given string.
- *
- * @param s the input string
- * @param beginIndex start index inclusive
- * @param endIndex exclusive
- * @return The (possibly) escaped string
- */
-private static String escapeDoubleQuotes(String s, int beginIndex, int 
endIndex) {
-
-if (s == null || s.length() == 0 || s.indexOf('"') == -1) {
-return s;
+private static void escapeDoubleQuotes(StringBuffer b, String s, int 
beginIndex, int endIndex) {
+// TODO: bug55975: this checks for '"' but not for '\' which also 
needs escaping
+if (s.indexOf('"') == -1) {
+b.append(s);
+return;
 }
 
-StringBuilder b = new StringBuilder();
 for (int i = beginIndex; i < endIndex; i++) {
 char c = s.charAt(i);
 if (c == '\\' ) {
@@ -247,8 +239,6 @@ public class SetCookieSupport {
 b.append(c);
 }
 }
-
-return b.toString();
 }
 
 private static boolean needsQuotes(String value) {



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



[Tomcat Wiki] Update of "Cookies" by markt

2014-05-21 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Cookies" page has been changed by markt:
https://wiki.apache.org/tomcat/Cookies?action=diff&rev1=42&rev2=43

  == Implementation Progress ==
  I started work on this in a local branch. Patches for the changes made there 
can be found here:
   http://people.apache.org/~jboynes/patches/
- Of these, patches 01 to 10 have been applied.
+ Of these, patches 01 to 11 have been applied.
  
  There is substantial refactoring in there to simply the current 
implementation. Actual changes are:
   * C3 '=' is now disallowed in Netscape cookie names (it was already not 
allowed in RFC2109 names)

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



svn commit: r1596664 - /tomcat/site/trunk/docs/ci.html

2014-05-21 Thread slaurent
Author: slaurent
Date: Wed May 21 19:52:19 2014
New Revision: 1596664

URL: http://svn.apache.org/r1596664
Log:
reverted "fixed URLs to documentation snapshots" because they are actually 
correct. There's a misconfig in the buildbot

Modified:
tomcat/site/trunk/docs/ci.html

Modified: tomcat/site/trunk/docs/ci.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/ci.html?rev=1596664&r1=1596663&r2=1596664&view=diff
==
--- tomcat/site/trunk/docs/ci.html (original)
+++ tomcat/site/trunk/docs/ci.html Wed May 21 19:52:19 2014
@@ -263,14 +263,14 @@ prepared and published by ASF Buildbot, 
 
   
 
-http://ci.apache.org/projects/tomcat/tomcat8/index.html"; 
rel="nofollow">Tomcat trunk (8.0.x)
+http://ci.apache.org/projects/tomcat/tomcat8/docs/index.html"; 
rel="nofollow">Tomcat trunk (8.0.x)
   
 
-http://ci.apache.org/projects/tomcat/tomcat7/index.html"; 
rel="nofollow">Tomcat 7.0.x
+http://ci.apache.org/projects/tomcat/tomcat7/docs/index.html"; 
rel="nofollow">Tomcat 7.0.x
 
   
 
-http://ci.apache.org/projects/tomcat/tomcat6/index.html"; 
rel="nofollow">Tomcat 6.0.x
+http://ci.apache.org/projects/tomcat/tomcat6/docs/index.html"; 
rel="nofollow">Tomcat 6.0.x
 
 
 



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



Re: svn commit: r1596415 - /tomcat/site/trunk/docs/ci.html

2014-05-21 Thread Sylvain Laurent
ok, I reverted (r1596664). Sorry, I had not checked the README, everything was 
explained...

who can fix the buildbot config now ?

Sylvain


On 21 mai 2014, at 00:18, Konstantin Kolinko  wrote:

> 2014-05-21 1:41 GMT+04:00 Sylvain Laurent :
>> so, I just have to fix /xdocs/ci.xml ? and the buildbot generates ci.html 
>> and commits it ?
> 
> 1. No. The tomcat.apache.org web site is authored in XML (just like
> Tomcat documentation). See README.txt and build.xml in the root
> directory of /site.
> 
> It is odd that you edited and committed generated HTML file only.
> 
> 2. The old links were correct.  The buildbot is misconfigured and
> publishes generated documentation snapshots, junit logs and coverage
> reports into a wrong place (all in the same directory instead of
> subdirectories).
> 
>> 
>> 
>> 
>> On 20 mai 2014, at 23:14, Konstantin Kolinko  wrote:
>> 
>>> 2014-05-21 0:58 GMT+04:00  :
 Author: slaurent
 Date: Tue May 20 20:58:55 2014
 New Revision: 1596415
 
 URL: http://svn.apache.org/r1596415
 Log:
 fixed URLs to documentation snapshots
 
>>> 
>>> -1.
>>> 
>>> 1. This shall be fixed not here, but in Buildbot configuration.
>>> 2. It writes documentation and coverage (and logs) into the same
>>> place. Whether you are seeing docs or coverage depends on whether a
>>> build is running in this very moment.
>>> 3. ci.html only? (Without xml)
>>> 
 Modified:
 tomcat/site/trunk/docs/ci.html
 
 Modified: tomcat/site/trunk/docs/ci.html
 URL: 
 http://svn.apache.org/viewvc/tomcat/site/trunk/docs/ci.html?rev=1596415&r1=1596414&r2=1596415&view=diff
 
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
> 


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



Re: [VOTE] Release Apache Tomcat 7.0.54

2014-05-21 Thread Violeta Georgieva
2014-05-20 13:04 GMT+03:00 Violeta Georgieva :
>
> The proposed Apache Tomcat 7.0.54 release is now available for voting.
>
> It can be obtained from:
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/v7.0.54/
> The Maven staging repo is:
> https://repository.apache.org/content/repositories/orgapachetomcat-1015/
> The svn tag is:
> http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_54/
>
> The proposed 7.0.54 release is:
> [ ] Broken - do not release
> [X] Stable - go ahead and release as 7.0.54 Stable

Tested Tomcat in OSGi environment - successful.
Basic performance tests - successful.

>
> Regards
> Violeta


Re: buildbot failure in ASF Buildbot on tomcat-trunk

2014-05-21 Thread Sylvain Laurent
There was still a test failure with the TestStuckThreadDetectionValve in build 
99. But I really don't understand the failure, there's no error in the logs :

Here is the extract from 
http://ci.apache.org/builders/tomcat-trunk/builds/99/steps/compile_1/logs/stdio


[junit] Running org.apache.catalina.valves.TestStuckThreadDetectionValve
[junit] 21-May-2014 17:47:58.088 INFO [main] 
org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler 
["http-nio-127.0.0.1-auto-1"]
[junit] 21-May-2014 17:47:58.115 INFO [main] 
org.apache.catalina.core.StandardService.startInternal Starting service Tomcat
[junit] 21-May-2014 17:47:58.115 INFO [main] 
org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: 
Apache Tomcat/8.0.9-dev
[junit] 21-May-2014 17:47:58.607 INFO [main] 
org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler 
["http-nio-127.0.0.1-auto-1-43485"]
[junit] 21-May-2014 17:48:02.602 WARNING 
[ContainerBackgroundProcessor[StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]]
 org.apache.catalina.valves.StuckThreadDetectionValve.notifyStuckThreadDetected 
Thread "http-nio-127.0.0.1-auto-1-exec-1" (id=19) has been active for 
2,918 milliseconds (since 5/21/14 5:47 PM) to serve the same request for 
http://localhost:43485/myservlet and may be stuck (configured threshold for 
this StuckThreadDetectionValve is 2 seconds). There is/are 1 thread(s) in total 
that are monitored by this Valve and may be stuck.
[junit]  java.lang.Throwable
[junit] at java.lang.Thread.sleep(Native Method)
[junit] at 
org.apache.catalina.valves.TestStuckThreadDetectionValve$StuckingServlet.doGet(TestStuckThreadDetectionValve.java:153)
[junit] at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
[junit] at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
[junit] at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
[junit] at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[junit] at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
[junit] at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
[junit] at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
[junit] at 
org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:208)
[junit] at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
[junit] at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:78)
[junit] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
[junit] at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
[junit] at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1033)
[junit] at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
[junit] at 
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
[junit] at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1565)
[junit] at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1522)
[junit] at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
[junit] at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
[junit] at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
[junit] at java.lang.Thread.run(Thread.java:722)
[junit] 
[junit] 21-May-2014 17:48:05.789 INFO [main] 
org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler 
["http-nio-127.0.0.1-auto-1-43485"]
[junit] 21-May-2014 17:48:05.790 INFO [main] 
org.apache.catalina.core.StandardService.stopInternal Stopping service Tomcat
[junit] 21-May-2014 17:48:05.807 INFO [main] 
org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler 
["http-nio-127.0.0.1-auto-1-43485"]
[junit] 21-May-2014 17:48:05.809 INFO [main] 
org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler 
["http-nio-127.0.0.1-auto-1-43485"]
[junit] 21-May-2014 17:48:05.832 INFO [main] 
org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler 
["http-nio-127.0.0.1-auto-2"]
[junit] 21-May-2014 17:48:05.864 INFO [main] 
org.apache.catalina.core.StandardService.startInternal Starting service Tomcat
[junit] 21-May-2014 17:48:05.865 INFO [main] 
org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: 
Apache Tomcat/8.0.9-dev
[junit] 21-May-2014 17:48:05.903 INFO [main] 
org.apache.coyote.AbstractProtocol.start Starting 

Re: [VOTE] Release Apache Tomcat 7.0.54

2014-05-21 Thread Olivier Lamy
+1

On 20 May 2014 20:04, Violeta Georgieva  wrote:
> The proposed Apache Tomcat 7.0.54 release is now available for voting.
>
> It can be obtained from:
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/v7.0.54/
> The Maven staging repo is:
> https://repository.apache.org/content/repositories/orgapachetomcat-1015/
> The svn tag is:
> http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_54/
>
> The proposed 7.0.54 release is:
> [ ] Broken - do not release
> [ ] Stable - go ahead and release as 7.0.54 Stable
>
> Regards
> Violeta



-- 
Olivier Lamy
Ecetera: http://ecetera.com.au
http://twitter.com/olamy | http://linkedin.com/in/olamy

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



buildbot success in ASF Buildbot on tomcat-trunk

2014-05-21 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/101

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1596660
Blamelist: markt

Build succeeded!

sincerely,
 -The Buildbot




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