[GUMP@vmgump-vm3]: Project tomcat-tc8.0.x-test-nio2 (in module tomcat-8.0.x) failed

2017-02-07 Thread Bill Barker
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at gene...@gump.apache.org.

Project tomcat-tc8.0.x-test-nio2 has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 2 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- tomcat-tc8.0.x-test-nio2 :  Tomcat 8.x, a web server implementing the 
Java Servlet 3.1,
...


Full details are available at:

http://vmgump-vm3.apache.org/tomcat-8.0.x/tomcat-tc8.0.x-test-nio2/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Dependency on commons-daemon exists, no need to add for property 
commons-daemon.native.src.tgz.
 -DEBUG- Dependency on commons-daemon exists, no need to add for property 
tomcat-native.tar.gz.
 -INFO- Failed with reason build failed
 -INFO- Project Reports in: 
/srv/gump/public/workspace/tomcat-8.0.x/output/logs-NIO2
 -INFO- Project Reports in: 
/srv/gump/public/workspace/tomcat-8.0.x/output/test-tmp-NIO2/logs
 -WARNING- No directory 
[/srv/gump/public/workspace/tomcat-8.0.x/output/test-tmp-NIO2/logs]



The following work was performed:
http://vmgump-vm3.apache.org/tomcat-8.0.x/tomcat-tc8.0.x-test-nio2/gump_work/build_tomcat-8.0.x_tomcat-tc8.0.x-test-nio2.html
Work Name: build_tomcat-8.0.x_tomcat-tc8.0.x-test-nio2 (Type: Build)
Work ended in a state of : Failed
Elapsed: 19 mins 13 secs
Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true 
-Dbuild.sysclasspath=only org.apache.tools.ant.Main 
-Dgump.merge=/srv/gump/public/gump/work/merge.xml 
-Dbase.path=/srv/gump/public/workspace/tomcat-8.0.x/tomcat-build-libs 
-Dexecute.test.nio2=true -Dtest.temp=output/test-tmp-NIO2 
-Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar 
-Dtest.accesslog=true 
-Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.6-SNAPSHOT.jar
 -Dexamples.sources.skip=true 
-Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20170208.jar
 
-Dtest.openssl.path=/srv/gump/public/workspace/openssl-1.0.2/dest-20170208/bin/openssl
 -Dexecute.test.nio=false 
-Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar 
-Dexecute.test.apr=false -Dexecute.test.bio=false 
-Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20170208-native-src.tar.gz
 -Dtest.repor
 ts=output/logs-NIO2 
-Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20170208-native-src.tar.gz
 -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.5-201506032000/ecj-4.5.jar 
-Dtest.relaxTiming=true -Dtest.excludePerformance=true 
-Djava.net.preferIPv4Stack=/srv/gump/public/workspace/tomcat-8.0.x/true 
-Deasymock.jar=/srv/gump/public/workspace/easymock/core/target/easymock-3.5-SNAPSHOT.jar
 -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test 
[Working Directory: /srv/gump/public/workspace/tomcat-8.0.x]
CLASSPATH: 
/usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-8.0.x/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/servlet-api.ja
 
r:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-tribes.jar:/srv/gu

Re: svn commit: r1782037 - in /tomcat/tc8.5.x/trunk: conf/catalina.properties java/org/apache/tomcat/util/http/parser/HttpParser.java webapps/docs/changelog.xml webapps/docs/config/systemprops.xml

2017-02-07 Thread Mark Thomas

On 07/02/17 18:13, csuth...@apache.org wrote:

Author: csutherl
Date: Tue Feb  7 18:13:40 2017
New Revision: 1782037

URL: http://svn.apache.org/viewvc?rev=1782037&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=60594
Adding implementation of whitelist patch

Modified:
tomcat/tc8.5.x/trunk/conf/catalina.properties
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java
tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml
tomcat/tc8.5.x/trunk/webapps/docs/config/systemprops.xml

Modified: tomcat/tc8.5.x/trunk/conf/catalina.properties
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/conf/catalina.properties?rev=1782037&r1=1782036&r2=1782037&view=diff
==
--- tomcat/tc8.5.x/trunk/conf/catalina.properties (original)
+++ tomcat/tc8.5.x/trunk/conf/catalina.properties Tue Feb  7 18:13:40 2017
@@ -146,3 +146,6 @@ tomcat.util.buf.StringCache.byte.enabled
 #tomcat.util.buf.StringCache.char.enabled=true
 #tomcat.util.buf.StringCache.trainThreshold=50
 #tomcat.util.buf.StringCache.cacheSize=5000
+
+# Allow for changes to HTTP request validation


I'd add here:

# WARNING: Using this option will expose the server to CVE-2016-6816


+#tomcat.util.http.parser.HttpParser.requestTargetAllow=|

Modified: 
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java?rev=1782037&r1=1782036&r2=1782037&view=diff
==
--- 
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java 
(original)
+++ 
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java 
Tue Feb  7 18:13:40 2017
@@ -19,6 +19,9 @@ package org.apache.tomcat.util.http.pars
 import java.io.IOException;
 import java.io.StringReader;

+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
+
 /**
  * HTTP header value parser implementation. Parsing HTTP headers as per RFC2616
  * is not always as simple as it first appears. For headers that only use 
tokens
@@ -34,6 +37,8 @@ import java.io.StringReader;
  */
 public class HttpParser {

+private static final Log log = LogFactory.getLog(HttpParser.class);
+
 private static final int ARRAY_SIZE = 128;

 private static final boolean[] IS_CONTROL = new boolean[ARRAY_SIZE];
@@ -42,8 +47,22 @@ public class HttpParser {
 private static final boolean[] IS_HEX = new boolean[ARRAY_SIZE];
 private static final boolean[] IS_NOT_REQUEST_TARGET = new 
boolean[ARRAY_SIZE];
 private static final boolean[] IS_HTTP_PROTOCOL = new boolean[ARRAY_SIZE];
+private static final boolean[] REQUEST_TARGET_ALLOW = new 
boolean[ARRAY_SIZE];

 static {
+String prop = 
System.getProperty("tomcat.util.http.parser.HttpParser.requestTargetAllow");
+if (prop != null) {
+for (int i = 0; i < prop.length(); i++) {
+char c = prop.charAt(i);
+if (c == '{' || c == '}' || c == '|') {
+REQUEST_TARGET_ALLOW[c] = true;
+} else {
+log.warn("HttpParser: Character '" + c + "' is not allowed and 
will continue "
++ "being rejected.");


This should use the StringManager for i18n support.

Also "... will continue to be rejected." sounds better.


+}
+}
+}
+
 for (int i = 0; i < ARRAY_SIZE; i++) {
 // Control> 0-31, 127
 if (i < 32 || i == 127) {
@@ -74,7 +93,9 @@ public class HttpParser {
 if (IS_CONTROL[i] || i > 127 ||
 i == ' ' || i == '\"' || i == '#' || i == '<' || i == '>' 
|| i == '\\' ||
 i == '^' || i == '`'  || i == '{' || i == '|' || i == '}') 
{
-IS_NOT_REQUEST_TARGET[i] = true;
+if (!REQUEST_TARGET_ALLOW[i]) {
+IS_NOT_REQUEST_TARGET[i] = true;
+}
 }

 // Not valid for HTTP protocol

Modified: tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml?rev=1782037&r1=1782036&r2=1782037&view=diff
==
--- tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Tue Feb  7 18:13:40 2017
@@ -103,6 +103,12 @@
 Ensure that executor thread pools used with connectors, pre-start the
 configured minimum number of idle threads. (markt)
   
+  
+60594: Allow some invalid characters that were recently
+restricted to be processed in requests by using the system property
+tomcat.util.http.parser.HttpParser.requestTargetAllow.
+(csutherl)
+  

Re: Read events suspend/resume logic in websocket impl to achieve backpressure

2017-02-07 Thread Mark Thomas

On 06/02/17 19:55, Violeta Georgieva wrote:

Hi,

Currently JSR356 provides possibility to add message handlers in order to
receive web socket
messages but there is no way to instruct the web socket implementation to
suspend for a while
the incoming messages (backpressure) so that the application is able to
process the already delivered messages.
The other web containers (Jetty, Undertow) supports such functionality so I
would like to introduce it in Tomcat.
Here [1] I prepared one possible implementation.

What do you think about this feature and the proposed implementation?


I suggest you go ahead and commit (and back-port) the formatting 
updates. They all look good and getting those out of the way will make 
the diff easier to read.


I'm currently undecided on this.

I understand the requirement but rather than have proprietary methods 
added to various WebSocket implementations, I would have preferred to 
see a reactive wrapper provided for Java WebSocket that would have used 
Server->Client WebSocket messages to communicate back pressure to the 
client.


However, that doesn't work if the aim is to feed 'uncontrolled' 
WebSocket clients into a reactive server side framework. Blocking is 
going to be only option to apply back-pressure and better to do that 
just on the client rather than on the client and the server - which 
means this feature is required in some form.


I guess that makes me reluctantly in favour of it in principle but I'd 
very much prefer to review a patch proposal minus the reformatting.


Mark


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



Re: AuthConfigProvider initialization while constructing the authenticator

2017-02-07 Thread Violeta Georgieva
2017-02-07 23:44 GMT+02:00 Mark Thomas :
>
> On 06/02/17 20:35, Violeta Georgieva wrote:
>>
>> Hi,
>>
>> With the current implementation if there is AuthConfigProvider we will
>> initialize it once and then we will use it. However if such
>> AuthConfigProvider is not available, on every request we will spend time
in
>> redundant search operation to find AuthConfigProvider that is not
available.
>>
>> What do you think about moving AuthConfigProvider initialization while
>> constructing the authenticator?
>
>
> Won't that break web applications that initialize their own JASPIC
configuration on web application start?

:( most probably

> If performance is a concern we could store a static constant NO-OP
AuthConfigProvider in jaspicProvider if no provider is available and then
check for that on subsequent calls and return null if we find it. That
should be marginally quicker than the repeating the lookup.

+1

Thanks,
Violeta

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


Re: AuthConfigProvider initialization while constructing the authenticator

2017-02-07 Thread Mark Thomas

On 06/02/17 20:35, Violeta Georgieva wrote:

Hi,

With the current implementation if there is AuthConfigProvider we will
initialize it once and then we will use it. However if such
AuthConfigProvider is not available, on every request we will spend time in
redundant search operation to find AuthConfigProvider that is not available.

What do you think about moving AuthConfigProvider initialization while
constructing the authenticator?


Won't that break web applications that initialize their own JASPIC 
configuration on web application start?


If performance is a concern we could store a static constant NO-OP 
AuthConfigProvider in jaspicProvider if no provider is available and 
then check for that on subsequent calls and return null if we find it. 
That should be marginally quicker than the repeating the lookup.


Mark


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



Re: Tagging Tomcat 6

2017-02-07 Thread Violeta Georgieva
2017-02-07 23:26 GMT+02:00 Mark Thomas :
>
> On 06/02/17 16:27, Violeta Georgieva wrote:
>>
>> Hi,
>>
>> I want to prepare Tomcat 6.0.51 for voting, but I want to ask whether I
>> should wait for a new tc native release.
>>
>> What do you think?
>
>
> Voting has started so I think it is worth waiting a few days to pick it
up.

I'll test the current Tomcat 6 trunk with the proposed tc native 1.2.11

Thanks,
Violeta

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


Re: Tagging Tomcat 6

2017-02-07 Thread Mark Thomas

On 06/02/17 16:27, Violeta Georgieva wrote:

Hi,

I want to prepare Tomcat 6.0.51 for voting, but I want to ask whether I
should wait for a new tc native release.

What do you think?


Voting has started so I think it is worth waiting a few days to pick it up.

Mark


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



[GitHub] tomcat pull request #42: Read events suspend/resume logic in websocket impl ...

2017-02-07 Thread martin-g
Github user martin-g commented on a diff in the pull request:

https://github.com/apache/tomcat/pull/42#discussion_r99924344
  
--- Diff: java/org/apache/tomcat/websocket/WsFrameClient.java ---
@@ -150,10 +162,11 @@ public void completed(Integer result, Void 
attachment) {
 
 @Override
 public void failed(Throwable exc, Void attachment) {
+reading.getAndSet(false);
--- End diff --

`reading.set(false);`


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



[GitHub] tomcat pull request #42: Read events suspend/resume logic in websocket impl ...

2017-02-07 Thread martin-g
Github user martin-g commented on a diff in the pull request:

https://github.com/apache/tomcat/pull/42#discussion_r99924840
  
--- Diff: java/org/apache/tomcat/websocket/server/WsFrameServer.java ---
@@ -56,21 +61,27 @@ public void onDataAvailable() throws IOException {
 if (log.isDebugEnabled()) {
 log.debug("wsFrameServer.onDataAvailable");
 }
-while (isOpen()) {
-// Fill up the input buffer with as much data as we can
-inputBuffer.mark();
-
inputBuffer.position(inputBuffer.limit()).limit(inputBuffer.capacity());
-int read = socketWrapper.read(false, inputBuffer);
-inputBuffer.limit(inputBuffer.position()).reset();
-if (read < 0) {
-throw new EOFException();
-} else if (read == 0) {
-return;
-}
-if (log.isDebugEnabled()) {
-log.debug(sm.getString("wsFrameServer.bytesRead", 
Integer.toString(read)));
+if (reading.compareAndSet(false, true)) {
+try {
+while (isOpen() && !isSuspended()) {
+// Fill up the input buffer with as much data as 
we can
+inputBuffer.mark();
+
inputBuffer.position(inputBuffer.limit()).limit(inputBuffer.capacity());
+int read = socketWrapper.read(false, inputBuffer);
+inputBuffer.limit(inputBuffer.position()).reset();
+if (read < 0) {
+throw new EOFException();
+} else if (read == 0) {
+return;
+}
+if (log.isDebugEnabled()) {
+
log.debug(sm.getString("wsFrameServer.bytesRead", Integer.toString(read)));
+}
+processInputBuffer();
+}
+} finally {
+reading.getAndSet(false);
--- End diff --

`reading.set(false);`


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



[GitHub] tomcat pull request #42: Read events suspend/resume logic in websocket impl ...

2017-02-07 Thread martin-g
Github user martin-g commented on a diff in the pull request:

https://github.com/apache/tomcat/pull/42#discussion_r99924904
  
--- Diff: java/org/apache/tomcat/websocket/server/WsFrameServer.java ---
@@ -124,4 +135,56 @@ protected void sendMessageBinary(ByteBuffer msg, 
boolean last) throws WsIOExcept
 Thread.currentThread().setContextClassLoader(cl);
 }
 }
+
+
+@Override
+protected void resumeProcessing() {
+if (!reading.get()) {
+try {
+if (reading.compareAndSet(false, true)) {
+try {
+if (isOpen() && inputBuffer.remaining() > 0) {
+processInputBuffer();
+}
+} finally {
+reading.getAndSet(false);
--- End diff --

`reading.set(false);`


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



[GitHub] tomcat pull request #42: Read events suspend/resume logic in websocket impl ...

2017-02-07 Thread martin-g
Github user martin-g commented on a diff in the pull request:

https://github.com/apache/tomcat/pull/42#discussion_r99923774
  
--- Diff: java/org/apache/tomcat/websocket/WsFrameClient.java ---
@@ -58,31 +59,44 @@ void startInputProcessing() {
 
 
 private void processSocketRead() throws IOException {
+if (reading.compareAndSet(false, true)) {
+while (response.hasRemaining()) {
+if (isSuspended()) {
+reading.getAndSet(false);
--- End diff --

`reading.set(false);`


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



[GitHub] tomcat pull request #42: Read events suspend/resume logic in websocket impl ...

2017-02-07 Thread martin-g
Github user martin-g commented on a diff in the pull request:

https://github.com/apache/tomcat/pull/42#discussion_r99928093
  
--- Diff: test/org/apache/tomcat/websocket/TestWsSessionSuspendResume.java 
---
@@ -0,0 +1,144 @@
+/*
+ * 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 org.apache.tomcat.websocket;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+import javax.websocket.ClientEndpointConfig;
+import javax.websocket.CloseReason;
+import javax.websocket.ContainerProvider;
+import javax.websocket.Endpoint;
+import javax.websocket.EndpointConfig;
+import javax.websocket.Session;
+import javax.websocket.WebSocketContainer;
+import javax.websocket.server.ServerEndpointConfig;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import org.apache.catalina.Context;
+import org.apache.catalina.servlets.DefaultServlet;
+import org.apache.catalina.startup.Tomcat;
+import 
org.apache.tomcat.websocket.TesterMessageCountClient.TesterProgrammaticEndpoint;
+import org.apache.tomcat.websocket.server.TesterEndpointConfig;
+
+public class TestWsSessionSuspendResume extends WebSocketBaseTest {
+
+@Test
+public void test() throws Exception {
+Tomcat tomcat = getTomcatInstance();
+
+Context ctx = tomcat.addContext("", null);
+ctx.addApplicationListener(Config.class.getName());
+
+Tomcat.addServlet(ctx, "default", new DefaultServlet());
+ctx.addServletMappingDecoded("/", "default");
+
+tomcat.start();
+
+WebSocketContainer wsContainer = 
ContainerProvider.getWebSocketContainer();
+
+ClientEndpointConfig clientEndpointConfig = 
ClientEndpointConfig.Builder.create().build();
+Session wsSession = wsContainer.connectToServer(
+TesterProgrammaticEndpoint.class,
+clientEndpointConfig,
+new URI("ws://localhost:" + getPort() + Config.PATH));
+
+CountDownLatch latch = new CountDownLatch(2);
+wsSession.addMessageHandler(String.class, message -> {
+Assert.assertTrue("[echo, echo, echo]".equals(message));
+latch.countDown();
+});
+for (int i = 0; i < 8; i++) {
+wsSession.getAsyncRemote().sendText("echo");
+}
+
+boolean latchResult = latch.await(30, TimeUnit.SECONDS);
+Assert.assertTrue(latchResult);
+
+wsSession.close();
+}
+
+
+public static final class Config extends TesterEndpointConfig {
+private static final String PATH = "/echo";
+
+@Override
+protected Class getEndpointClass() {
+return SuspendResumeEndpoint.class;
+}
+
+@Override
+protected ServerEndpointConfig getServerEndpointConfig() {
+return ServerEndpointConfig.Builder.create(getEndpointClass(), 
PATH).build();
+}
+}
+
+
+public static final class SuspendResumeEndpoint extends Endpoint {
+
+@Override
+public void onOpen(Session session, EndpointConfig  epc) {
+MessageProcessor processor = new MessageProcessor(session, 3);
+session.addMessageHandler(String.class, message -> 
processor.addMessage(message));
+}
+
+@Override
+public void onClose(Session session, CloseReason closeReason) {
+try {
+session.close();
+} catch (IOException e) {
+e.printStackTrace();
+}
+}
+
+@Override
+public void onError(Session session, Throwable t) {
+t.printStackTrace();
+}
+}
+
+
+private static final cl

[GitHub] tomcat pull request #42: Read events suspend/resume logic in websocket impl ...

2017-02-07 Thread martin-g
Github user martin-g commented on a diff in the pull request:

https://github.com/apache/tomcat/pull/42#discussion_r99924267
  
--- Diff: java/org/apache/tomcat/websocket/WsFrameClient.java ---
@@ -116,12 +129,11 @@ protected Log getLog() {
 return log;
 }
 
-
-private class WsFrameClientCompletionHandler
-implements CompletionHandler {
+private class WsFrameClientCompletionHandler implements 
CompletionHandler {
 
 @Override
 public void completed(Integer result, Void attachment) {
+reading.getAndSet(false);
--- End diff --

`reading.set(false);`


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



[GitHub] tomcat pull request #42: Read events suspend/resume logic in websocket impl ...

2017-02-07 Thread martin-g
Github user martin-g commented on a diff in the pull request:

https://github.com/apache/tomcat/pull/42#discussion_r99922783
  
--- Diff: java/org/apache/tomcat/websocket/SuspendableMessageReceiver.java 
---
@@ -0,0 +1,24 @@
+/*
+ * 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 org.apache.tomcat.websocket;
+
+public interface SuspendableMessageReceiver {
+
+public void suspend();
--- End diff --

No need of `public`, it is implicit.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



[GitHub] tomcat pull request #42: Read events suspend/resume logic in websocket impl ...

2017-02-07 Thread martin-g
Github user martin-g commented on a diff in the pull request:

https://github.com/apache/tomcat/pull/42#discussion_r99924137
  
--- Diff: java/org/apache/tomcat/websocket/WsFrameClient.java ---
@@ -58,31 +59,44 @@ void startInputProcessing() {
 
 
 private void processSocketRead() throws IOException {
+if (reading.compareAndSet(false, true)) {
+while (response.hasRemaining()) {
+if (isSuspended()) {
+reading.getAndSet(false);
+return;
+}
 
-while (response.hasRemaining()) {
-inputBuffer.mark();
-
inputBuffer.position(inputBuffer.limit()).limit(inputBuffer.capacity());
+inputBuffer.mark();
+
inputBuffer.position(inputBuffer.limit()).limit(inputBuffer.capacity());
 
-int toCopy = Math.min(response.remaining(), 
inputBuffer.remaining());
+int toCopy = Math.min(response.remaining(), 
inputBuffer.remaining());
 
-// Copy remaining bytes read in HTTP phase to input buffer 
used by
-// frame processing
+// Copy remaining bytes read in HTTP phase to input buffer 
used by
+// frame processing
 
-int orgLimit = response.limit();
-response.limit(response.position() + toCopy);
-inputBuffer.put(response);
-response.limit(orgLimit);
+int orgLimit = response.limit();
+response.limit(response.position() + toCopy);
+inputBuffer.put(response);
+response.limit(orgLimit);
 
-inputBuffer.limit(inputBuffer.position()).reset();
+inputBuffer.limit(inputBuffer.position()).reset();
 
-// Process the data we have
-processInputBuffer();
-}
-response.clear();
+// Process the data we have
+try {
+processInputBuffer();
+} catch (IOException e) {
+reading.getAndSet(false);
--- End diff --

`reading.set(false);`


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



[VOTE] Release Apache Tomcat Native 1.2.11

2017-02-07 Thread Mark Thomas

Version 1.2.10 includes the following change:

- Update minimum recommended OpenSSL version to 1.0.2k
- Windows binaries built with OpenSSL 1.0.2k
- Better documentation for building on Windows
  (including with FIPS enabled OpenSSL)

The proposed release artefacts can be found at [1],
and the build was done using tag [2].

The Apache Tomcat Native 1.2.11 is
 [ ] Stable, go ahead and release
 [ ] Broken because of ...

Thanks,

Mark


[1]
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-connectors/native/1.2.11/
[2] https://svn.apache.org/repos/asf/tomcat/native/tags/TOMCAT_NATIVE_1_2_11

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



svn commit: r1782068 - in /tomcat/native/trunk: build.properties.default native/include/tcn_version.h native/os/win32/libtcnative.rc xdocs/miscellaneous/changelog.xml

2017-02-07 Thread markt
Author: markt
Date: Tue Feb  7 19:47:17 2017
New Revision: 1782068

URL: http://svn.apache.org/viewvc?rev=1782068&view=rev
Log:
Increment version number ready for next release

Modified:
tomcat/native/trunk/build.properties.default
tomcat/native/trunk/native/include/tcn_version.h
tomcat/native/trunk/native/os/win32/libtcnative.rc
tomcat/native/trunk/xdocs/miscellaneous/changelog.xml

Modified: tomcat/native/trunk/build.properties.default
URL: 
http://svn.apache.org/viewvc/tomcat/native/trunk/build.properties.default?rev=1782068&r1=1782067&r2=1782068&view=diff
==
--- tomcat/native/trunk/build.properties.default (original)
+++ tomcat/native/trunk/build.properties.default Tue Feb  7 19:47:17 2017
@@ -18,7 +18,7 @@
 # - Version Control Flags -
 version.major=1
 version.minor=2
-version.build=11
+version.build=12
 version.patch=0
 version.suffix=-dev
 

Modified: tomcat/native/trunk/native/include/tcn_version.h
URL: 
http://svn.apache.org/viewvc/tomcat/native/trunk/native/include/tcn_version.h?rev=1782068&r1=1782067&r2=1782068&view=diff
==
--- tomcat/native/trunk/native/include/tcn_version.h (original)
+++ tomcat/native/trunk/native/include/tcn_version.h Tue Feb  7 19:47:17 2017
@@ -63,7 +63,7 @@ extern "C" {
 #define TCN_MINOR_VERSION   2
 
 /** patch level */
-#define TCN_PATCH_VERSION   11
+#define TCN_PATCH_VERSION   12
 
 /**
  *  This symbol is defined for internal, "development" copies of TCN. This

Modified: tomcat/native/trunk/native/os/win32/libtcnative.rc
URL: 
http://svn.apache.org/viewvc/tomcat/native/trunk/native/os/win32/libtcnative.rc?rev=1782068&r1=1782067&r2=1782068&view=diff
==
--- tomcat/native/trunk/native/os/win32/libtcnative.rc (original)
+++ tomcat/native/trunk/native/os/win32/libtcnative.rc Tue Feb  7 19:47:17 2017
@@ -20,7 +20,7 @@ LANGUAGE 0x9,0x1
  "See the License for the specific language governing " \
  "permissions and limitations under the License."
 
-#define TCN_VERSION "1.2.11"
+#define TCN_VERSION "1.2.12"
 1000 ICON "apache.ico"
 
 1001 DIALOGEX 0, 0, 252, 51
@@ -36,8 +36,8 @@ BEGIN
 END
 
 1 VERSIONINFO
- FILEVERSION 1,2,11,0
- PRODUCTVERSION 1,2,11,0
+ FILEVERSION 1,2,12,0
+ PRODUCTVERSION 1,2,12,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L

Modified: tomcat/native/trunk/xdocs/miscellaneous/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/native/trunk/xdocs/miscellaneous/changelog.xml?rev=1782068&r1=1782067&r2=1782068&view=diff
==
--- tomcat/native/trunk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/native/trunk/xdocs/miscellaneous/changelog.xml Tue Feb  7 19:47:17 
2017
@@ -34,6 +34,8 @@
   This is the Changelog for Tomcat Native 1.2.
   
 
+
+
 
   
 



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



[GUMP@vmgump-vm3]: Project tomcat-tc8.0.x-test-nio2 (in module tomcat-8.0.x) failed

2017-02-07 Thread Bill Barker
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at gene...@gump.apache.org.

Project tomcat-tc8.0.x-test-nio2 has an issue affecting its community 
integration.
This issue affects 1 projects.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- tomcat-tc8.0.x-test-nio2 :  Tomcat 8.x, a web server implementing the 
Java Servlet 3.1,
...


Full details are available at:

http://vmgump-vm3.apache.org/tomcat-8.0.x/tomcat-tc8.0.x-test-nio2/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Dependency on commons-daemon exists, no need to add for property 
commons-daemon.native.src.tgz.
 -DEBUG- Dependency on commons-daemon exists, no need to add for property 
tomcat-native.tar.gz.
 -INFO- Failed with reason build failed
 -INFO- Project Reports in: 
/srv/gump/public/workspace/tomcat-8.0.x/output/logs-NIO2
 -INFO- Project Reports in: 
/srv/gump/public/workspace/tomcat-8.0.x/output/test-tmp-NIO2/logs
 -WARNING- No directory 
[/srv/gump/public/workspace/tomcat-8.0.x/output/test-tmp-NIO2/logs]



The following work was performed:
http://vmgump-vm3.apache.org/tomcat-8.0.x/tomcat-tc8.0.x-test-nio2/gump_work/build_tomcat-8.0.x_tomcat-tc8.0.x-test-nio2.html
Work Name: build_tomcat-8.0.x_tomcat-tc8.0.x-test-nio2 (Type: Build)
Work ended in a state of : Failed
Elapsed: 19 mins 38 secs
Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true 
-Dbuild.sysclasspath=only org.apache.tools.ant.Main 
-Dgump.merge=/srv/gump/public/gump/work/merge.xml 
-Dbase.path=/srv/gump/public/workspace/tomcat-8.0.x/tomcat-build-libs 
-Dexecute.test.nio2=true -Dtest.temp=output/test-tmp-NIO2 
-Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar 
-Dtest.accesslog=true 
-Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.6-SNAPSHOT.jar
 -Dexamples.sources.skip=true 
-Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20170207.jar
 
-Dtest.openssl.path=/srv/gump/public/workspace/openssl-1.0.2/dest-20170207/bin/openssl
 -Dexecute.test.nio=false 
-Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar 
-Dexecute.test.apr=false -Dexecute.test.bio=false 
-Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20170207-native-src.tar.gz
 -Dtest.repor
 ts=output/logs-NIO2 
-Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20170207-native-src.tar.gz
 -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.5-201506032000/ecj-4.5.jar 
-Dtest.relaxTiming=true -Dtest.excludePerformance=true 
-Djava.net.preferIPv4Stack=/srv/gump/public/workspace/tomcat-8.0.x/true 
-Deasymock.jar=/srv/gump/public/workspace/easymock/core/target/easymock-3.5-SNAPSHOT.jar
 -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test 
[Working Directory: /srv/gump/public/workspace/tomcat-8.0.x]
CLASSPATH: 
/usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-8.0.x/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/servlet-api.ja
 
r:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-tribes.jar:/srv/gump/public/wo

svn commit: r18210 - in /dev/tomcat/tomcat-connectors/native/1.2.11: ./ binaries/ source/

2017-02-07 Thread markt
Author: markt
Date: Tue Feb  7 19:40:00 2017
New Revision: 18210

Log:
Upload 1.2.11 for voting

Added:
dev/tomcat/tomcat-connectors/native/1.2.11/
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/

dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip
   (with props)

dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip.asc

dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip.md5

dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip.sha1

dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-win32-bin.zip
   (with props)

dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-win32-bin.zip.asc

dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-win32-bin.zip.md5

dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-win32-bin.zip.sha1
dev/tomcat/tomcat-connectors/native/1.2.11/source/

dev/tomcat/tomcat-connectors/native/1.2.11/source/tomcat-native-1.2.11-src.tar.gz
   (with props)

dev/tomcat/tomcat-connectors/native/1.2.11/source/tomcat-native-1.2.11-src.tar.gz.asc

dev/tomcat/tomcat-connectors/native/1.2.11/source/tomcat-native-1.2.11-src.tar.gz.md5

dev/tomcat/tomcat-connectors/native/1.2.11/source/tomcat-native-1.2.11-src.tar.gz.sha1

dev/tomcat/tomcat-connectors/native/1.2.11/source/tomcat-native-1.2.11-win32-src.zip
   (with props)

dev/tomcat/tomcat-connectors/native/1.2.11/source/tomcat-native-1.2.11-win32-src.zip.asc

dev/tomcat/tomcat-connectors/native/1.2.11/source/tomcat-native-1.2.11-win32-src.zip.md5

dev/tomcat/tomcat-connectors/native/1.2.11/source/tomcat-native-1.2.11-win32-src.zip.sha1

Added: 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip
==
Binary file - no diff available.

Propchange: 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip
--
svn:executable = *

Propchange: 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip
--
svn:mime-type = application/octet-stream

Added: 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip.asc
==
--- 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip.asc
 (added)
+++ 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip.asc
 Tue Feb  7 19:40:00 2017
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Comment: GPGTools - http://gpgtools.org
+
+iQIcBAABAgAGBQJYmiJTAAoJEBDAHFovYFnngawP/AzN1Q8qSb/ab+yQYKPjZNRi
+M+RAsTXR0fZJXHlzGzdHZx1jBhWLOIhR752eLKY63It2U9sAZuOGWiPRC5392O15
+G90YOOXfmd67bQIjmIZUq6P4gLqJjOJKRnxaE06R+Sau5lSWrJOBEGOf5iOxkBDO
+3Nwh4EJHhc0is8vZykg/khW4rigPiw4HfukFwuwt7CLO9nUoyE3ndFFWkDtmKaRT
+puIhvEHFIATzvOL7sYr02S/vdjBK3gEVR2yq3jEfngyDzUuYPf08ABa3KZw8Ohxa
+mm1zxfI+TNdAULo2uP2XRkcmjvnWXCOScVFhx61ESG7hl5tcczFPcY6ZfVS+yD3z
+ZEvN5neDa7j9+eda/rStrar4L6eh+famSMxlZzPIyKreDhfzfRQtTSTKP7zjqMuO
+SN/pCE4LbRRlFITJr0AtWwwYhnbzFQKwU3sCwDxN0jjHgU3vJ1lXIy7DmwIyRuMd
+BM5sp7tN769Pf1gRvJ+S02e64/6GWRbJz85OSttaNWoSLloGtlPD7eN+etwLWm5a
+4DipxVZeRhHvcEw0dlgiSgX/Nd4k7YgGKsxX4Hoe41EyQSVAeqzAuzfnVdYSmsXy
+xKA5mwYBV2rSQz8l2AeZpXODBPakXZwUME8G83hLmBsdlLleDBBKszAsAQPRQN7/
+1gYtBuVoMDYIXgDnXOdK
+=J/oo
+-END PGP SIGNATURE-

Added: 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip.md5
==
--- 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip.md5
 (added)
+++ 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip.md5
 Tue Feb  7 19:40:00 2017
@@ -0,0 +1 @@
+c217a8ba94b386fa428b93fad0eede77 *tomcat-native-1.2.11-ocsp-win32-bin.zip
\ No newline at end of file

Added: 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip.sha1
==
--- 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip.sha1
 (added)
+++ 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-ocsp-win32-bin.zip.sha1
 Tue Feb  7 19:40:00 2017
@@ -0,0 +1 @@
+3214615e4237519aac804285f36bcc6e6348486c 
*tomcat-native-1.2.11-ocsp-win32-bin.zip
\ No newline at end of file

Added: 
dev/tomcat/tomcat-connectors/native/1.2.11/binaries/tomcat-native-1.2.11-win32-bin.zip

[Bug 60594] RFC 7230/3986 url requirement that prevents unencoded curly braces should be optional, since it breaks existing sites

2017-02-07 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=60594

Coty Sutherland  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #18 from Coty Sutherland  ---
Fixed in:

- 8.5.x for 8.5.12 onwards
- 8.0.x for 8.0.42 onwards
- 7.0.x for 7.0.76 onwards

-- 
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: r1782043 - in /tomcat/tc7.0.x/trunk: ./ conf/catalina.properties java/org/apache/tomcat/util/http/parser/HttpParser.java webapps/docs/changelog.xml webapps/docs/config/systemprops.xml

2017-02-07 Thread csutherl
Author: csutherl
Date: Tue Feb  7 18:31:43 2017
New Revision: 1782043

URL: http://svn.apache.org/viewvc?rev=1782043&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=60594
Adding implementation of whitelist patch

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/conf/catalina.properties
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
tomcat/tc7.0.x/trunk/webapps/docs/config/systemprops.xml

Propchange: tomcat/tc7.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb  7 18:31:43 2017
@@ -1,3 +1,3 @@
 
/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,1681703,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,1689921,1692850,1693093,1693108,1693324,1694060,1694115,1694291,1694427,1694431,1694503,1694549,1694789,1694873,1694881,1695356,1695372,1695823-1695825,1696200,1696281,1696379,1696468,1700608,1700871,1700897,1700978,1701094,1701124,1701608,1701668,1701676,1701766,1701944,1702248,1702252,1702314,1702390,1702723,1702725,1702728,1702730,1702733,1702735,1702737,1702739,1702
 
742,1702744,1702748,1702751,1702754,1702758,1702760,1702763,1702766,1708779,1708782,1708806,1709314,1709670,1710347,1710442,1710448,1710490,1710574,1710578,1712226,1712229,1712235,1712255,1712618,1712649,1712655,1712860,1712899,1712903,1712906,1712913,1712926,1712975,1713185,1713262,1713287,1713613,1713621,1713872,1713976,1713994,1713998,1714004,1714013,1714059,1714538,1714580,1715189,1715207,1715544,1715549,1715637,1715639-1715645,1715667,1715683,1715866,1715978,1715981,1716216-1716217,1716355,1716414,1716421,1717208-1717209,1717257,1717283,1717288,1717291,1717421,1717517,1717529,1718797,1718840-1718843,1719348,1719357-1719358,1719400,1719491,1719737,1720235,1720396,1720442,1720446,1720450,1720463,1720658-1720660,1720756,1720816,1721813,1721818,1721831,1721861,1721867,1721882,1722523,1722527,1722800,1722926,1722941,1722997,1723130,1723440,1723488,1723890,1724434,1724674,1724792,1724803,1724902,1725128,1725131,1725154,1725167,1725911,1725921,1725929,1725963-1725965,1725970,1725974,1
 
726171-1726173,1726175,1726179-1726182,1726190-1726191,1726195-1726200,1726203,1726226,1726576,1726630,1726992,1727029,1727037,1727671,1727676,1727900,1728028,1728092,1728439,1728449,1729186,1729362,1731009,1731303,1731867,1731872,1731874,1731876,1731885,1731947,1731955,1731959,1731977,1731984,1732360,1732490,1732672,1732902,1733166,1733603,1733619,1733735,1733752,1733764,1733915,1733941,1733964,1734115,1734133,1734261,1734421,1734531,1736286,1737967,1738173,1738182,1738992,1739039,1739089-1739091,1739294,1739777,1739821,1739981,1740513,1740726,1741019,1741162,1741217,1743647,1743681,1744152,1744272,1746732,1746750,1752739,1754615,1755886,1756018,1759565,1761686,1762173,1762206,1766280,1767507-1767508,1767653,1767656,1769267,1772949,1773521,1773527,1774104,1777015,1777213,1779330
-/tomcat/tc8.5.x/trunk:1735579,1736839,1737199,1737966,1738042,1738044,1738162,1738165,1738178,1739157,1739173,1739177,1739476,1740132,1740521,1740536,1740804,1740811,1740981,1741165,1741174,1741182,1741191,1741203,1741209,1741226,1741233,1741410,1742277,1743118,1743126,1743139-1743140,1743718,1743722,1743724,1744059,1744127,1744151,1744232,1744377,1744687,1744698,1744706,1745228,1746940,1748548,1748716,1749288,1749375,1749668-1749669,1750016,1750057,1750976,1751000,17510

svn commit: r1782041 - in /tomcat/tc8.0.x/trunk: ./ conf/catalina.properties java/org/apache/tomcat/util/http/parser/HttpParser.java webapps/docs/changelog.xml webapps/docs/config/systemprops.xml

2017-02-07 Thread csutherl
Author: csutherl
Date: Tue Feb  7 18:22:36 2017
New Revision: 1782041

URL: http://svn.apache.org/viewvc?rev=1782041&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=60594
Adding implementation of whitelist patch

Modified:
tomcat/tc8.0.x/trunk/   (props changed)
tomcat/tc8.0.x/trunk/conf/catalina.properties
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java
tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml
tomcat/tc8.0.x/trunk/webapps/docs/config/systemprops.xml

Propchange: tomcat/tc8.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb  7 18:22:36 2017
@@ -1,2 +1,2 @@
-/tomcat/tc8.5.x/trunk:1735042,1737966,1743139-1743140,1744151,1747537,1747925,1748002,1754614,1754643,1762124,1762183,1762203,1763792,1772948,1777014,1779719
+/tomcat/tc8.5.x/trunk:1735042,1737966,1743139-1743140,1744151,1747537,1747925,1748002,1754614,1754643,1762124,1762183,1762203,1763792,1772948,1777014,1779719,1782037
 
/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1637890,1637892,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,1649973,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,1655351,1655438,1655441,1655454,168,1656087,1656299,1656319,1656331,1656345,1656350,1656590,1656648-1656650,1656657,1657041,1657054,1657374,1657492,1657510,1657565,1657580,1657584,1657586,1657589,1657
 
592,1657607,1657609,1657682,1657907,1658207,1658734,1658781,1658790,1658799,1658802,1658804,1658833,1658840,1658966,1659043,1659053,1659059,1659174,1659184,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,1661770,1661867,1661972,1661990,1662200,1662308-1662309,1662548,1662614,1662696,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-1
 
666387,1666494,1666496,1666552,1666569,1666579,137,149,1666757,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,1681699,1681701,1681729,1681770,1681779,1681793,1681807,1681837-1681838,1681854,1681862,1681958,1682028,1682033,1682311,1682315,1682317,1682320,168232

svn commit: r1782037 - in /tomcat/tc8.5.x/trunk: conf/catalina.properties java/org/apache/tomcat/util/http/parser/HttpParser.java webapps/docs/changelog.xml webapps/docs/config/systemprops.xml

2017-02-07 Thread csutherl
Author: csutherl
Date: Tue Feb  7 18:13:40 2017
New Revision: 1782037

URL: http://svn.apache.org/viewvc?rev=1782037&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=60594
Adding implementation of whitelist patch

Modified:
tomcat/tc8.5.x/trunk/conf/catalina.properties
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java
tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml
tomcat/tc8.5.x/trunk/webapps/docs/config/systemprops.xml

Modified: tomcat/tc8.5.x/trunk/conf/catalina.properties
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/conf/catalina.properties?rev=1782037&r1=1782036&r2=1782037&view=diff
==
--- tomcat/tc8.5.x/trunk/conf/catalina.properties (original)
+++ tomcat/tc8.5.x/trunk/conf/catalina.properties Tue Feb  7 18:13:40 2017
@@ -146,3 +146,6 @@ tomcat.util.buf.StringCache.byte.enabled
 #tomcat.util.buf.StringCache.char.enabled=true
 #tomcat.util.buf.StringCache.trainThreshold=50
 #tomcat.util.buf.StringCache.cacheSize=5000
+
+# Allow for changes to HTTP request validation
+#tomcat.util.http.parser.HttpParser.requestTargetAllow=|

Modified: 
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java?rev=1782037&r1=1782036&r2=1782037&view=diff
==
--- 
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java 
(original)
+++ 
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java 
Tue Feb  7 18:13:40 2017
@@ -19,6 +19,9 @@ package org.apache.tomcat.util.http.pars
 import java.io.IOException;
 import java.io.StringReader;
 
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
+
 /**
  * HTTP header value parser implementation. Parsing HTTP headers as per RFC2616
  * is not always as simple as it first appears. For headers that only use 
tokens
@@ -34,6 +37,8 @@ import java.io.StringReader;
  */
 public class HttpParser {
 
+private static final Log log = LogFactory.getLog(HttpParser.class);
+
 private static final int ARRAY_SIZE = 128;
 
 private static final boolean[] IS_CONTROL = new boolean[ARRAY_SIZE];
@@ -42,8 +47,22 @@ public class HttpParser {
 private static final boolean[] IS_HEX = new boolean[ARRAY_SIZE];
 private static final boolean[] IS_NOT_REQUEST_TARGET = new 
boolean[ARRAY_SIZE];
 private static final boolean[] IS_HTTP_PROTOCOL = new boolean[ARRAY_SIZE];
+private static final boolean[] REQUEST_TARGET_ALLOW = new 
boolean[ARRAY_SIZE];
 
 static {
+String prop = 
System.getProperty("tomcat.util.http.parser.HttpParser.requestTargetAllow");
+if (prop != null) {
+for (int i = 0; i < prop.length(); i++) {
+char c = prop.charAt(i);
+if (c == '{' || c == '}' || c == '|') {
+REQUEST_TARGET_ALLOW[c] = true;
+} else {
+log.warn("HttpParser: Character '" + c + "' is not allowed 
and will continue "
++ "being rejected.");
+}
+}
+}
+
 for (int i = 0; i < ARRAY_SIZE; i++) {
 // Control> 0-31, 127
 if (i < 32 || i == 127) {
@@ -74,7 +93,9 @@ public class HttpParser {
 if (IS_CONTROL[i] || i > 127 ||
 i == ' ' || i == '\"' || i == '#' || i == '<' || i == '>' 
|| i == '\\' ||
 i == '^' || i == '`'  || i == '{' || i == '|' || i == '}') 
{
-IS_NOT_REQUEST_TARGET[i] = true;
+if (!REQUEST_TARGET_ALLOW[i]) {
+IS_NOT_REQUEST_TARGET[i] = true;
+}
 }
 
 // Not valid for HTTP protocol

Modified: tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml?rev=1782037&r1=1782036&r2=1782037&view=diff
==
--- tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Tue Feb  7 18:13:40 2017
@@ -103,6 +103,12 @@
 Ensure that executor thread pools used with connectors, pre-start the
 configured minimum number of idle threads. (markt)
   
+  
+60594: Allow some invalid characters that were recently
+restricted to be processed in requests by using the system property
+tomcat.util.http.parser.HttpParser.requestTargetAllow.
+(csutherl)
+  
 
   
   

Modified: tomcat/tc8.5.x/trunk/webapps/docs/config/systemprops.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/webapps/docs/config/systemprops.xml?rev=1782037&r1=1782036&r2=1782037&view=diff
==

[Bug 56027] Unable to use TCN on RHEL6 boxes if box is booted in fips mode

2017-02-07 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=56027

--- Comment #24 from Christopher Schultz  ---
(In reply to Ben Mason from comment #21)
> I am still getting this error as well. Is this the key length issue? It is
> unclear in this thread whether that was ever fixed. Rob Sanders said he
> filed another bug, but it appears it was deleted.

Just a note for archival purposes: the bug referenced above was certainly NOT
deleted. It was CLOSED FIXED.

-- 
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 on tomcat-7-trunk

2017-02-07 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-7-trunk while 
building . Full details are available at:
https://ci.apache.org/builders/tomcat-7-trunk/builds/665

Buildbot URL: https://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] 1781989
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



svn commit: r18201 - in /release/tomcat: tomcat-8/v8.5.9/ tomcat-9/v9.0.0.M15/

2017-02-07 Thread markt
Author: markt
Date: Tue Feb  7 12:42:19 2017
New Revision: 18201

Log:
Drop old releases from mirrors

Removed:
release/tomcat/tomcat-8/v8.5.9/
release/tomcat/tomcat-9/v9.0.0.M15/


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



svn commit: r1781998 - in /tomcat/native/tags/TOMCAT_NATIVE_1_2_11: ./ build.properties.default native/include/tcn_version.h

2017-02-07 Thread markt
Author: markt
Date: Tue Feb  7 12:30:09 2017
New Revision: 1781998

URL: http://svn.apache.org/viewvc?rev=1781998&view=rev
Log:
Tag 1.2.11

Added:
tomcat/native/tags/TOMCAT_NATIVE_1_2_11/
  - copied from r1781997, tomcat/native/trunk/
Modified:
tomcat/native/tags/TOMCAT_NATIVE_1_2_11/build.properties.default
tomcat/native/tags/TOMCAT_NATIVE_1_2_11/native/include/tcn_version.h

Modified: tomcat/native/tags/TOMCAT_NATIVE_1_2_11/build.properties.default
URL: 
http://svn.apache.org/viewvc/tomcat/native/tags/TOMCAT_NATIVE_1_2_11/build.properties.default?rev=1781998&r1=1781997&r2=1781998&view=diff
==
--- tomcat/native/tags/TOMCAT_NATIVE_1_2_11/build.properties.default (original)
+++ tomcat/native/tags/TOMCAT_NATIVE_1_2_11/build.properties.default Tue Feb  7 
12:30:09 2017
@@ -20,7 +20,7 @@ version.major=1
 version.minor=2
 version.build=11
 version.patch=0
-version.suffix=-dev
+version.suffix=
 
 # - Default Base Path for Dependent Packages -
 # Please note this path must be absolute, not relative,

Modified: tomcat/native/tags/TOMCAT_NATIVE_1_2_11/native/include/tcn_version.h
URL: 
http://svn.apache.org/viewvc/tomcat/native/tags/TOMCAT_NATIVE_1_2_11/native/include/tcn_version.h?rev=1781998&r1=1781997&r2=1781998&view=diff
==
--- tomcat/native/tags/TOMCAT_NATIVE_1_2_11/native/include/tcn_version.h 
(original)
+++ tomcat/native/tags/TOMCAT_NATIVE_1_2_11/native/include/tcn_version.h Tue 
Feb  7 12:30:09 2017
@@ -69,7 +69,7 @@ extern "C" {
  *  This symbol is defined for internal, "development" copies of TCN. This
  *  symbol will be #undef'd for releases.
  */
-#define TCN_IS_DEV_VERSION  1
+#define TCN_IS_DEV_VERSION  0
 
 
 /** The formatted string of APU's version */



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



svn commit: r1781996 - /tomcat/native/tags/TOMCAT_NATIVE_1_2_11/

2017-02-07 Thread markt
Author: markt
Date: Tue Feb  7 12:26:40 2017
New Revision: 1781996

URL: http://svn.apache.org/viewvc?rev=1781996&view=rev
Log:
Delete faulty tag

Removed:
tomcat/native/tags/TOMCAT_NATIVE_1_2_11/


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



svn commit: r1781995 - /tomcat/native/tags/TOMCAT_NATIVE_1_2_11/

2017-02-07 Thread markt
Author: markt
Date: Tue Feb  7 12:23:59 2017
New Revision: 1781995

URL: http://svn.apache.org/viewvc?rev=1781995&view=rev
Log:
Tag 1.2.11

Added:
tomcat/native/tags/TOMCAT_NATIVE_1_2_11/
  - copied from r1781994, tomcat/native/trunk/


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



svn commit: r1781994 - /tomcat/native/trunk/test/org/apache/tomcat/

2017-02-07 Thread markt
Author: markt
Date: Tue Feb  7 12:22:47 2017
New Revision: 1781994

URL: http://svn.apache.org/viewvc?rev=1781994&view=rev
Log:
Update external for unit tests

Modified:
tomcat/native/trunk/test/org/apache/tomcat/   (props changed)

Propchange: tomcat/native/trunk/test/org/apache/tomcat/
--
--- svn:externals (original)
+++ svn:externals Tue Feb  7 12:22:47 2017
@@ -1 +1 @@
-^/tomcat/trunk/test/org/apache/tomcat/jni@1781102 jni
+^/tomcat/trunk/test/org/apache/tomcat/jni@1781163 jni



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



[Bug 60698] getContentLength returns -1 for requests without body

2017-02-07 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=60698

Remy Maucherat  changed:

   What|Removed |Added

Version|7.0.73  |8.5.x-trunk
 Status|NEW |NEEDINFO
  Component|Connectors  |Connectors
Product|Tomcat 7|Tomcat 8
   Severity|major   |enhancement
   Target Milestone|--- |

--- Comment #1 from Remy Maucherat  ---
This will need to be investigated before making a change. I consider that
getContentLength reflects the content-length header and "unknown" allows the
current behavior.

The Tomcat code accommodates the current behavior (Request.parseParameters),
and I think user code will have to check for the transfer-encoding header
anyway rather to rely on -1.

Conclusion: not convinced. I'll move this to 8.5 as well.

-- 
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: r1781989 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java webapps/docs/changelog.xml

2017-02-07 Thread markt
Author: markt
Date: Tue Feb  7 12:04:15 2017
New Revision: 1781989

URL: http://svn.apache.org/viewvc?rev=1781989&view=rev
Log:
Ensure that executor thread pools used with connectors pre-start the configured 
minimum number of idle threads.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)

tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb  7 12:04:15 2017
@@ -1,3 +1,3 @@
 
/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,1681703,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,1689921,1692850,1693093,1693108,1693324,1694060,1694115,1694291,1694427,1694431,1694503,1694549,1694789,1694873,1694881,1695356,1695372,1695823-1695825,1696200,1696281,1696379,1696468,1700608,1700871,1700897,1700978,1701094,1701124,1701608,1701668,1701676,1701766,1701944,1702248,1702252,1702314,1702390,1702723,1702725,1702728,1702730,1702733,1702735,1702737,1702739,1702
 
742,1702744,1702748,1702751,1702754,1702758,1702760,1702763,1702766,1708779,1708782,1708806,1709314,1709670,1710347,1710442,1710448,1710490,1710574,1710578,1712226,1712229,1712235,1712255,1712618,1712649,1712655,1712860,1712899,1712903,1712906,1712913,1712926,1712975,1713185,1713262,1713287,1713613,1713621,1713872,1713976,1713994,1713998,1714004,1714013,1714059,1714538,1714580,1715189,1715207,1715544,1715549,1715637,1715639-1715645,1715667,1715683,1715866,1715978,1715981,1716216-1716217,1716355,1716414,1716421,1717208-1717209,1717257,1717283,1717288,1717291,1717421,1717517,1717529,1718797,1718840-1718843,1719348,1719357-1719358,1719400,1719491,1719737,1720235,1720396,1720442,1720446,1720450,1720463,1720658-1720660,1720756,1720816,1721813,1721818,1721831,1721861,1721867,1721882,1722523,1722527,1722800,1722926,1722941,1722997,1723130,1723440,1723488,1723890,1724434,1724674,1724792,1724803,1724902,1725128,1725131,1725154,1725167,1725911,1725921,1725929,1725963-1725965,1725970,1725974,1
 
726171-1726173,1726175,1726179-1726182,1726190-1726191,1726195-1726200,1726203,1726226,1726576,1726630,1726992,1727029,1727037,1727671,1727676,1727900,1728028,1728092,1728439,1728449,1729186,1729362,1731009,1731303,1731867,1731872,1731874,1731876,1731885,1731947,1731955,1731959,1731977,1731984,1732360,1732490,1732672,1732902,1733166,1733603,1733619,1733735,1733752,1733764,1733915,1733941,1733964,1734115,1734133,1734261,1734421,1734531,1736286,1737967,1738173,1738182,1738992,1739039,1739089-1739091,1739294,1739777,1739821,1739981,1740513,1740726,1741019,1741162,1741217,1743647,1743681,1744152,1744272,1746732,1746750,1752739,1754615,1755886,1756018,1759565,1761686,1762173,1762206,1766280,1767507-1767508,1767653,1767656,1769267,1772949,1773521,1773527,1774104,1777015,1777213,1779330
-/tomcat/tc8.5.x/trunk:1735579,1736839,1737199,1737966,1738042,1738044,1738162,1738165,1738178,1739157,1739173,1739177,1739476,1740132,1740521,1740536,1740804,1740811,1740981,1741165,1741174,1741182,1741191,1741203,1741209,1741226,1741233,1741410,1742277,1743118,1743126,1743139-1743140,1743718,1743722,1743724,1744059,1744127,1744151,1744232,1744377,1744687,1744698,1744706,1745228,1746940,1748548,1748716,1749288,1749375,1749668-1749669,1750016,1750057,1750976,1751000,1751062,1751098,1754112,1754144,1754282,1754312,1754614,1754726,1754806,1754878,1754889,1754894,175

buildbot failure in on tomcat-8-trunk

2017-02-07 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-8-trunk while 
building . Full details are available at:
https://ci.apache.org/builders/tomcat-8-trunk/builds/915

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

Buildslave for this Build: silvanus_ubuntu

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



[Bug 60702] New: JSP debugging is isn't working after upgrade from 8.0.29 to 8.0.39

2017-02-07 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=60702

Bug ID: 60702
   Summary: JSP debugging is isn't working after upgrade from
8.0.29 to 8.0.39
   Product: Tomcat 8
   Version: 8.0.39
  Hardware: PC
Status: NEW
  Severity: regression
  Priority: P2
 Component: Jasper
  Assignee: dev@tomcat.apache.org
  Reporter: manme...@gmail.com
  Target Milestone: 

Hi,

Since the upgrade to 8.0.39 from 8.0.29 I cannot debug into any JSPs. My debug
args for standalone tomcat is the following:

set DEBUG_ARGS=-Xdebug -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005


I have had no issues with the older versions, and compared my code base to
confirm that this is the tomcat upgrade which changed the behaviour. Is there
any particular setting that I need to turn on/off?

-- 
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: r1781988 - in /tomcat/tc8.0.x/trunk: ./ java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java webapps/docs/changelog.xml

2017-02-07 Thread markt
Author: markt
Date: Tue Feb  7 11:07:40 2017
New Revision: 1781988

URL: http://svn.apache.org/viewvc?rev=1781988&view=rev
Log:
Ensure that executor thread pools used with connectors pre-start the configured 
minimum number of idle threads.

Modified:
tomcat/tc8.0.x/trunk/   (props changed)

tomcat/tc8.0.x/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java
tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc8.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb  7 11:07:40 2017
@@ -1,2 +1,2 @@
 
/tomcat/tc8.5.x/trunk:1735042,1737966,1743139-1743140,1744151,1747537,1747925,1748002,1754614,1754643,1762124,1762183,1762203,1763792,1772948,1777014,1779719
-/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1637890,1637892,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,1649973,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,1655351,1655438,1655441,1655454,168,1656087,1656299,1656319,1656331,1656345,1656350,1656590,1656648-1656650,1656657,1657041,1657054,1657374,1657492,1657510,1657565,1657580,1657584,1657586,1657589,1657
 
592,1657607,1657609,1657682,1657907,1658207,1658734,1658781,1658790,1658799,1658802,1658804,1658833,1658840,1658966,1659043,1659053,1659059,1659174,1659184,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,1661770,1661867,1661972,1661990,1662200,1662308-1662309,1662548,1662614,1662696,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-1
 
666387,1666494,1666496,1666552,1666569,1666579,137,149,1666757,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,1681699,1681701,1681729,1681770,1681779,1681793,1681807,1681837-1681838,1681854,1681862,1681958,1682028,1682033,1682311,1682315,1682317,1682320,1682324,1682330,1682842,1684172,1684366,1684383,1684526-168452
 
7,1684549-1684550,1685556,1685591,1685739,1685744,1685772,1685816,1685826,1685891,1687242,1687261,1687268,1687340,1687544,1687551,1688563,1688841,1688878,165,1688896,1688901,1689345-1689346,1689357,

svn commit: r1781987 - in /tomcat/tc8.5.x/trunk: ./ java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java webapps/docs/changelog.xml

2017-02-07 Thread markt
Author: markt
Date: Tue Feb  7 11:03:45 2017
New Revision: 1781987

URL: http://svn.apache.org/viewvc?rev=1781987&view=rev
Log:
Ensure that executor thread pools used with connectors, pre-start the 
configured minimum number of idle threads.

Modified:
tomcat/tc8.5.x/trunk/   (props changed)

tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java
tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc8.5.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb  7 11:03:45 2017
@@ -1 +1 @@
-/tomcat/trunk:1734785,1734799,1734845,1734928,1735041,1735044,1735480,1735577,1735597,1735599-1735600,1735615,1736145,1736162,1736209,1736280,1736297,1736299,1736489,1736646,1736703,1736836,1736849,1737104-1737105,1737112,1737117,1737119-1737120,1737155,1737157,1737192,1737280,1737339,1737632,1737664,1737715,1737748,1737785,1737834,1737860,1737903,1737959,1738005,1738007,1738014-1738015,1738018,1738022,1738039,1738043,1738059-1738060,1738147,1738149,1738174-1738175,1738261,1738589,1738623-1738625,1738643,1738816,1738850,1738855,1738946-1738948,1738953-1738954,1738979,1738982,1739079-1739081,1739087,1739113,1739153,1739172,1739176,1739191,1739474,1739726,1739762,1739775,1739814,1739817-1739818,1739975,1740131,1740324,1740465,1740495,1740508-1740509,1740520,1740535,1740707,1740803,1740810,1740969,1740980,1740991,1740997,1741015,1741033,1741036,1741058,1741060,1741080,1741147,1741159,1741164,1741173,1741181,1741190,1741197,1741202,1741208,1741213,1741221,1741225,1741232,1741409,1741501
 
,1741677,1741892,1741896,1741984,1742023,1742042,1742071,1742090,1742093,1742101,1742105,1742111,1742139,1742146,1742148,1742166,1742181,1742184,1742187,1742246,1742248-1742251,1742263-1742264,1742268,1742276,1742369,1742387,1742448,1742509-1742512,1742917,1742919,1742933,1742975-1742976,1742984,1742986,1743019,1743115,1743117,1743124-1743125,1743134,1743425,1743554,1743679,1743696-1743698,1743700-1743701,1744058,1744064-1744065,1744125,1744194,1744229,1744270,1744323,1744432,1744684,1744697,1744705,1744713,1744760,1744786,1745083,1745142-1745143,1745145,1745177,1745179-1745180,1745227,1745248,1745254,1745337,1745467,1745473,1745576,1745735,1745744,1746304,1746306-1746307,1746319,1746327,1746338,1746340-1746341,1746344,1746427,1746441,1746473,1746490,1746492,1746495-1746496,1746499-1746501,1746503-1746507,1746509,1746549,1746551,1746554,1746556,1746558,1746584,1746620,1746649,1746724,1746939,1746989,1747014,1747028,1747035,1747210,1747225,1747234,1747253,1747404,1747506,1747536,1747
 
924,1747980,1747993,1748001,1748253,1748452,1748547,1748629,1748676,1748715,1749287,1749296,1749328,1749373,1749465,1749506,1749508,1749665-1749666,1749763,1749865-1749866,1749898,1749978,1749980,1750011,1750015,1750056,1750480,1750617,1750634,1750692,1750697,1750700,1750703,1750707,1750714,1750718,1750723,1750774,1750899,1750975,1750995,1751061,1751097,1751173,1751438,1751447,1751463,1751702,1752212,1752737,1752745,1753078,1753080,1753358,1753363,1754111,1754140-1754141,1754281,1754310,1754445,1754467,1754494,1754496,1754528,1754532-1754533,1754613,1754714,1754874,1754941,1754944,1754950-1754951,1755005,1755007,1755009,1755132,1755180-1755181,1755185,1755190,1755204-1755206,1755208,1755214,1755224,1755227,1755230,1755629,1755646-1755647,1755650,1755653,1755675,1755680,1755683,1755693,1755717,1755731-1755737,1755812,1755828,1755884,1755890,1755918-1755919,1755942,1755958,1755960,1755970,1755993,1756013,1756019,1756039,1756056,1756083-1756114,1756175,1756288-1756289,1756408-1756410,1
 
756778,1756798,1756878,1756898,1756939,1757123-1757124,1757126,1757128,1757132-1757133,1757136,1757145,1757167-1757168,1757175,1757180,1757182,1757195,1757271,1757278,1757347,1757353-1757354,1757363,1757374,1757399,1757406,1757408,1757485,1757495,1757499,1757527,1757578,1757684,1757722,1757727,1757790,1757799,1757813,1757853,1757883,1757903,1757976,1757997,1758000,1758058,1758072-1758075,1758078-1758079,1758223,1758257,1758261,1758276,1758292,1758369,1758378-1758383,1758421,1758423,1758425-1758427,1758430,1758443,1758448,1758459,1758483,1758486-1758487,1758499,1758525,1758556,1758580,1758582,1758584,1758588,1758842,1759019,1759212,1759224,1759227,1759252,1759274,1759513-1759516,1759611,1759757,1759785-1759790,1760005,1760022,1760109-1760110,1760135,1760200-1760201,1760227,1760300,1760397,1760446,1760454,1760640,1760648,1761057,1761422,1761491,1761498,1761500-1761501,1761550,1761553,1761572,1761574,1761625-1761626,1761628,1761682,1761740,1761752,1762051-1762053,1762123,1762168,176217
 
2,1762182,1762201-1762202,1762204,1762208,1762288,1762296,1762324,1762348,1762353,1762362,1762374,1762492,1762503,1762505,1762541,1762608,1762710,1762753,1762766,1762769,1762944,1762947,1762953,1763167,1763179,1763232,1763259,1763271-1763272,1763276-1763277,1763319-1763320,1763370,1763372,1763375,1763377,1763393,1763412,1763430,1763450,1763462,1763505,1763511-176

svn commit: r1781986 - in /tomcat/trunk: java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java webapps/docs/changelog.xml

2017-02-07 Thread markt
Author: markt
Date: Tue Feb  7 11:00:13 2017
New Revision: 1781986

URL: http://svn.apache.org/viewvc?rev=1781986&view=rev
Log:
Ensure that executor thread pools used with connectors, pre-start the 
configured minimum number of idle threads.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java?rev=1781986&r1=1781985&r2=1781986&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java 
Tue Feb  7 11:00:13 2017
@@ -63,19 +63,23 @@ public class ThreadPoolExecutor extends
 
 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long 
keepAliveTime, TimeUnit unit, BlockingQueue workQueue, 
RejectedExecutionHandler handler) {
 super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, 
handler);
+prestartAllCoreThreads();
 }
 
 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long 
keepAliveTime, TimeUnit unit, BlockingQueue workQueue, ThreadFactory 
threadFactory,
 RejectedExecutionHandler handler) {
 super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, 
threadFactory, handler);
+prestartAllCoreThreads();
 }
 
 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long 
keepAliveTime, TimeUnit unit, BlockingQueue workQueue, ThreadFactory 
threadFactory) {
 super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, 
threadFactory, new RejectHandler());
+prestartAllCoreThreads();
 }
 
 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long 
keepAliveTime, TimeUnit unit, BlockingQueue workQueue) {
 super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, 
new RejectHandler());
+prestartAllCoreThreads();
 }
 
 public long getThreadRenewalDelay() {

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1781986&r1=1781985&r2=1781986&view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Tue Feb  7 11:00:13 2017
@@ -107,6 +107,10 @@
 warning that the algorithm does not support the
 certificateVerificationDepth configuration option. (markt)
   
+  
+Ensure that executor thread pools used with connectors, pre-start the
+configured minimum number of idle threads. (markt)
+  
 
   
   



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



Re: Read events suspend/resume logic in websocket impl to achieve backpressure

2017-02-07 Thread Violeta Georgieva
Hi,

2017-02-07 11:54 GMT+02:00 Rémy Maucherat :
>
> 2017-02-06 20:55 GMT+01:00 Violeta Georgieva :
>
> > Hi,
> >
> > Currently JSR356 provides possibility to add message handlers in order
to
> > receive web socket
> > messages but there is no way to instruct the web socket implementation
to
> > suspend for a while
> > the incoming messages (backpressure) so that the application is able to
> > process the already delivered messages.
> > The other web containers (Jetty, Undertow) supports such functionality
so I
> > would like to introduce it in Tomcat.
> > Here [1] I prepared one possible implementation.
> >
> > What do you think about this feature and the proposed implementation?
> >
>
> I don't understand why this is that useful (it has to be used in a smart
> way that improves scalability by the application, I'm not convinced this
> can happen) but more importantly it's a proprietary API.

This functionality is needed in order to provide a proper implementation of
reactive streams for Tomcat.
https://github.com/reactive-streams/reactive-streams-jvm

Imagine that the component that is consuming the messages cannot accept
anymore.
On one hand there is no way to tell Tomcat to stop sending messages, on the
other non-blocking is expected.
A solution would be to buffer the messages in the memory, but the buffering
cannot be done without limits.
So if there is an API to tell Tomcat to stop reading it will be better than
buffering in the memory, which easily can lead to out of memory issues.

As there is no a standard, the API is proprietary. But it is needed and
other servers also provided it.
For sure there are other use cases than the one I mentioned above.

Regards,
Violeta


> Rémy
>
> >
> > Regards,
> > Violeta
> > [1] https://github.com/violetagg/tomcat/commits/ws-suspend-resume
> >


[Bug 59163] TC Native 1.2.0 & later does not compile with openssl-fips

2017-02-07 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=59163

Mark Thomas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #1 from Mark Thomas  ---
I've successfully built tc-native with a FIPS enabled OpenSSL using tc-native
1.2.x trunk and OpenSSL 1.0.2k.

Further, I don't see anything the OpenSSL source that disables
SSL_TLSEXT_ERR_ALERT_FATAL when using FIPS.

-- 
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 58263] Crash during TLS handshake

2017-02-07 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58263

Mark Thomas  changed:

   What|Removed |Added

Summary|APR SSL connector crashes   |Crash during TLS handshake

-- 
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 56027] Unable to use TCN on RHEL6 boxes if box is booted in fips mode

2017-02-07 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=56027

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #23 from Mark Thomas  ---
This should no longer be an issue in 1.2.x.

The fips mode setting has been fixed.

SSL_TMP_KEYS_INIT does not exist in 1.2.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



[Bug 53605] use tcnative-1.1.24 Tomcat shutdown still crash

2017-02-07 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=53605

Mark Thomas  changed:

   What|Removed |Added

 Resolution|--- |WORKSFORME
 Status|NEEDINFO|RESOLVED

--- Comment #4 from Mark Thomas  ---
No information provided on how to reproduce this.

There have been fixes around the acceptor thread since this report.

The OP is using JBoss rather than Tomcat (which may introduce subtle
differences).

I don't recall any recent reports around APR/native crashes on shutdown.

If you still experience this issue, or something similar, please open a new bug
report and provide details of how to reproduce this with a current Tomacat and
tc-native (i.e.1.2.x) distribution.

-- 
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 53605] use tcnative-1.1.24 Tomcat shutdown still crash

2017-02-07 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=53605

Mark Thomas  changed:

   What|Removed |Added

  Attachment #29116|application/octet-stream|text/plain
  mime type||

-- 
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 59797] Per thread error hash grows indefinitely

2017-02-07 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=59797

Mark Thomas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Mark Thomas  ---
Thanks for the patch. It has been applied (with some changes on the Windows
side - primarily to handle x64 and to avoid a crash on JVM termination) to
1.2.x and will be included in 1.2.11 onwards.

-- 
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: svn commit: r1781952 - in /tomcat/native/trunk/native: include/ssl_private.h src/ssl.c

2017-02-07 Thread Mark Thomas

On 07/02/17 08:59, Mark Thomas wrote:

On 06/02/17 23:55, therealnewo...@gmail.com wrote:

On Mon, Feb 6, 2017 at 6:08 PM, Mark Thomas  wrote:

On 06/02/17 22:55, Mark Thomas wrote:


On 06/02/17 21:20, therealnewo...@gmail.com wrote:


Mark,

If there is anything I can do to help work on the patch I will,
however as I mentioned in the bug I don't have a windows environment
so I am basically useless if that is where the issues exist.



Yes, this is Windows.

The problem with the original approach was that DLL_THREAD_DETACH was
being called for all threads - including JVM threads stopping after the
native library had effectively closed down. Hence the crash.

I'm currently trying to use the same approach as used for Linux but I'm
not seeing the thread local being destroyed when the associated thread
exits. I'm still debugging why.

Any hints, suggestions etc. welcome.



Looking at the APR docs and source, the destructor function is only
called
when apr_threadkey_private_delete is called and I don't see that being
called anywhere. How is this working on Linux? I suspect it isn't but I
haven't set up a build env to confirm that at this point.



It should work on linux because pthreads guarantees that the
destructor will be called on thread exit if the value is not NULL. In
fact if you call pthread_key_delete the destructor is explicitly not
called and it is up to the caller to handle any clean up. I used
openssl's approach which obviously does not use apr but uses pthreads
directly and did a rough mapping on apr's approach to thread locals.
WIndows does not have the concept of a destructor for their normal
thread locals so that is why openssl used the thread detatch mechanism
and I did too. I do know that if you use windows fibers instead of
threads there is destructor but I didn't think that was an option with
how tomcat native was being used but I am not an expert.


Thanks for the explanation.

We don't have any control over the native implementation of these
threads as they are all JVM created.

I'll go back to looking at if I can find a way to get the
DLL_THREAD_DETACH approach to work without crashing.


Should be fixed now.

Thanks again for the help.

Mark


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



svn commit: r1781984 - in /tomcat/native/trunk/native: include/tcn_api.h os/win32/system.c src/jnilib.c

2017-02-07 Thread markt
Author: markt
Date: Tue Feb  7 10:17:25 2017
New Revision: 1781984

URL: http://svn.apache.org/viewvc?rev=1781984&view=rev
Log:
Further follow-up to r1781943
Fix crash on JVM shutdown (caused by global pool npe)

Modified:
tomcat/native/trunk/native/include/tcn_api.h
tomcat/native/trunk/native/os/win32/system.c
tomcat/native/trunk/native/src/jnilib.c

Modified: tomcat/native/trunk/native/include/tcn_api.h
URL: 
http://svn.apache.org/viewvc/tomcat/native/trunk/native/include/tcn_api.h?rev=1781984&r1=1781983&r2=1781984&view=diff
==
--- tomcat/native/trunk/native/include/tcn_api.h (original)
+++ tomcat/native/trunk/native/include/tcn_api.h Tue Feb  7 10:17:25 2017
@@ -36,10 +36,14 @@
  * Tomcat Native Public API
  */
 
-/* Return global apr pool
+/* Return global apr pool, creating it if necessary
  */
 apr_pool_t *tcn_get_global_pool(void);
 
+/* Return global apr pool, optionally creating it if necessary
+ */
+apr_pool_t *tcn_get_global_pool_int(int);
+
 /* Return global String class
  */
 jclass tcn_get_string_class(void);

Modified: tomcat/native/trunk/native/os/win32/system.c
URL: 
http://svn.apache.org/viewvc/tomcat/native/trunk/native/os/win32/system.c?rev=1781984&r1=1781983&r2=1781984&view=diff
==
--- tomcat/native/trunk/native/os/win32/system.c (original)
+++ tomcat/native/trunk/native/os/win32/system.c Tue Feb  7 10:17:25 2017
@@ -102,7 +102,9 @@ DllMain(
  */
 case DLL_THREAD_DETACH:
 #ifdef HAVE_OPENSSL
-SSL_thread_exit();
+if (tcn_get_global_pool_int(0)) {
+SSL_thread_exit();
+}
 #endif
 break;
 

Modified: tomcat/native/trunk/native/src/jnilib.c
URL: 
http://svn.apache.org/viewvc/tomcat/native/trunk/native/src/jnilib.c?rev=1781984&r1=1781983&r2=1781984&view=diff
==
--- tomcat/native/trunk/native/src/jnilib.c (original)
+++ tomcat/native/trunk/native/src/jnilib.c Tue Feb  7 10:17:25 2017
@@ -454,7 +454,12 @@ TCN_IMPLEMENT_CALL(jint, Library, size)(
 
 apr_pool_t *tcn_get_global_pool()
 {
-if (!tcn_global_pool) {
+return tcn_get_global_pool_int(1);
+}
+
+apr_pool_t *tcn_get_global_pool_int(int create)
+{
+if (!tcn_global_pool && create) {
 if (apr_pool_create(&tcn_global_pool, NULL) != APR_SUCCESS) {
 return NULL;
 }



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



Re: Read events suspend/resume logic in websocket impl to achieve backpressure

2017-02-07 Thread Rémy Maucherat
2017-02-06 20:55 GMT+01:00 Violeta Georgieva :

> Hi,
>
> Currently JSR356 provides possibility to add message handlers in order to
> receive web socket
> messages but there is no way to instruct the web socket implementation to
> suspend for a while
> the incoming messages (backpressure) so that the application is able to
> process the already delivered messages.
> The other web containers (Jetty, Undertow) supports such functionality so I
> would like to introduce it in Tomcat.
> Here [1] I prepared one possible implementation.
>
> What do you think about this feature and the proposed implementation?
>

I don't understand why this is that useful (it has to be used in a smart
way that improves scalability by the application, I'm not convinced this
can happen) but more importantly it's a proprietary API.

Rémy

>
> Regards,
> Violeta
> [1] https://github.com/violetagg/tomcat/commits/ws-suspend-resume
>


Re: Read events suspend/resume logic in websocket impl to achieve backpressure

2017-02-07 Thread Violeta Georgieva
Hi,

2017-02-07 9:55 GMT+02:00 Martin Grigorov :
>
> Hi Violeta,
>
> On Mon, Feb 6, 2017 at 8:55 PM, Violeta Georgieva 
> wrote:
>
> > Hi,
> >
> > Currently JSR356 provides possibility to add message handlers in order
to
> > receive web socket
> > messages but there is no way to instruct the web socket implementation
to
> > suspend for a while
> > the incoming messages (backpressure) so that the application is able to
> > process the already delivered messages.
> > The other web containers (Jetty, Undertow) supports such functionality
so I
> > would like to introduce it in Tomcat.
> > Here [1] I prepared one possible implementation.
> >
> > What do you think about this feature and the proposed implementation?
> >
>
> It think it would be better to create a Pull Request even if the work is
> not complete.
> This way others will be able to comment on the changes and everyone here
at
> dev@ will see the comments.
> At the moment it is possible to comment on your commits (in your repo) but
> then only you will receive the feedback.
> With [2] it is much easier to see the whole diff but it is not possible to
> comment on it.

Here is the PR
https://github.com/apache/tomcat/pull/42

Regards,
Violeta

>
> >
> > Regards,
> > Violeta
> > [1] https://github.com/violetagg/tomcat/commits/ws-suspend-resume
> >
>
> [2]
>
https://github.com/apache/tomcat/compare/trunk...violetagg:ws-suspend-resume


[GitHub] tomcat pull request #42: Read events suspend/resume logic in websocket impl ...

2017-02-07 Thread violetagg
GitHub user violetagg opened a pull request:

https://github.com/apache/tomcat/pull/42

Read events suspend/resume logic in websocket impl to achieve backpressure

Hi,

Currently JSR356 provides possibility to add message handlers in order to 
receive web socket
messages but there is no way to instruct the web socket implementation to 
suspend for a while
the incoming messages (backpressure) so that the application is able to 
process the already delivered messages.
The other web containers (Jetty, Undertow) supports such functionality so I 
would like to introduce it in Tomcat.
I prepared one possible implementation.

What do you think about this feature and the proposed implementation?
 
Regards,
Violeta

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/violetagg/tomcat ws-suspend-resume

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/tomcat/pull/42.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #42


commit c9c9619ec33fd6d8971752a91fb9bc7c81fd0c87
Author: Violeta Georgieva 
Date:   2017-01-17T17:47:02Z

Format the code

commit 9efda586f01fd4986a296ee1a9adb9fd9c498c6f
Author: Violeta Georgieva 
Date:   2017-01-18T07:01:56Z

Add WsSession suspend/resume functionality




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



Re: svn commit: r1781952 - in /tomcat/native/trunk/native: include/ssl_private.h src/ssl.c

2017-02-07 Thread Mark Thomas

On 06/02/17 23:55, therealnewo...@gmail.com wrote:

On Mon, Feb 6, 2017 at 6:08 PM, Mark Thomas  wrote:

On 06/02/17 22:55, Mark Thomas wrote:


On 06/02/17 21:20, therealnewo...@gmail.com wrote:


Mark,

If there is anything I can do to help work on the patch I will,
however as I mentioned in the bug I don't have a windows environment
so I am basically useless if that is where the issues exist.



Yes, this is Windows.

The problem with the original approach was that DLL_THREAD_DETACH was
being called for all threads - including JVM threads stopping after the
native library had effectively closed down. Hence the crash.

I'm currently trying to use the same approach as used for Linux but I'm
not seeing the thread local being destroyed when the associated thread
exits. I'm still debugging why.

Any hints, suggestions etc. welcome.



Looking at the APR docs and source, the destructor function is only called
when apr_threadkey_private_delete is called and I don't see that being
called anywhere. How is this working on Linux? I suspect it isn't but I
haven't set up a build env to confirm that at this point.



It should work on linux because pthreads guarantees that the
destructor will be called on thread exit if the value is not NULL. In
fact if you call pthread_key_delete the destructor is explicitly not
called and it is up to the caller to handle any clean up. I used
openssl's approach which obviously does not use apr but uses pthreads
directly and did a rough mapping on apr's approach to thread locals.
WIndows does not have the concept of a destructor for their normal
thread locals so that is why openssl used the thread detatch mechanism
and I did too. I do know that if you use windows fibers instead of
threads there is destructor but I didn't think that was an option with
how tomcat native was being used but I am not an expert.


Thanks for the explanation.

We don't have any control over the native implementation of these 
threads as they are all JVM created.


I'll go back to looking at if I can find a way to get the 
DLL_THREAD_DETACH approach to work without crashing.


Mark


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



Re: TRACE incorrectly advertised as a supported HTTP method for custom servlet

2017-02-07 Thread Olivier Jaquemet

On 05/02/2017 17:29, Olivier Jaquemet wrote:

[...]
there is one case where the [allowTrace] configuration does not fully 
apply response to OPTIONS request for custom servlet (i.e. any non 
tomcat servlet inherting from HttpServlet).
In such case the TRACE methods is incorrectly listed in the Allow 
header sent back, even though it is correctly handled as not supported 
when executed.

[...]


I realized that opening a discussion for this matter may not have been 
the best way to process and keep track of the issue.

Therefore I just opened the followng bug report :
https://bz.apache.org/bugzilla/show_bug.cgi?id=60697

I wish I could submit a patch for this, but my knowledge of the Tomcat 
architecture is far from what would be required to properly address the 
issue. Specifically : how could HttpServlet implementation be modified 
to apply the allowTrace settings belonging to connectors implementation, 
while keeping code orthogonality...

I'm sure you will have the answer :)

Thanks
Olivier

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



[Bug 60698] New: getContentLength returns -1 for requests without body

2017-02-07 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=60698

Bug ID: 60698
   Summary: getContentLength returns -1 for requests without body
   Product: Tomcat 7
   Version: 7.0.73
  Hardware: All
OS: All
Status: NEW
  Severity: major
  Priority: P2
 Component: Connectors
  Assignee: dev@tomcat.apache.org
  Reporter: tobias.oberl...@sap.com
  Target Milestone: ---

javax.servlet.ServletRequest.getContentLength() specifies that it would return
"an integer containing the length of the request body or -1 if the length is
not known". 

However Catalina's implementation of that method [1] also returns -1 for
requests without request body. IMHO this violates the specification because
because it is known that an attempt to read the request body will yield zero
bytes.

The root cause of this problem lies in the implementation of
org.apache.coyote.Request.getContentLengthLong(). This method only checks the
presence of the "content-length" header and returns -1 if that header is not
set. Instead, it should also test for the absence of the "transfer-encoding"
header, and return 0 if that header is absent.

This would then also be compliant with what is described in the section
"Message Body Length" in the HTTP standard [2]: "If this is a request message
and none of the above are true, then the message body length is zero (no
message body is present)."

[1] org.apache.catalina.connector.Request.getContentLength()
[2] https://tools.ietf.org/html/rfc7230#section-3.3.3

-- 
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 60697] New: TRACE method incorrectly advertised as a supported HTTP method for custom servlet

2017-02-07 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=60697

Bug ID: 60697
   Summary: TRACE method incorrectly advertised as a supported
HTTP method for custom servlet
   Product: Tomcat 8
   Version: 8.5.x-trunk
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: olivier.jaque...@jalios.com
  Target Milestone: 

Created attachment 34728
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=34728&action=edit
Very simple webapp with one custom servlet to reproduce issue

OWASP recommends testing HTTP methods of remote servers using nmap
"http-methods" script:
https://www.owasp.org/index.php/Test_HTTP_Methods_(OTG-CONFIG-006)
One of the recommandations is to ensure TRACE method is disabled (let's just
omit the recommandation on PUT/DELETE in this discussion..)

For this matter, the 'Security Considerations' documentation of Tomcat states
the following :
 "The allowTrace attribute may be used to enable TRACE requests which can be
useful for debugging. Due to the way some browsers handle the response from a
TRACE request (which exposes the browser to an XSS attack), support for TRACE
requests is disabled by default."
http://tomcat.apache.org/tomcat-8.5-doc/security-howto.html#Connectors

And indeed, with the default configuration, the TRACE method is always refused
with the unsupported 405 HTTP status code.

However there is one case where the configuration does not fully apply :
response to OPTIONS request for custom servlet (i.e. any non tomcat servlet
extending HttpServlet).
In such case the TRACE methods is incorrectly listed in the Allow header sent
back, even though it is correctly handled as not supported when executed.

To reproduce:
1. deploy the attached war (containg all sources) in a tomcat instance
listening on port 80 (listing on port 80 is required for proper validation
through nmap https-methods script).
2. run the following unix commands :

** Test of custom Servlet :
  $> curl -v -X OPTIONS http://yourIP/test/
  BUG : 200 + Allow GET, HEAD, TRACE, OPTIONS
  Expected : 200 + Allow GET, HEAD, OPTIONS

  $> curl -v -X TRACE http://yourIP/test/
  OK : 405 + Allow: GET, HEAD, OPTIONS

  $> nmap -p 80 --script http-methods --script-args
http-methods.url-path='/test/' yourIP
  BUG : nmap reports "Potentially risky methods: TRACE"
(even though it is correctly locked down)

This leads several security products which relies on the same tests to
incorrectly report Tomcat as having a potential security risk, even though
there is none.


Technical explanation for this behavior on custom servlet :
- executing the TRACE method is correctly refused by CoyoteAdapter,
https://svn.apache.org/repos/asf/tomcat/tc8.5.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
- but executing the OPTIONS methods is handled by the parent class which DOES
NOT apply the connector "allowTrace" configuration and always sends the Allow
header listing TRACE method
https://svn.apache.org/repos/asf/tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServlet.java



To be fully complete on this matter, here is the behavior for JSPs and default
servlet :

** Test of JSP :
  $> curl -v -X OPTIONS http://yourIP/test.jsp
  OK : 405 + HTML message indicating "JSPs only permit GET POST or HEAD"
  (unrelated to this bug report, an "Allow: GET, POST, HEAD" header would be
expected here, there is none.
  this could be improved while sending "jsp.error.servlet.invalid.method"
message, see

https://svn.apache.org/repos/asf/tomcat/tc8.5.x/trunk/java/org/apache/jasper/compiler/Generator.java
)

  $> curl -v -X TRACE http://yourIP/test.jsp
  OK : 405 + Allow: OPTIONS
  (unrelated to this bug report, it seems the "Allow" header is incorrrect,
"Allow: GET, POST, HEAD" header would be expected here)

  nmap -p 80 --script http-methods --script-args
http-methods.url-path='/test.jsp' yourIP
  OK

** Test of default servlet :
  $> curl -v -X OPTIONS http://yourIP/index.html
  OK : 200 + Allow: GET, HEAD, POST, PUT, DELETE, OPTIONS

  $> curl -v -X TRACE http://yourIP/index.html
  OK : 405 + Allow: HEAD, DELETE, POST, GET, OPTIONS, PUT

  $> nmap -p 80 --script http-methods --script-args
http-methods.url-path='/index.html' yourIP
  OK (...) : nmap reports "Potentially risky methods: PUT DELETE"
  (this is unrelated to this bug report, but there could be some improvement
there too)

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