[Bug 58286] Crash in jk-status on Windows (when producing HTML output)

2015-09-02 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58286

Chinoy Gupta  changed:

   What|Removed |Added

 CC||chinoygu...@gmail.com

--- Comment #4 from Chinoy Gupta  ---
Is 1.2.42 release planned in near future or should we integrate this fix now?

-- 
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 58286] Crash in jk-status on Windows (when producing HTML output)

2015-09-02 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58286

--- Comment #5 from Rainer Jung  ---
If you can easily integrate now, I suggest you do so.

There are currently only two post 1.2.41 fixes, this one here and one about
atomics on some niche platforms (not Windows, not Linux 64 Bit). This one here
affects all Windows users, but one of the frequently used providers for Windows
binaries (ApacheLounge) has now included the fix in his 1.2.41 build. So it
seems there is no high pressure for a release.

I worked a bit on our own Windows build system, so I hope we can finally
provide good quality binaries for Windows for 1.2.42. I want to update the docs
and probably have a look at some of the old outstanding ISAPI redirector bugs.
So personally I don't plan a release very soon (not this month, maybe much
later depending on what happens in the meantime).

-- 
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 58286] Crash in jk-status on Windows (when producing HTML output)

2015-09-02 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58286

--- Comment #6 from Chinoy Gupta  ---
Thanks for the prompt reply. Based on your comment, it might be some time
before  the next release comes out. So I will look into integrating it now
only.

-- 
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 58313] Data race inside the non-thread-safe HashMap org.apache.catalina.connector.OutputBuffer.encoders

2015-09-02 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58313

--- Comment #1 from Mark Thomas  ---
I agree that this is an issue. A switch to ConcurrentHashMap should address the
immediate problem.

The idea behind clearEncoders() is a good one. The encoders are expensive
objects and don't scale well. We don't really want to keep the Map around
during an async request. On the otherhand, we don't really want to have to keep
re-creating it.

I'm wondering about ways to improve the currenty approach. I'm going to do some
simple testing to see how an approach based on pools of encoders would perform.

-- 
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



buildbot success in ASF Buildbot on tomcat-trunk

2015-09-02 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/191

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

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1700854
Blamelist: remm

Build succeeded!

Sincerely,
 -The Buildbot




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



svn commit: r1700854 - in /tomcat/trunk/java/org/apache: catalina/connector/Request.java coyote/Request.java coyote/http2/Http2UpgradeHandler.java coyote/http2/StreamProcessor.java tomcat/util/net/Abs

2015-09-02 Thread remm
Author: remm
Date: Wed Sep  2 17:27:11 2015
New Revision: 1700854

URL: http://svn.apache.org/r1700854
Log:
Add a sendfile override on the request, since HTTP/2 doesn't support it (it's 
not just in SSL). HTTP/2 could have simulated sendfile eventually.

Modified:
tomcat/trunk/java/org/apache/catalina/connector/Request.java
tomcat/trunk/java/org/apache/coyote/Request.java
tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1700854=1700853=1700854=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Wed Sep  2 
17:27:11 2015
@@ -3310,7 +3310,7 @@ public class Request
 public Object get(Request request, String name) {
 return Boolean.valueOf(
 request.getConnector().getProtocolHandler(
-).isSendfileSupported());
+).isSendfileSupported() && 
request.getCoyoteRequest().getSendfile());
 }
 @Override
 public void set(Request request, String name, Object 
value) {

Modified: tomcat/trunk/java/org/apache/coyote/Request.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Request.java?rev=1700854=1700853=1700854=diff
==
--- tomcat/trunk/java/org/apache/coyote/Request.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Request.java Wed Sep  2 17:27:11 2015
@@ -140,6 +140,7 @@ public final class Request {
 
 private final RequestInfo reqProcessorMX=new RequestInfo(this);
 
+private boolean sendfile = true;
 
 protected volatile ReadListener listener;
 
@@ -422,6 +423,14 @@ public final class Request {
 this.available = available;
 }
 
+public boolean getSendfile() {
+return sendfile;
+}
+
+public void setSendfile(boolean sendfile) {
+this.sendfile = sendfile;
+}
+
 public boolean isFinished() {
 AtomicBoolean result = new AtomicBoolean(false);
 action(ActionCode.REQUEST_BODY_FULLY_READ, result);
@@ -522,6 +531,7 @@ public final class Request {
 localPort = -1;
 remotePort = -1;
 available = 0;
+sendfile = true;
 
 serverCookies.recycle();
 parameters.recycle();

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java?rev=1700854=1700853=1700854=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Wed Sep  
2 17:27:11 2015
@@ -295,7 +295,7 @@ public class Http2UpgradeHandler extends
 result = SocketState.UPGRADED;
 break;
 
-case OPEN_WRITE:
+case OPEN_WRITE:
 processWrites();
 
 result = SocketState.UPGRADED;

Modified: tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java?rev=1700854=1700853=1700854=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java Wed Sep  2 
17:27:11 2015
@@ -54,6 +54,8 @@ public class StreamProcessor extends Abs
 @Override
 public void run() {
 try {
+// No sendfile for HTTP/2
+request.setSendfile(false);
 adapter.service(request, response);
 // Ensure the response is complete
 response.action(ActionCode.CLOSE, null);

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java?rev=1700854=1700853=1700854=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java Wed 
Sep  2 17:27:11 2015
@@ -97,11 +97,6 @@ public abstract class AbstractJsseEndpoi
 

svn commit: r1700872 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/connector/OutputBuffer.java webapps/docs/changelog.xml

2015-09-02 Thread markt
Author: markt
Date: Wed Sep  2 19:03:51 2015
New Revision: 1700872

URL: http://svn.apache.org/r1700872
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58313
Fix concurrent access of encoders map when clearing encoders prior to switch to 
async.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/OutputBuffer.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Sep  2 19:03:51 2015
@@ -1,2 +1,2 @@
-/tomcat/tc8.0.x/trunk:1636525,1637336,1637685,1637709,1638726,1640089,1640276,1640349,1640363,1640366,1640642,1640672,1640674,1640689,1640884,1641001,1641065,1641067,1641375,1641638,1641723,1641726,1641729-1641730,1641736,1641988,1642669-1642670,1642698,1642701,1643205,1643215,1643217,1643230,1643232,1643273,1643285,1643329-1643330,1643511,1643513,1643521,1643539,1643571,1643581-1643582,1643635,1643655,1643738,1643964,1644018,1644333,1644954,1644992,1645014,1645360,1645456,1645627,1645642,1645686,1645903-1645904,1645908-1645909,1645913,1645920,1646458,1646460-1646462,1646735,1646738-1646741,1646744,1646746,1646748-1646755,1646757,1646759-1646760,1647043,1648816,1651420-1651422,1651844,1652926,1652939-1652940,1652973,1653798,1653817,1653841,1654042,1654161,1654736,1654767,1654787,1656592,1659907,1662986,1663265,1663278,1663325,1663535,1663567,1663679,1663997,1664175,1664321,1664872,1665061,1665086,1666027,1666395,1666503,1666506,1666560,1666570,1666581,1666759,1666967,1666988,1667553
 
-1667555,1667558,1667617,1667633,1667637,1667747,1667767,1667873,1668028,1668137,1668634,1669432,1669801,1669840,1669895-1669896,1670398,1670435,1670592,1670605-1670607,1670609,1670632,1670720,1670725,1670727,1670731,1671114,1672273,1672285,1673759,1674220,1674295,1675469,1675488,1675595,1675831,1676232,1676367-1676369,1676382,1676394,1676483,1676556,1676635,1678178,1679536,1679988,1680256,1681124,1681182,1681730,1681840,1681864,1681869,1682010,1682034,1682047,1682052-1682053,1682062,1682064,1682070,1682312,1682325,1682331,1682386,1684367,1684385,1685759,1685774,1685827,1685892,1687341,1688904,1689358,1689657,1692850,1693093,1693108,1693324,1694060,1694115,1694291,1694427,1694431,1694503,1694549,1694789,1694873,1694881,1695356,1695372,1695823-1695825,1696200,1696281,1696379,1696468,1700608
-/tomcat/trunk:1156115-1157160,1157162-1157859,1157862-1157942,1157945-1160347,1160349-1163716,1163718-1166689,1166691-1174340,1174342-1175596,1175598-1175611,1175613-1175932,1175934-1177783,1177785-1177980,1178006-1180720,1180722-1183094,1183096-1187753,1187755,1187775,1187801,1187806,1187809,1187826-1188312,1188314-1188401,1188646-1188840,1188842-1190176,1190178-1195223,1195225-1195953,1195955,1195957-1201238,1201240-1203345,1203347-1206623,1206625-1208046,1208073,1208096,1208114,1208145,1208772,1209194-1212125,1212127-1220291,1220293,1220295-1221321,1221323-1222329,1222332-1222401,1222405-1222795,1222850-1222950,1222969-1225326,1225328-1225463,1225465,1225627,1225629-1226534,1226536-1228908,1228911-1228923,1228927-1229532,1229534-1230766,1230768-1231625,1231627-1233414,1233419-1235207,1235209-1237425,1237427,1237429-1237977,1237981,1237985,1237995,1238070,1238073,1239024-1239048,1239050-1239062,1239135,1239256,1239258-1239485,1239785-1240046,1240101,1240106,1240109,1240112,1240114
 
,1240116,1240118,1240121,1240329,1240474-1240850,1240857,1241087,1241160,1241408-1241822,1241908-1241909,1241912-1242110,1242371-1292130,1292134-1292458,1292464-1292670,1292672-1292776,1292780-1293392,1293397-1297017,1297019-1297963,1297965-1299820,1300108,1300111-1300460,1300520-1300948,1300997,1301006,1301280,1302332,1302348,1302608-1302610,1302649,1302837,1303138,1303163,1303338,1303521,1303587,1303698,1303803,1303852,1304011,1304035,1304037,1304135,1304249,1304253,1304260,1304271,1304275,1304468,1304895,1304930-1304932,1305194,1305943,1305965,1306556,1306579-1306580,1307084,1307310,1307511-1307512,1307579,1307591,1307597,1310636,1310639-1310640,1310642,1310701,1311212,1311995,1327617,1327670,1331766,1333161,1333173,1333827,1334787,1335026,1335257,1335547,1335692,1335711,1335731,1336515,1336813,1336864,1336868,1336884,1337419,1337426,1337546,1337572,1337591-1337595,1337643,1337707,1337719,1337734,1337741,1337745,1338151-1338154,1338178,1342027,1342029,1342315,1342320,1342476,1342
 

svn commit: r1700900 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/catalina/util/RequestUtil.java

2015-09-02 Thread markt
Author: markt
Date: Wed Sep  2 20:46:17 2015
New Revision: 1700900

URL: http://svn.apache.org/r1700900
Log:
Update proposal

Modified:
tomcat/tc6.0.x/trunk/STATUS.txt
tomcat/tc6.0.x/trunk/java/org/apache/catalina/util/RequestUtil.java

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1700900=1700899=1700900=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Sep  2 20:46:17 2015
@@ -62,13 +62,13 @@ PATCHES PROPOSED TO BACKPORT:
 
 * Back-port fixes for Javadoc, formatting, clean-up and edge cases for URL
   normalization
-  
http://people.apache.org/~markt/patches/2015-09-01-url-normalization-tc6-v1.patch
+  
http://people.apache.org/~markt/patches/2015-09-02-url-normalization-tc6-v2.patch
   +1: markt
   -1:
 
 * Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58313
   http://svn.apache.org/r1700872
-  NNot required for async but still required because of Comet
+  Not required for async but still required because of Comet
   +1: markt
   -1:
 

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/util/RequestUtil.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/util/RequestUtil.java?rev=1700900=1700899=1700900=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/util/RequestUtil.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/util/RequestUtil.java Wed Sep 
 2 20:46:17 2015
@@ -5,9 +5,9 @@
  * 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.
@@ -91,11 +91,15 @@ public final class RequestUtil {
  * try to perform security checks for malicious input.
  *
  * @param path Relative path to be normalized
+ *
+ * @return The normalized path or null if the path cannot be
+ * normalized
  */
 public static String normalize(String path) {
 return normalize(path, true);
 }
 
+
 /**
  * Normalize a relative URI path that may have relative values ("/./",
  * "/../", and so on ) it it.  WARNING - This method is
@@ -104,11 +108,15 @@ public final class RequestUtil {
  *
  * @param path Relative path to be normalized
  * @param replaceBackSlash Should '\\' be replaced with '/'
+ *
+ * @return The normalized path or null if the path cannot be
+ * normalized
  */
 public static String normalize(String path, boolean replaceBackSlash) {
 
-if (path == null)
+if (path == null) {
 return null;
+}
 
 // Create a place for the normalized path
 String normalized = path;
@@ -116,9 +124,6 @@ public final class RequestUtil {
 if (replaceBackSlash && normalized.indexOf('\\') >= 0)
 normalized = normalized.replace('\\', '/');
 
-if (normalized.equals("/."))
-return "/";
-
 // Add a leading "/" if necessary
 if (!normalized.startsWith("/"))
 normalized = "/" + normalized;
@@ -126,36 +131,44 @@ public final class RequestUtil {
 // Resolve occurrences of "//" in the normalized path
 while (true) {
 int index = normalized.indexOf("//");
-if (index < 0)
+if (index < 0) {
 break;
-normalized = normalized.substring(0, index) +
-normalized.substring(index + 1);
+}
+normalized = normalized.substring(0, index) + 
normalized.substring(index + 1);
 }
 
 // Resolve occurrences of "/./" in the normalized path
 while (true) {
 int index = normalized.indexOf("/./");
-if (index < 0)
+if (index < 0) {
 break;
-normalized = normalized.substring(0, index) +
-normalized.substring(index + 2);
+}
+normalized = normalized.substring(0, index) + 
normalized.substring(index + 2);
 }
 
 // Resolve occurrences of "/../" in the normalized path
 while (true) {
 int index = normalized.indexOf("/../");
-if (index < 0)
+if (index < 0) {
 break;
-if (index == 0)
-return (null);  // Trying to go outside our context
+}
+if (index == 0) {
+return null;  // Trying to go outside our context
+}
  

buildbot failure in ASF Buildbot on tomcat-trunk

2015-09-02 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-trunk while building 
ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-trunk/builds/194

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

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1700895
Blamelist: markt

BUILD FAILED: failed compile_1

Sincerely,
 -The Buildbot




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



Re: svn commit: r1700900 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/catalina/util/RequestUtil.java

2015-09-02 Thread Rainer Jung

Am 02.09.2015 um 23:08 schrieb Konstantin Kolinko:

2015-09-03 0:00 GMT+03:00 Mark Thomas :

On 02/09/2015 21:46, ma...@apache.org wrote:

Author: markt
Date: Wed Sep  2 20:46:17 2015
New Revision: 1700900

URL: http://svn.apache.org/r1700900
Log:
Update proposal

Modified:
 tomcat/tc6.0.x/trunk/STATUS.txt
 tomcat/tc6.0.x/trunk/java/org/apache/catalina/util/RequestUtil.java


Bah. I applied the patch as well.

Any chance of a couple of quick +1's from other committers so I don't
have to revert it?




+1


mine as well: +1

Rainer


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



[Bug 58194] Tomcat crash EXCEPTION_ACCESS_VIOLATION in tcnative-1.dll

2015-09-02 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58194

p...@tourplan.com changed:

   What|Removed |Added

 CC||p...@tourplan.com

-- 
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 58194] Tomcat crash EXCEPTION_ACCESS_VIOLATION in tcnative-1.dll

2015-09-02 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58194

p...@tourplan.com changed:

   What|Removed |Added

 OS||All

--- Comment #1 from p...@tourplan.com ---
A client recently experienced what could be the same problem (version 1.1.24 of
 tc-native-1.dll running on Windows Server 2008 R2 Standard). 

# Problematic frame:
# C  [tcnative-1.dll+0x11532]  Java_org_apache_tomcat_jni_OS_info+0x742
...
Stack: [0x13e1,0x13f1],  sp=0x13f0e870,  free
space=1018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [tcnative-1.dll+0x11532]  Java_org_apache_tomcat_jni_OS_info+0x742

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J  org.apache.tomcat.jni.Address.get(IJ)J

-- 
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: r1700891 - /tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java

2015-09-02 Thread markt
Author: markt
Date: Wed Sep  2 20:27:54 2015
New Revision: 1700891

URL: http://svn.apache.org/r1700891
Log:
Key encoder cache on Charset rather than encoding name

Modified:
tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1700891=1700890=1700891=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Wed Sep  
2 20:27:54 2015
@@ -18,6 +18,7 @@ package org.apache.catalina.connector;
 
 import java.io.IOException;
 import java.io.Writer;
+import java.nio.charset.Charset;
 import java.security.AccessController;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
@@ -29,6 +30,7 @@ import javax.servlet.http.HttpServletRes
 import org.apache.catalina.Globals;
 import org.apache.coyote.ActionCode;
 import org.apache.coyote.Response;
+import org.apache.tomcat.util.buf.B2CConverter;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.buf.C2BConverter;
 import org.apache.tomcat.util.buf.CharChunk;
@@ -119,7 +121,7 @@ public class OutputBuffer extends Writer
 /**
  * List of encoders.
  */
-protected final ConcurrentHashMap encoders = new 
ConcurrentHashMap<>();
+protected final ConcurrentHashMap encoders = new 
ConcurrentHashMap<>();
 
 
 /**
@@ -556,8 +558,7 @@ public class OutputBuffer extends Writer
 }
 
 
-protected void setConverter()
-throws IOException {
+protected void setConverter() throws IOException {
 
 if (coyoteResponse != null) {
 enc = coyoteResponse.getCharacterEncoding();
@@ -566,10 +567,13 @@ public class OutputBuffer extends Writer
 if (enc == null) {
 enc = DEFAULT_ENCODING;
 }
-conv = encoders.get(enc);
+
+Charset charset = B2CConverter.getCharset(enc);
+conv = encoders.get(charset);
+
 if (conv == null) {
 if (Globals.IS_SECURITY_ENABLED){
-try{
+try {
 conv = AccessController.doPrivileged(
 new PrivilegedExceptionAction(){
 
@@ -577,10 +581,9 @@ public class OutputBuffer extends Writer
 public C2BConverter run() throws IOException{
 return new C2BConverter(enc);
 }
-
 }
 );
-}catch(PrivilegedActionException ex){
+} catch (PrivilegedActionException ex) {
 Exception e = ex.getException();
 if (e instanceof IOException) {
 throw (IOException)e;
@@ -590,15 +593,13 @@ public class OutputBuffer extends Writer
 conv = new C2BConverter(enc);
 }
 
-encoders.put(enc, conv);
-
+encoders.put(charset, conv);
 }
 }
 
 
 //   BufferedOutputStream compatibility
 
-
 public long getContentWritten() {
 return bytesWritten + charsWritten;
 }



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



svn commit: r1700896 - in /tomcat/trunk: java/org/apache/tomcat/util/http/RequestUtil.java test/org/apache/tomcat/util/http/TestRequestUtil.java

2015-09-02 Thread markt
Author: markt
Date: Wed Sep  2 20:39:00 2015
New Revision: 1700896

URL: http://svn.apache.org/r1700896
Log:
More normalization edge cases

Modified:
tomcat/trunk/java/org/apache/tomcat/util/http/RequestUtil.java
tomcat/trunk/test/org/apache/tomcat/util/http/TestRequestUtil.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/http/RequestUtil.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/RequestUtil.java?rev=1700896=1700895=1700896=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/http/RequestUtil.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/RequestUtil.java Wed Sep  2 
20:39:00 2015
@@ -67,14 +67,6 @@ public class RequestUtil {
 if (!normalized.startsWith("/"))
 normalized = "/" + normalized;
 
-if (normalized.equals("/.")) {
-return "/";
-}
-
-if (normalized.equals("/..")) {
-return null;  // Trying to go outside our context
-}
-
 // Resolve occurrences of "//" in the normalized path
 while (true) {
 int index = normalized.indexOf("//");
@@ -106,6 +98,14 @@ public class RequestUtil {
 normalized = normalized.substring(0, index2) + 
normalized.substring(index + 3);
 }
 
+if (normalized.equals("/.")) {
+return "/";
+}
+
+if (normalized.equals("/..")) {
+return null;  // Trying to go outside our context
+}
+
 // Return the normalized path that we have completed
 return normalized;
 }

Modified: tomcat/trunk/test/org/apache/tomcat/util/http/TestRequestUtil.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/http/TestRequestUtil.java?rev=1700896=1700895=1700896=diff
==
--- tomcat/trunk/test/org/apache/tomcat/util/http/TestRequestUtil.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/util/http/TestRequestUtil.java Wed Sep  
2 20:39:00 2015
@@ -87,6 +87,36 @@ public class TestRequestUtil {
 doTestNormalize("..", null);
 }
 
+@Test
+public void testNormalize14() {
+doTestNormalize("//..", null);
+}
+
+@Test
+public void testNormalize15() {
+doTestNormalize("//../", null);
+}
+
+@Test
+public void testNormalize16() {
+doTestNormalize("/./..", null);
+}
+
+@Test
+public void testNormalize17() {
+doTestNormalize("/./../", null);
+}
+
+@Test
+public void testNormalize18() {
+doTestNormalize("/a/../..", null);
+}
+
+@Test
+public void testNormalize19() {
+doTestNormalize("/a/../../", null);
+}
+
 private void doTestNormalize(String input, String expected) {
 assertEquals(expected,RequestUtil.normalize(input));
 }



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



svn commit: r1700871 - in /tomcat/tc8.0.x/trunk: ./ java/org/apache/catalina/connector/OutputBuffer.java webapps/docs/changelog.xml

2015-09-02 Thread markt
Author: markt
Date: Wed Sep  2 19:00:49 2015
New Revision: 1700871

URL: http://svn.apache.org/r1700871
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58313
Fix concurrent access of encoders map when clearing encoders prior to switch to 
async.

Modified:
tomcat/tc8.0.x/trunk/   (props changed)
tomcat/tc8.0.x/trunk/java/org/apache/catalina/connector/OutputBuffer.java
tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc8.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Sep  2 19:00:49 2015
@@ -1 +1 @@
-/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1638720-1638725,1639653,1640010,1640083-1640084,1640088,1640275,1640322,1640347,1640361,1640365,1640403,1640410,1640652,1640655-1640658,1640688,1640700-1640883,1640903,1640976,1640978,1641000,1641026,1641038-1641039,1641051-1641052,1641058,1641064,1641300,1641369,1641374,1641380,1641486,1641634,1641656-1641692,1641704,1641707-1641718,1641720-1641722,1641735,1641981,1642233,1642280,1642554,1642564,1642595,1642606,1642668,1642679,1642697,1642699,1642766,1643002,1643045,1643054-1643055,1643066,1643121,1643128,1643206,1643209-1643210,1643216,1643249,1643270,1643283,1643309-1643310,1643323,1643365-1643366,1643370-1643371,1643465,1643474,1643536,1643570,1643634,1643649,1643651,1643654,1643675,1643731,1643733-1643734,1643761,1643766,1643814,1643937,1643963,1644017,1644169,1644201-1644203,1644321,1644323,1644516,1644523,1644529,1644535,1644730,1644768,1644784-1644785,1644790,1644793,1644815,1644884,1644886,1644890,1644892
 
,1644910,1644924,1644929-1644930,1644935,1644989,1645011,1645247,1645355,1645357-1645358,1645455,1645465,1645469,1645471,1645473,1645475,1645486-1645488,1645626,1645641,1645685,1645743,1645763,1645951-1645953,1645955,1645993,1646098-1646106,1646178,1646220,1646302,1646304,1646420,1646470-1646471,1646476,1646559,1646717-1646723,1646773,1647026,1647042,1647530,1647655,1648304,1648815,1648907,1650081,1650365,1651116,1651120,1651280,1651470,1652938,1652970,1653041,1653471,1653550,1653574,1653797,1653815-1653816,1653819,1653840,1653857,1653888,1653972,1654013,1654030,1654050,1654123,1654148,1654159,1654513,1654515,1654517,1654522,1654524,1654725,1654735,1654766,1654785,1654851-1654852,1654978,1655122-1655124,1655126-1655127,1655129-1655130,1655132-1655133,1655312,1655438,1655441,1655454,168,1656087,1656299,1656319,1656331,1656345,1656350,1656590,1656648-1656650,1656657,1657041,1657054,1657374,1657492,1657510,1657565,1657580,1657584,1657586,1657589,1657592,1657607,1657609,1657682,1657
 
907,1658207,1658734,1658781,1658790,1658799,1658802,1658804,1658833,1658840,1658966,1659043,1659053,1659059,1659188-1659189,1659216,1659263,1659293,1659304,1659306-1659307,1659382,1659384,1659428,1659471,1659486,1659505,1659516,1659521,1659524,1659559,1659562,1659803,1659806,1659814,1659833,1659862,1659905,1659919,1659948,1659967,1659983-1659984,1660060,1660074,1660077,1660133,1660168,1660331-1660332,1660353,1660358,1660924,1661386,1661867,1661972,1661990,1662200,1662308-1662309,1662548,1662614,1662736,1662985,1662988-1662989,1663264,1663277,1663298,1663534,1663562,1663676,1663715,1663754,1663768,1663772,1663781,1663893,1663995,1664143,1664163,1664174,1664301,1664317,1664347,1664657,1664659,1664710,1664863-1664864,1664866,1665085,1665292,1665559,1665653,1665661,1665672,1665694,1665697,1665736,1665779,1665976-1665977,1665980-1665981,1665985-1665986,1665989,1665998,1666004,1666008,1666013,1666017,1666024,1666116,1666386-1666387,1666494,1666496,1666552,1666569,1666579,137,149,1
 
666757,1666966,1666972,1666985,1666995,1666997,1667292,1667402,1667406,1667546,1667615,1667630,1667636,1667688,1667764,1667871,1668026,1668135,1668193,1668593,1668596,1668630,1668639,1668843,1669353,1669370,1669451,1669800,1669838,1669876,1669882,1670394,1670433,1670591,1670598-1670600,1670610,1670631,1670719,1670724,1670726,1670730,1670940,1671112,1672272,1672284,1673754,1674294,1675461,1675486,1675594,1675830,1676231,1676250-1676251,1676364,1676381,1676393,1676479,1676525,1676552,1676615,1676630,1676634,1676721,1676926,1676943,1677140,1677802,1678011,1678162,1678174,1678339,1678426-1678427,1678694,1678701,1679534,1679708,1679710,1679716,1680034,1680246,1681056,1681123,1681138,1681280,1681283,1681286,1681450,1681697,1681701,1681729,1681770,1681779,1681793,1681807,1681837-1681838,1681854,1681862,1681958,1682028,1682033,1682311,1682315,1682317,1682320,1682324,1682330,1682842,1684172,1684366,1684383,1684526-1684527,1684549-1684550,1685556,1685591,1685739,1685744,1685772,1685816,168582
 

svn commit: r1700895 - /tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java

2015-09-02 Thread markt
Author: markt
Date: Wed Sep  2 20:33:57 2015
New Revision: 1700895

URL: http://svn.apache.org/r1700895
Log:
Replacement is preferred. It makes errors more obvious while still enabling the 
app to continue.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java?rev=1700895=1700894=1700895=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java Wed Sep  2 
20:33:57 2015
@@ -40,8 +40,6 @@ public final class C2BConverter {
 
 public C2BConverter(Charset charset) {
 encoder = charset.newEncoder();
-// FIXME: See if unmappable/malformed behavior configuration is needed
-//in practice
 encoder.onUnmappableCharacter(CodingErrorAction.REPLACE)
 .onMalformedInput(CodingErrorAction.REPLACE);
 char[] left = new char[4];



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



buildbot failure in ASF Buildbot on tomcat-6-trunk

2015-09-02 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-6-trunk while 
building ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-6-trunk/builds/4

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

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-6-commit' 
triggered this build
Build Source Stamp: [branch tomcat/tc6.0.x/trunk] 1700900
Blamelist: markt

BUILD FAILED: failed

Sincerely,
 -The Buildbot




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



buildbot exception in ASF Buildbot on tomcat-7-trunk

2015-09-02 Thread buildbot
The Buildbot has detected a build exception on builder tomcat-7-trunk while 
building ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-7-trunk/builds/58

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

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-7-commit' 
triggered this build
Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1700898
Blamelist: markt

BUILD FAILED: exception upload_2

Sincerely,
 -The Buildbot




-
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

2015-09-02 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/195

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

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1700896
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



Re: svn commit: r1700900 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/catalina/util/RequestUtil.java

2015-09-02 Thread Mark Thomas
On 02/09/2015 21:46, ma...@apache.org wrote:
> Author: markt
> Date: Wed Sep  2 20:46:17 2015
> New Revision: 1700900
> 
> URL: http://svn.apache.org/r1700900
> Log:
> Update proposal
> 
> Modified:
> tomcat/tc6.0.x/trunk/STATUS.txt
> tomcat/tc6.0.x/trunk/java/org/apache/catalina/util/RequestUtil.java

Bah. I applied the patch as well.

Any chance of a couple of quick +1's from other committers so I don't
have to revert it?

Mark


> 
> Modified: tomcat/tc6.0.x/trunk/STATUS.txt
> URL: 
> http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1700900=1700899=1700900=diff
> ==
> --- tomcat/tc6.0.x/trunk/STATUS.txt (original)
> +++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Sep  2 20:46:17 2015
> @@ -62,13 +62,13 @@ PATCHES PROPOSED TO BACKPORT:
>  
>  * Back-port fixes for Javadoc, formatting, clean-up and edge cases for URL
>normalization
> -  
> http://people.apache.org/~markt/patches/2015-09-01-url-normalization-tc6-v1.patch
> +  
> http://people.apache.org/~markt/patches/2015-09-02-url-normalization-tc6-v2.patch
>+1: markt
>-1:
>  
>  * Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58313
>http://svn.apache.org/r1700872
> -  NNot required for async but still required because of Comet
> +  Not required for async but still required because of Comet
>+1: markt
>-1:
>  
> 
> Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/util/RequestUtil.java
> URL: 
> http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/util/RequestUtil.java?rev=1700900=1700899=1700900=diff
> ==
> --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/util/RequestUtil.java 
> (original)
> +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/util/RequestUtil.java Wed 
> Sep  2 20:46:17 2015
> @@ -5,9 +5,9 @@
>   * 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.
> @@ -91,11 +91,15 @@ public final class RequestUtil {
>   * try to perform security checks for malicious input.
>   *
>   * @param path Relative path to be normalized
> + *
> + * @return The normalized path or null if the path cannot be
> + * normalized
>   */
>  public static String normalize(String path) {
>  return normalize(path, true);
>  }
>  
> +
>  /**
>   * Normalize a relative URI path that may have relative values ("/./",
>   * "/../", and so on ) it it.  WARNING - This method is
> @@ -104,11 +108,15 @@ public final class RequestUtil {
>   *
>   * @param path Relative path to be normalized
>   * @param replaceBackSlash Should '\\' be replaced with '/'
> + *
> + * @return The normalized path or null if the path cannot be
> + * normalized
>   */
>  public static String normalize(String path, boolean replaceBackSlash) {
>  
> -if (path == null)
> +if (path == null) {
>  return null;
> +}
>  
>  // Create a place for the normalized path
>  String normalized = path;
> @@ -116,9 +124,6 @@ public final class RequestUtil {
>  if (replaceBackSlash && normalized.indexOf('\\') >= 0)
>  normalized = normalized.replace('\\', '/');
>  
> -if (normalized.equals("/."))
> -return "/";
> -
>  // Add a leading "/" if necessary
>  if (!normalized.startsWith("/"))
>  normalized = "/" + normalized;
> @@ -126,36 +131,44 @@ public final class RequestUtil {
>  // Resolve occurrences of "//" in the normalized path
>  while (true) {
>  int index = normalized.indexOf("//");
> -if (index < 0)
> +if (index < 0) {
>  break;
> -normalized = normalized.substring(0, index) +
> -normalized.substring(index + 1);
> +}
> +normalized = normalized.substring(0, index) + 
> normalized.substring(index + 1);
>  }
>  
>  // Resolve occurrences of "/./" in the normalized path
>  while (true) {
>  int index = normalized.indexOf("/./");
> -if (index < 0)
> +if (index < 0) {
>  break;
> -normalized = normalized.substring(0, index) +
> -normalized.substring(index + 2);
> +}
> +normalized = normalized.substring(0, index) + 
> normalized.substring(index + 2);
>  }
>  
>  // 

svn commit: r1700890 - /tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java

2015-09-02 Thread markt
Author: markt
Date: Wed Sep  2 20:21:14 2015
New Revision: 1700890

URL: http://svn.apache.org/r1700890
Log:
Small simplification
Use 'conv == null' to indicate that conv has not been set rather than a 
separate flag.

Modified:
tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1700890=1700889=1700890=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Wed Sep  
2 20:21:14 2015
@@ -117,12 +117,6 @@ public class OutputBuffer extends Writer
 
 
 /**
- * Encoder is set.
- */
-private boolean gotEnc = false;
-
-
-/**
  * List of encoders.
  */
 protected final ConcurrentHashMap encoders = new 
ConcurrentHashMap<>();
@@ -238,11 +232,11 @@ public class OutputBuffer extends Writer
 suspended = false;
 doFlush = false;
 
-if (conv!= null) {
+if (conv != null) {
 conv.recycle();
+conv = null;
 }
 
-gotEnc = false;
 enc = null;
 }
 
@@ -555,13 +549,10 @@ public class OutputBuffer extends Writer
 }
 
 
-public void checkConverter()
-throws IOException {
-
-if (!gotEnc) {
+public void checkConverter() throws IOException {
+if (conv == null) {
 setConverter();
 }
-
 }
 
 
@@ -572,7 +563,6 @@ public class OutputBuffer extends Writer
 enc = coyoteResponse.getCharacterEncoding();
 }
 
-gotEnc = true;
 if (enc == null) {
 enc = DEFAULT_ENCODING;
 }
@@ -641,7 +631,7 @@ public class OutputBuffer extends Writer
 bytesWritten = 0;
 charsWritten = 0;
 if (resetWriterStreamFlags) {
-gotEnc = false;
+conv = null;
 enc = null;
 }
 initial = true;



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



svn commit: r1700892 - in /tomcat/trunk/java/org/apache: catalina/connector/OutputBuffer.java tomcat/util/buf/C2BConverter.java tomcat/util/buf/UEncoder.java

2015-09-02 Thread markt
Author: markt
Date: Wed Sep  2 20:31:25 2015
New Revision: 1700892

URL: http://svn.apache.org/r1700892
Log:
Use Charset rather than encoding name to create C2BConvertor

Modified:
tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java
tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1700892=1700891=1700892=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Wed Sep  
2 20:31:25 2015
@@ -568,7 +568,7 @@ public class OutputBuffer extends Writer
 enc = DEFAULT_ENCODING;
 }
 
-Charset charset = B2CConverter.getCharset(enc);
+final Charset charset = B2CConverter.getCharset(enc);
 conv = encoders.get(charset);
 
 if (conv == null) {
@@ -579,7 +579,7 @@ public class OutputBuffer extends Writer
 
 @Override
 public C2BConverter run() throws IOException{
-return new C2BConverter(enc);
+return new C2BConverter(charset);
 }
 }
 );
@@ -590,7 +590,7 @@ public class OutputBuffer extends Writer
 }
 }
 } else {
-conv = new C2BConverter(enc);
+conv = new C2BConverter(charset);
 }
 
 encoders.put(charset, conv);

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java?rev=1700892=1700891=1700892=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java Wed Sep  2 
20:31:25 2015
@@ -19,6 +19,7 @@ package org.apache.tomcat.util.buf;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
+import java.nio.charset.Charset;
 import java.nio.charset.CharsetEncoder;
 import java.nio.charset.CoderResult;
 import java.nio.charset.CodingErrorAction;
@@ -37,8 +38,8 @@ public final class C2BConverter {
  */
 private final CharBuffer leftovers;
 
-public C2BConverter(String encoding) throws IOException {
-encoder = B2CConverter.getCharset(encoding).newEncoder();
+public C2BConverter(Charset charset) {
+encoder = charset.newEncoder();
 // FIXME: See if unmappable/malformed behavior configuration is needed
 //in practice
 encoder.onUnmappableCharacter(CodingErrorAction.REPLACE)

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java?rev=1700892=1700891=1700892=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java Wed Sep  2 
20:31:25 2015
@@ -17,6 +17,7 @@
 package org.apache.tomcat.util.buf;
 
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.BitSet;
 
 /**
@@ -57,8 +58,6 @@ public final class UEncoder {
 private CharChunk output=null;
 private final boolean readOnlySafeChars;
 
-private final String ENCODING = "UTF8";
-
 public UEncoder() {
 this.safeChars = initialSafeChars();
 readOnlySafeChars = false;
@@ -93,6 +92,9 @@ public final class UEncoder {
 * @param s string to be encoded
 * @param start the beginning index, inclusive
 * @param end the ending index, exclusive
+*
+* @return A new CharChunk contained the URL encoded string
+*
 * @throws IOException If an I/O error occurs
 */
public CharChunk encodeURL(String s, int start, int end)
@@ -101,7 +103,7 @@ public final class UEncoder {
bb = new ByteChunk(8); // small enough.
cb = new CharChunk(2); // small enough.
output = new CharChunk(64); // small enough.
-   c2b = new C2BConverter(ENCODING);
+   c2b = new C2BConverter(StandardCharsets.UTF_8);
} else {
bb.recycle();
cb.recycle();



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



svn commit: r1700898 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/http/RequestUtil.java test/org/apache/tomcat/util/http/TestRequestUtil.java webapps/docs/changelog.xml

2015-09-02 Thread markt
Author: markt
Date: Wed Sep  2 20:42:34 2015
New Revision: 1700898

URL: http://svn.apache.org/r1700898
Log:
More normalization edge cases

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/RequestUtil.java
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/http/TestRequestUtil.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Sep  2 20:42:34 2015
@@ -1,2 +1,2 @@
-/tomcat/tc8.0.x/trunk:1636525,1637336,1637685,1637709,1638726,1640089,1640276,1640349,1640363,1640366,1640642,1640672,1640674,1640689,1640884,1641001,1641065,1641067,1641375,1641638,1641723,1641726,1641729-1641730,1641736,1641988,1642669-1642670,1642698,1642701,1643205,1643215,1643217,1643230,1643232,1643273,1643285,1643329-1643330,1643511,1643513,1643521,1643539,1643571,1643581-1643582,1643635,1643655,1643738,1643964,1644018,1644333,1644954,1644992,1645014,1645360,1645456,1645627,1645642,1645686,1645903-1645904,1645908-1645909,1645913,1645920,1646458,1646460-1646462,1646735,1646738-1646741,1646744,1646746,1646748-1646755,1646757,1646759-1646760,1647043,1648816,1651420-1651422,1651844,1652926,1652939-1652940,1652973,1653798,1653817,1653841,1654042,1654161,1654736,1654767,1654787,1656592,1659907,1662986,1663265,1663278,1663325,1663535,1663567,1663679,1663997,1664175,1664321,1664872,1665061,1665086,1666027,1666395,1666503,1666506,1666560,1666570,1666581,1666759,1666967,1666988,1667553
 
-1667555,1667558,1667617,1667633,1667637,1667747,1667767,1667873,1668028,1668137,1668634,1669432,1669801,1669840,1669895-1669896,1670398,1670435,1670592,1670605-1670607,1670609,1670632,1670720,1670725,1670727,1670731,1671114,1672273,1672285,1673759,1674220,1674295,1675469,1675488,1675595,1675831,1676232,1676367-1676369,1676382,1676394,1676483,1676556,1676635,1678178,1679536,1679988,1680256,1681124,1681182,1681730,1681840,1681864,1681869,1682010,1682034,1682047,1682052-1682053,1682062,1682064,1682070,1682312,1682325,1682331,1682386,1684367,1684385,1685759,1685774,1685827,1685892,1687341,1688904,1689358,1689657,1692850,1693093,1693108,1693324,1694060,1694115,1694291,1694427,1694431,1694503,1694549,1694789,1694873,1694881,1695356,1695372,1695823-1695825,1696200,1696281,1696379,1696468,1700608,1700871
-/tomcat/trunk:1156115-1157160,1157162-1157859,1157862-1157942,1157945-1160347,1160349-1163716,1163718-1166689,1166691-1174340,1174342-1175596,1175598-1175611,1175613-1175932,1175934-1177783,1177785-1177980,1178006-1180720,1180722-1183094,1183096-1187753,1187755,1187775,1187801,1187806,1187809,1187826-1188312,1188314-1188401,1188646-1188840,1188842-1190176,1190178-1195223,1195225-1195953,1195955,1195957-1201238,1201240-1203345,1203347-1206623,1206625-1208046,1208073,1208096,1208114,1208145,1208772,1209194-1212125,1212127-1220291,1220293,1220295-1221321,1221323-1222329,1222332-1222401,1222405-1222795,1222850-1222950,1222969-1225326,1225328-1225463,1225465,1225627,1225629-1226534,1226536-1228908,1228911-1228923,1228927-1229532,1229534-1230766,1230768-1231625,1231627-1233414,1233419-1235207,1235209-1237425,1237427,1237429-1237977,1237981,1237985,1237995,1238070,1238073,1239024-1239048,1239050-1239062,1239135,1239256,1239258-1239485,1239785-1240046,1240101,1240106,1240109,1240112,1240114
 
,1240116,1240118,1240121,1240329,1240474-1240850,1240857,1241087,1241160,1241408-1241822,1241908-1241909,1241912-1242110,1242371-1292130,1292134-1292458,1292464-1292670,1292672-1292776,1292780-1293392,1293397-1297017,1297019-1297963,1297965-1299820,1300108,1300111-1300460,1300520-1300948,1300997,1301006,1301280,1302332,1302348,1302608-1302610,1302649,1302837,1303138,1303163,1303338,1303521,1303587,1303698,1303803,1303852,1304011,1304035,1304037,1304135,1304249,1304253,1304260,1304271,1304275,1304468,1304895,1304930-1304932,1305194,1305943,1305965,1306556,1306579-1306580,1307084,1307310,1307511-1307512,1307579,1307591,1307597,1310636,1310639-1310640,1310642,1310701,1311212,1311995,1327617,1327670,1331766,1333161,1333173,1333827,1334787,1335026,1335257,1335547,1335692,1335711,1335731,1336515,1336813,1336864,1336868,1336884,1337419,1337426,1337546,1337572,1337591-1337595,1337643,1337707,1337719,1337734,1337741,1337745,1338151-1338154,1338178,1342027,1342029,1342315,1342320,1342476,1342
 

svn commit: r1700870 - /tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java

2015-09-02 Thread markt
Author: markt
Date: Wed Sep  2 18:57:28 2015
New Revision: 1700870

URL: http://svn.apache.org/r1700870
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58313
Fix concurrent access of encoders map when clearing encoders prior to switch to 
async.

Modified:
tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1700870=1700869=1700870=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Wed Sep  
2 18:57:28 2015
@@ -21,7 +21,7 @@ import java.io.Writer;
 import java.security.AccessController;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 
 import javax.servlet.WriteListener;
 import javax.servlet.http.HttpServletResponse;
@@ -125,7 +125,7 @@ public class OutputBuffer extends Writer
 /**
  * List of encoders.
  */
-protected final HashMap encoders = new HashMap<>();
+protected final ConcurrentHashMap encoders = new 
ConcurrentHashMap<>();
 
 
 /**



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



svn commit: r1700873 - /tomcat/tc6.0.x/trunk/STATUS.txt

2015-09-02 Thread markt
Author: markt
Date: Wed Sep  2 19:07:25 2015
New Revision: 1700873

URL: http://svn.apache.org/r1700873
Log:
Proposal

Modified:
tomcat/tc6.0.x/trunk/STATUS.txt

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1700873=1700872=1700873=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Sep  2 19:07:25 2015
@@ -66,6 +66,12 @@ PATCHES PROPOSED TO BACKPORT:
   +1: markt
   -1:
 
+* Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58313
+  http://svn.apache.org/r1700872
+  NNot required for async but still required because of Comet
+  +1: markt
+  -1:
+
   
 PATCHES/ISSUES THAT ARE STALLED:
 



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



[Bug 58313] Data race inside the non-thread-safe HashMap org.apache.catalina.connector.OutputBuffer.encoders

2015-09-02 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58313

Mark Thomas  changed:

   What|Removed |Added

Version|trunk   |unspecified
Product|Tomcat 8|Tomcat 6
  Component|Catalina|Catalina

--- Comment #2 from Mark Thomas  ---
Fixed in trunk, 8.0.x (for 8.0.27 onwards) and 7.0.x (for 7.0.65 onwards).
Back-port proposed for 6.0.x.

-- 
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: r1700897 - in /tomcat/tc8.0.x/trunk: ./ java/org/apache/tomcat/util/http/RequestUtil.java test/org/apache/tomcat/util/http/TestRequestUtil.java webapps/docs/changelog.xml

2015-09-02 Thread markt
Author: markt
Date: Wed Sep  2 20:41:30 2015
New Revision: 1700897

URL: http://svn.apache.org/r1700897
Log:
More normalization edge cases

Modified:
tomcat/tc8.0.x/trunk/   (props changed)
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/util/http/RequestUtil.java
tomcat/tc8.0.x/trunk/test/org/apache/tomcat/util/http/TestRequestUtil.java
tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc8.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Sep  2 20:41:30 2015
@@ -1 +1 @@
-/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1638720-1638725,1639653,1640010,1640083-1640084,1640088,1640275,1640322,1640347,1640361,1640365,1640403,1640410,1640652,1640655-1640658,1640688,1640700-1640883,1640903,1640976,1640978,1641000,1641026,1641038-1641039,1641051-1641052,1641058,1641064,1641300,1641369,1641374,1641380,1641486,1641634,1641656-1641692,1641704,1641707-1641718,1641720-1641722,1641735,1641981,1642233,1642280,1642554,1642564,1642595,1642606,1642668,1642679,1642697,1642699,1642766,1643002,1643045,1643054-1643055,1643066,1643121,1643128,1643206,1643209-1643210,1643216,1643249,1643270,1643283,1643309-1643310,1643323,1643365-1643366,1643370-1643371,1643465,1643474,1643536,1643570,1643634,1643649,1643651,1643654,1643675,1643731,1643733-1643734,1643761,1643766,1643814,1643937,1643963,1644017,1644169,1644201-1644203,1644321,1644323,1644516,1644523,1644529,1644535,1644730,1644768,1644784-1644785,1644790,1644793,1644815,1644884,1644886,1644890,1644892
 
,1644910,1644924,1644929-1644930,1644935,1644989,1645011,1645247,1645355,1645357-1645358,1645455,1645465,1645469,1645471,1645473,1645475,1645486-1645488,1645626,1645641,1645685,1645743,1645763,1645951-1645953,1645955,1645993,1646098-1646106,1646178,1646220,1646302,1646304,1646420,1646470-1646471,1646476,1646559,1646717-1646723,1646773,1647026,1647042,1647530,1647655,1648304,1648815,1648907,1650081,1650365,1651116,1651120,1651280,1651470,1652938,1652970,1653041,1653471,1653550,1653574,1653797,1653815-1653816,1653819,1653840,1653857,1653888,1653972,1654013,1654030,1654050,1654123,1654148,1654159,1654513,1654515,1654517,1654522,1654524,1654725,1654735,1654766,1654785,1654851-1654852,1654978,1655122-1655124,1655126-1655127,1655129-1655130,1655132-1655133,1655312,1655438,1655441,1655454,168,1656087,1656299,1656319,1656331,1656345,1656350,1656590,1656648-1656650,1656657,1657041,1657054,1657374,1657492,1657510,1657565,1657580,1657584,1657586,1657589,1657592,1657607,1657609,1657682,1657
 
907,1658207,1658734,1658781,1658790,1658799,1658802,1658804,1658833,1658840,1658966,1659043,1659053,1659059,1659188-1659189,1659216,1659263,1659293,1659304,1659306-1659307,1659382,1659384,1659428,1659471,1659486,1659505,1659516,1659521,1659524,1659559,1659562,1659803,1659806,1659814,1659833,1659862,1659905,1659919,1659948,1659967,1659983-1659984,1660060,1660074,1660077,1660133,1660168,1660331-1660332,1660353,1660358,1660924,1661386,1661867,1661972,1661990,1662200,1662308-1662309,1662548,1662614,1662736,1662985,1662988-1662989,1663264,1663277,1663298,1663534,1663562,1663676,1663715,1663754,1663768,1663772,1663781,1663893,1663995,1664143,1664163,1664174,1664301,1664317,1664347,1664657,1664659,1664710,1664863-1664864,1664866,1665085,1665292,1665559,1665653,1665661,1665672,1665694,1665697,1665736,1665779,1665976-1665977,1665980-1665981,1665985-1665986,1665989,1665998,1666004,1666008,1666013,1666017,1666024,1666116,1666386-1666387,1666494,1666496,1666552,1666569,1666579,137,149,1
 
666757,1666966,1666972,1666985,1666995,1666997,1667292,1667402,1667406,1667546,1667615,1667630,1667636,1667688,1667764,1667871,1668026,1668135,1668193,1668593,1668596,1668630,1668639,1668843,1669353,1669370,1669451,1669800,1669838,1669876,1669882,1670394,1670433,1670591,1670598-1670600,1670610,1670631,1670719,1670724,1670726,1670730,1670940,1671112,1672272,1672284,1673754,1674294,1675461,1675486,1675594,1675830,1676231,1676250-1676251,1676364,1676381,1676393,1676479,1676525,1676552,1676615,1676630,1676634,1676721,1676926,1676943,1677140,1677802,1678011,1678162,1678174,1678339,1678426-1678427,1678694,1678701,1679534,1679708,1679710,1679716,1680034,1680246,1681056,1681123,1681138,1681280,1681283,1681286,1681450,1681697,1681701,1681729,1681770,1681779,1681793,1681807,1681837-1681838,1681854,1681862,1681958,1682028,1682033,1682311,1682315,1682317,1682320,1682324,1682330,1682842,1684172,1684366,1684383,1684526-1684527,1684549-1684550,1685556,1685591,1685739,1685744,1685772,1685816,168582
 

Re: svn commit: r1700900 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/catalina/util/RequestUtil.java

2015-09-02 Thread Konstantin Kolinko
2015-09-03 0:00 GMT+03:00 Mark Thomas :
> On 02/09/2015 21:46, ma...@apache.org wrote:
>> Author: markt
>> Date: Wed Sep  2 20:46:17 2015
>> New Revision: 1700900
>>
>> URL: http://svn.apache.org/r1700900
>> Log:
>> Update proposal
>>
>> Modified:
>> tomcat/tc6.0.x/trunk/STATUS.txt
>> tomcat/tc6.0.x/trunk/java/org/apache/catalina/util/RequestUtil.java
>
> Bah. I applied the patch as well.
>
> Any chance of a couple of quick +1's from other committers so I don't
> have to revert it?
>


+1

Best regards,
Konstantin Kolinko

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



buildbot exception in ASF Buildbot on tomcat-trunk

2015-09-02 Thread buildbot
The Buildbot has detected a build exception on builder tomcat-trunk while 
building ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-trunk/builds/190

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

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1700765
Blamelist: jfclere

BUILD FAILED: exception upload_2

Sincerely,
 -The Buildbot




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



svn commit: r1700763 - in /tomcat/jk/trunk/xdocs/webserver_howto: apache.xml iis.xml

2015-09-02 Thread kkolinko
Author: kkolinko
Date: Wed Sep  2 10:52:46 2015
New Revision: 1700763

URL: http://svn.apache.org/r1700763
Log:
Correct a typo in documentation (reviewing r1700600)

Modified:
tomcat/jk/trunk/xdocs/webserver_howto/apache.xml
tomcat/jk/trunk/xdocs/webserver_howto/iis.xml

Modified: tomcat/jk/trunk/xdocs/webserver_howto/apache.xml
URL: 
http://svn.apache.org/viewvc/tomcat/jk/trunk/xdocs/webserver_howto/apache.xml?rev=1700763=1700762=1700763=diff
==
--- tomcat/jk/trunk/xdocs/webserver_howto/apache.xml (original)
+++ tomcat/jk/trunk/xdocs/webserver_howto/apache.xml Wed Sep  2 10:52:46 2015
@@ -1110,7 +1110,7 @@ configurations for debug and release bui
 to build against the web server versions 2.0, 2.2 and 2.4.
 
 
-Finally choose "Build Solution" in the "Build" menue.
+Finally choose "Build Solution" in the "Build" menu.
 
 
 The resulting file mod_jk.so (and the debug symbol file

Modified: tomcat/jk/trunk/xdocs/webserver_howto/iis.xml
URL: 
http://svn.apache.org/viewvc/tomcat/jk/trunk/xdocs/webserver_howto/iis.xml?rev=1700763=1700762=1700763=diff
==
--- tomcat/jk/trunk/xdocs/webserver_howto/iis.xml (original)
+++ tomcat/jk/trunk/xdocs/webserver_howto/iis.xml Wed Sep  2 10:52:46 2015
@@ -501,7 +501,7 @@ During IDE startup choose "Yes" in all c
 Next choose "Debug" or "Release" in the Configuration dropdown.
 
 
-Finally choose "Build Solution" in the "Build" menue.
+Finally choose "Build Solution" in the "Build" menu.
 
 
 The resulting file isapi_redirect.dll (and the debug symbol file



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