svn commit: r1822859 - /tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java

2018-02-01 Thread kfujino
Author: kfujino
Date: Thu Feb  1 08:40:38 2018
New Revision: 1822859

URL: http://svn.apache.org/viewvc?rev=1822859&view=rev
Log:
Simplify the code.
Not need to search the JdbcInterceptor chain to get PooledConnection.

Modified:

tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java

Modified: 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java?rev=1822859&r1=1822858&r2=1822859&view=diff
==
--- 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java
 Thu Feb  1 08:40:38 2018
@@ -19,9 +19,8 @@ package org.apache.tomcat.jdbc.pool.inte
 
 import java.lang.reflect.Method;
 
-import org.apache.tomcat.jdbc.pool.JdbcInterceptor;
+import org.apache.tomcat.jdbc.pool.ConnectionPool;
 import org.apache.tomcat.jdbc.pool.PooledConnection;
-import org.apache.tomcat.jdbc.pool.ProxyConnection;
 
 /**
  * Class that resets the abandoned timer on any activity on the
@@ -33,28 +32,30 @@ import org.apache.tomcat.jdbc.pool.Proxy
  */
 public class ResetAbandonedTimer extends AbstractQueryReport {
 
+private PooledConnection pcon;
+
 public ResetAbandonedTimer() {
 }
 
+@Override
+public void reset(ConnectionPool parent, PooledConnection con) {
+super.reset(parent, con);
+if (con == null) {
+this.pcon = null;
+} else {
+this.pcon = con;
+}
+}
+
 public boolean resetTimer() {
 boolean result = false;
-JdbcInterceptor interceptor = this.getNext();
-while (interceptor!=null && result==false) {
-if (interceptor instanceof ProxyConnection) {
-PooledConnection con = 
((ProxyConnection)interceptor).getConnection();
-if (con!=null) {
-con.setTimestamp(System.currentTimeMillis());
-result = true;
-} else {
-break;
-}
-}
-interceptor = interceptor.getNext();
+if (pcon != null) {
+pcon.setTimestamp(System.currentTimeMillis());
+result = true;
 }
 return result;
 }
 
-
 @Override
 public Object invoke(Object proxy, Method method, Object[] args) throws 
Throwable {
 Object result = super.invoke(proxy, method, args);



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



svn commit: r1822860 - in /tomcat/trunk: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ webapps/docs/

2018-02-01 Thread kfujino
Author: kfujino
Date: Thu Feb  1 08:47:18 2018
New Revision: 1822860

URL: http://svn.apache.org/viewvc?rev=1822860&view=rev
Log:
Add MBean for ResetAbandonedTimer.

Added:

tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimerMBean.java
   (with props)
Modified:

tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java?rev=1822860&r1=1822859&r2=1822860&view=diff
==
--- 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java
 Thu Feb  1 08:47:18 2018
@@ -19,8 +19,11 @@ package org.apache.tomcat.jdbc.pool.inte
 
 import java.lang.reflect.Method;
 
+import javax.management.ObjectName;
+
 import org.apache.tomcat.jdbc.pool.ConnectionPool;
 import org.apache.tomcat.jdbc.pool.PooledConnection;
+import org.apache.tomcat.jdbc.pool.jmx.JmxUtil;
 
 /**
  * Class that resets the abandoned timer on any activity on the
@@ -30,10 +33,12 @@ import org.apache.tomcat.jdbc.pool.Poole
  * This is useful for batch processing programs that use connections for 
extensive amount of times.
  *
  */
-public class ResetAbandonedTimer extends AbstractQueryReport {
+public class ResetAbandonedTimer extends AbstractQueryReport implements 
ResetAbandonedTimerMBean {
 
 private PooledConnection pcon;
 
+private ObjectName oname = null;
+
 public ResetAbandonedTimer() {
 }
 
@@ -42,11 +47,20 @@ public class ResetAbandonedTimer extends
 super.reset(parent, con);
 if (con == null) {
 this.pcon = null;
+if (oname != null) {
+JmxUtil.unregisterJmx(oname);
+oname = null;
+}
 } else {
 this.pcon = con;
+if (oname == null) {
+String keyprop = ",JdbcInterceptor=" + 
getClass().getSimpleName();
+oname = JmxUtil.registerJmx(pcon.getObjectName(), keyprop, 
this);
+}
 }
 }
 
+@Override
 public boolean resetTimer() {
 boolean result = false;
 if (pcon != null) {

Added: 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimerMBean.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimerMBean.java?rev=1822860&view=auto
==
--- 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimerMBean.java
 (added)
+++ 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimerMBean.java
 Thu Feb  1 08:47:18 2018
@@ -0,0 +1,22 @@
+/*
+ *  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.jdbc.pool.interceptor;
+
+public interface ResetAbandonedTimerMBean {
+public boolean resetTimer();
+}

Propchange: 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimerMBean.java
--
svn:eol-style = native

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1822860&r1=1822859&r2=1822860&view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Thu Feb  1 08:47:18 2018
@@ -176,6 +176,9 @@
 Expose the cache size for each connection via JMX in
 StatementCache. (kfujino)

svn commit: r1822861 - in /tomcat/tc8.5.x/trunk: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ webapps/docs/

2018-02-01 Thread kfujino
Author: kfujino
Date: Thu Feb  1 08:49:14 2018
New Revision: 1822861

URL: http://svn.apache.org/viewvc?rev=1822861&view=rev
Log:
Add MBean for ResetAbandonedTimer.

Added:

tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimerMBean.java
   (with props)
Modified:

tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java
tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java?rev=1822861&r1=1822860&r2=1822861&view=diff
==
--- 
tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java
 (original)
+++ 
tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java
 Thu Feb  1 08:49:14 2018
@@ -19,9 +19,11 @@ package org.apache.tomcat.jdbc.pool.inte
 
 import java.lang.reflect.Method;
 
-import org.apache.tomcat.jdbc.pool.JdbcInterceptor;
+import javax.management.ObjectName;
+
+import org.apache.tomcat.jdbc.pool.ConnectionPool;
 import org.apache.tomcat.jdbc.pool.PooledConnection;
-import org.apache.tomcat.jdbc.pool.ProxyConnection;
+import org.apache.tomcat.jdbc.pool.jmx.JmxUtil;
 
 /**
  * Class that resets the abandoned timer on any activity on the
@@ -31,30 +33,43 @@ import org.apache.tomcat.jdbc.pool.Proxy
  * This is useful for batch processing programs that use connections for 
extensive amount of times.
  *
  */
-public class ResetAbandonedTimer extends AbstractQueryReport {
+public class ResetAbandonedTimer extends AbstractQueryReport implements 
ResetAbandonedTimerMBean {
+
+private PooledConnection pcon;
+
+private ObjectName oname = null;
 
 public ResetAbandonedTimer() {
 }
 
+@Override
+public void reset(ConnectionPool parent, PooledConnection con) {
+super.reset(parent, con);
+if (con == null) {
+this.pcon = null;
+if (oname != null) {
+JmxUtil.unregisterJmx(oname);
+oname = null;
+}
+} else {
+this.pcon = con;
+if (oname == null) {
+String keyprop = ",JdbcInterceptor=" + 
getClass().getSimpleName();
+oname = JmxUtil.registerJmx(pcon.getObjectName(), keyprop, 
this);
+}
+}
+}
+
+@Override
 public boolean resetTimer() {
 boolean result = false;
-JdbcInterceptor interceptor = this.getNext();
-while (interceptor!=null && result==false) {
-if (interceptor instanceof ProxyConnection) {
-PooledConnection con = 
((ProxyConnection)interceptor).getConnection();
-if (con!=null) {
-con.setTimestamp(System.currentTimeMillis());
-result = true;
-} else {
-break;
-}
-}
-interceptor = interceptor.getNext();
+if (pcon != null) {
+pcon.setTimestamp(System.currentTimeMillis());
+result = true;
 }
 return result;
 }
 
-
 @Override
 public Object invoke(Object proxy, Method method, Object[] args) throws 
Throwable {
 Object result = super.invoke(proxy, method, args);

Added: 
tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimerMBean.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimerMBean.java?rev=1822861&view=auto
==
--- 
tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimerMBean.java
 (added)
+++ 
tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimerMBean.java
 Thu Feb  1 08:49:14 2018
@@ -0,0 +1,22 @@
+/*
+ *  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,
+ *

buildbot failure in on tomcat-trunk

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

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

Buildslave for this Build: silvanus_ubuntu

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

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 62069] New: NullPointerException when finishing response under the Linux

2018-02-01 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62069

Bug ID: 62069
   Summary: NullPointerException when finishing response under the
Linux
   Product: Tomcat 8
   Version: 8.5.15
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: Connectors
  Assignee: dev@tomcat.apache.org
  Reporter: ixiao...@126.com
  Target Milestone: 

an error happen with tomcat


2018-02-01 14:59:09.001 ERROR ---   
o.a.c.c.C.[.[.[/].[dispatcherServlet]. : Servlet.service() for servlet
[dispatcherServlet] in context with path [] threw exception [Request processing
failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException: null
at
org.apache.catalina.connector.Request.notifyAttributeAssigned(Request.java:1563)
at
org.apache.catalina.connector.Request.setAttribute(Request.java:1549)
at
org.apache.catalina.connector.RequestFacade.setAttribute(RequestFacade.java:540)
at
org.springframework.web.context.request.async.WebAsyncUtils.getAsyncManager(WebAsyncUtils.java:50)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:904)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:110)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ap

[Bug 62069] NullPointerException when finishing response under the Linux

2018-02-01 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62069

Mark Thomas  changed:

   What|Removed |Added

 Resolution|--- |INVALID
 Status|NEW |RESOLVED

--- Comment #1 from Mark Thomas  ---
No steps provided to reproduce, therefore marking as INVALID.

The users list is probably the best place to seek help with this. A scan of the
stack trace suggests an attempt was made to access an async request that had
already been processed.

-- 
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 62053] NullPointerException in Http2AsyncUpgradeHandler with Server Push

2018-02-01 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62053

--- Comment #2 from holger.su...@bodo-peters.de ---
It seemes to be triggered by a flaw in web application layer. Google Chrome
keeps closing the SSL connection due to Server Push protocol violations.

https://github.com/javaserverfaces/mojarra/issues/4329


Nevertheless I'd suggest to add a [null] check at
Http2AsyncUpgradeHandler.java:158 as return value of
org.apache.coyote.http2.Http2UpgradeHandler.doWriteHeaders(Stream, int,
MimeHeaders, boolean, int) is obviously @Nullable:

 protected HeaderFrameBuffers doWriteHeaders(Stream stream, int pushedStreamId,
MimeHeaders mimeHeaders,
boolean endOfStream, int payloadSize) throws IOException {
...
  if (!stream.canWrite()) {
return null;
  }
...
}

This turns the NullPointerException into a more expressive one:

org.apache.catalina.connector.ClientAbortException:
org.apache.coyote.CloseNowException: Connection [1], Stream [10], This stream
is not writable
Caused by: org.apache.coyote.CloseNowException: Connection [1], Stream [10],
This stream is not writable

Tahnks for quick response and kind regards

-- 
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: r1822867 - in /tomcat/trunk: java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java webapps/docs/changelog.xml

2018-02-01 Thread remm
Author: remm
Date: Thu Feb  1 11:17:17 2018
New Revision: 1822867

URL: http://svn.apache.org/viewvc?rev=1822867&view=rev
Log:
62053: Fix NPE when writing push headers with HTTP/2 NIO2. Patch submitted by 
Holger Sunke.

Modified:
tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java?rev=1822867&r1=1822866&r2=1822867&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java Thu 
Feb  1 11:17:17 2018
@@ -155,7 +155,9 @@ public class Http2AsyncUpgradeHandler ex
 synchronized (socketWrapper) {
 AsyncHeaderFrameBuffers headerFrameBuffers = 
(AsyncHeaderFrameBuffers)
 doWriteHeaders(stream, pushedStreamId, mimeHeaders, 
endOfStream, payloadSize);
-bufs = headerFrameBuffers.bufs.toArray(BYTEBUFFER_ARRAY);
+if (headerFrameBuffers != null) {
+bufs = headerFrameBuffers.bufs.toArray(BYTEBUFFER_ARRAY);
+}
 }
 if (bufs != null) {
 socketWrapper.write(BlockingMode.SEMI_BLOCK, 
protocol.getWriteTimeout(),

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1822867&r1=1822866&r2=1822867&view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Thu Feb  1 11:17:17 2018
@@ -135,6 +135,10 @@
 names (excluding top-level domains) to start with a number and to 
ensure
 that top-level domains are fully alphabetic. (markt)
   
+  
+62053: Fix NPE when writing push headers with HTTP/2 NIO2.
+Patch submitted by Holger Sunke. (remm)
+  
 
   
   



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



[Bug 62053] NullPointerException in Http2AsyncUpgradeHandler with Server Push

2018-02-01 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62053

Remy Maucherat  changed:

   What|Removed |Added

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

--- Comment #3 from Remy Maucherat  ---
Thanks a lot for the testing and the fix proposal, this actually looked like a
possibly complex problem, so I guess it was almost normal besides the scary
stack.
This NPE was added as part of a recent refactoring, and NIO was not affected as
it did not use the return value.
The null check fix will be in 9.0.5.

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

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

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

Buildslave for this Build: silvanus_ubuntu

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

Build succeeded!

Sincerely,
 -The Buildbot




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



Mutual SSL client certificate validation(Key Usage and Extended Key Usage) in tomcat server

2018-02-01 Thread Indunil Rathnayake
Hi,

I have configured a tomcat connector for handling requests for a particular
servlet and have configured a trust store for the connector. Anyone knows
whether tomcat handles validation of "Key Usage" and "Extended Key Usage"
extensions in client certificates? And how it's handled through tomcat(is
it through the tomcat connector)?

Appreciate your help on this.

Thanks and Regards
-- 

*Indunil Rathnayake *

*Faculty of Information Technology*

*University of Moratuwa.*


[Bug 62070] New: RemoteIPValve sets remote address to request object even X-Forwarded-For is tampered to refer localhost

2018-02-01 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62070

Bug ID: 62070
   Summary: RemoteIPValve sets remote address to request object
even X-Forwarded-For is tampered to refer localhost
   Product: Tomcat 7
   Version: 7.0.82
  Hardware: PC
Status: NEW
  Severity: normal
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: vasa@gmail.com
  Target Milestone: ---

RemoteIPValve sets remote address to request object even X-Forwarded-For is
tampered to refer localhost.

So remote attackers can easily spoof X-Forwarded-For

-- 
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 62070] RemoteIPValve sets remote address to request object even X-Forwarded-For is tampered to refer localhost

2018-02-01 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62070

Mark Thomas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 OS||All
 Resolution|--- |INVALID

--- Comment #1 from Mark Thomas  ---
It is the responsibility of the reverse proxy to ensure that the appropriate
headers are set/removed in a secure manner.

-- 
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: Mutual SSL client certificate validation(Key Usage and Extended Key Usage) in tomcat server

2018-02-01 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Indunil,

On 2/1/18 7:29 AM, Indunil Rathnayake wrote:
> I have configured a tomcat connector for handling requests for a
> particular servlet and have configured a trust store for the
> connector. Anyone knows whether tomcat handles validation of "Key
> Usage" and "Extended Key Usage" extensions in client certificates?
> And how it's handled through tomcat(is it through the tomcat
> connector)?
> 
> Appreciate your help on this.

This is a question better-asked on the users' list. Cross-posting to
move the discussion there.

- -chris
-BEGIN PGP SIGNATURE-
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQJRBAEBCAA7FiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlpzKnAdHGNocmlzQGNo
cmlzdG9waGVyc2NodWx0ei5uZXQACgkQHPApP6U8pFiHZhAAyUydZZQFgeFyfFjh
Sy5kdz8T7vo8DDeyL3/63rmDGELdJHjiXeg5BIwfzkNawmZFky1esLHCKBSriO5Z
1VcZwvz5nkJaaMtEz77MDH+kLGtsQDeXhUE3riVK+iUZvciZIeUogv70uGdd5wDI
buv/clfECgpE1A//LVWlp8jr67W0M8FWxhGC6Jy7UCjgRqkJgUDGynASt2qOxuUb
k0Ih3F1yIK8gwg0enlk039P16PZrfsvZJzNv0OU6jmr11dkxrb4DiUiMAaoertSX
cPHGefJ5VYpsKHA3qPSnSjYpzGWUJMat8Mpkj7QEcIMKpHjVXriGKLxNxdiz7rdm
xBnZf5j5dxDRGDlNh25oY9tAup0WadjdefwMNRT+xKr5s3ohdS47BDWOAdQJZQkI
lVPtfqlWyCqCRU/lJ0uOMPsbqfaLnISJ1u3uOozmujlviHp9GxOUqoAq7dZI52B9
ZXjsmjK/nNMQMtlHUvWjZHvvYmbTyJLZtGbnLYoI+vx+VxXOe4CHH8EKucjQYifD
NUzAoZ3dd0g4pCt0/3+VW26Keep4P+u4yZ7vvoOB4tum+DKbSJp557d8Raz59HZt
YjQLiQtb1s4ppw6CtFfQaGd/8+oKuxhZevhImMUL1bkZnCB6qFZ9ziKnbVA1tgs4
VNPK1KKa+WhopgCgPjSXGDiK3uw=
=1J/l
-END PGP SIGNATURE-

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



Fix the public interfaces for Tomcat 9 in the release notes

2018-02-01 Thread Violeta Georgieva
Hi,

As Tomcat 9 is now stable I think we can fix the public API here
http://tomcat.apache.org/tomcat-9.0-doc/RELEASE-NOTES.txt

Wdyt?
Violeta


[Bug 62072] New: Add support for request compression

2018-02-01 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62072

Bug ID: 62072
   Summary: Add support for request compression
   Product: Tomcat 9
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: rafael@gmail.com
  Target Milestone: -

Tomcat does not currently support compression of requests sent to the server,
i.e. requests with a Content-Encoding header.

It is a bit unclear from the specification if this is a part of HTTP but it is
mentioned that status code 415 should be sent if a request is sent in an
unknown encoding: https://tools.ietf.org/html/rfc7231#section-6.5.13

Other servers such as Undertow (https://issues.jboss.org/browse/UNDERTOW-920)
have added it and Jetty is about to add it
(https://github.com/eclipse/jetty.project/issues/382).

It would be great if Tomcat could add the same support.

-- 
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 62072] Add support for request compression

2018-02-01 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62072

Andy Wilkinson  changed:

   What|Removed |Added

 CC||awilkin...@pivotal.io

-- 
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: Mutual SSL client certificate validation(Key Usage and Extended Key Usage) in tomcat server

2018-02-01 Thread Indunil Rathnayake
Hi Chris,

On 1 February 2018 at 20:25, Christopher Schultz <
ch...@christopherschultz.net> wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
>
> Indunil,
>
> On 2/1/18 7:29 AM, Indunil Rathnayake wrote:
> > I have configured a tomcat connector for handling requests for a
> > particular servlet and have configured a trust store for the
> > connector. Anyone knows whether tomcat handles validation of "Key
> > Usage" and "Extended Key Usage" extensions in client certificates?
> > And how it's handled through tomcat(is it through the tomcat
> > connector)?
> >
> > Appreciate your help on this.
>
> This is a question better-asked on the users' list. Cross-posting to
> move the discussion there.
>

Thanks. I have already sent a mail to the users' list as well. Please
check. Really appreciate your help on this.


>
> - -chris
> -BEGIN PGP SIGNATURE-
> Comment: GPGTools - http://gpgtools.org
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iQJRBAEBCAA7FiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlpzKnAdHGNocmlzQGNo
> cmlzdG9waGVyc2NodWx0ei5uZXQACgkQHPApP6U8pFiHZhAAyUydZZQFgeFyfFjh
> Sy5kdz8T7vo8DDeyL3/63rmDGELdJHjiXeg5BIwfzkNawmZFky1esLHCKBSriO5Z
> 1VcZwvz5nkJaaMtEz77MDH+kLGtsQDeXhUE3riVK+iUZvciZIeUogv70uGdd5wDI
> buv/clfECgpE1A//LVWlp8jr67W0M8FWxhGC6Jy7UCjgRqkJgUDGynASt2qOxuUb
> k0Ih3F1yIK8gwg0enlk039P16PZrfsvZJzNv0OU6jmr11dkxrb4DiUiMAaoertSX
> cPHGefJ5VYpsKHA3qPSnSjYpzGWUJMat8Mpkj7QEcIMKpHjVXriGKLxNxdiz7rdm
> xBnZf5j5dxDRGDlNh25oY9tAup0WadjdefwMNRT+xKr5s3ohdS47BDWOAdQJZQkI
> lVPtfqlWyCqCRU/lJ0uOMPsbqfaLnISJ1u3uOozmujlviHp9GxOUqoAq7dZI52B9
> ZXjsmjK/nNMQMtlHUvWjZHvvYmbTyJLZtGbnLYoI+vx+VxXOe4CHH8EKucjQYifD
> NUzAoZ3dd0g4pCt0/3+VW26Keep4P+u4yZ7vvoOB4tum+DKbSJp557d8Raz59HZt
> YjQLiQtb1s4ppw6CtFfQaGd/8+oKuxhZevhImMUL1bkZnCB6qFZ9ziKnbVA1tgs4
> VNPK1KKa+WhopgCgPjSXGDiK3uw=
> =1J/l
> -END PGP SIGNATURE-
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>


-- 

*Indunil Rathnayake *

*Faculty of Information Technology*

*University of Moratuwa.*


Tomcat ArrayIndexOutOfBoundsException in SocketBufferHandler

2018-02-01 Thread 鄢锦涛
Hello all,

 My environment : tomcat version is 8.5.23 (default configuration), JDK is 
1.8.0_121 and Linux version is centos 3.10.0-327.el7.x86_64
  With this environment, working under stress with http POST calls, After about 
80 to 100 virtual users into the test we started seeing broken responses
  I do not know why but unfortunately I have sometimes the following Exception 
in the logfile. Does anyone know what it the reason

Thanks in advance,
jintaoyan

Logfile:
2018-01-18 14:28:26.855 ERROR [ledger-services-loan-access,,,] 13575 --- 
[io-8017-exec-11] o.apache.coyote.http11.Http11Processor : Error processing 
request
java.lang.ArrayIndexOutOfBoundsException: null
at java.nio.HeapByteBuffer.compact(HeapByteBuffer.java:228)
atorg.apache.tomcat.util.net.SocketBufferHandler.setWriteBufferConfiguredForWrite(SocketBufferHandler.java:109)
at 
org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite(SocketBufferHandler.java:91)
at 
org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:447)
at 
org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:388)
at 
org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:644)
at 
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:121)
at 
org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:235)
at org.apache.coyote.Response.doWrite(Response.java:541)
at 
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:351)
at 
org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:815)
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:310)
at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:263)
at org.apache.catalina.connector.Response.finishResponse(Response.java:484)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:373)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)


2018-01-18 14:28:26.860 ERROR [ledger-services-loan-access,,,] 13575 --- 
[io-8017-exec-11] o.apache.coyote.http11.Http11Processor : Error finishing 
response
java.lang.ArrayIndexOutOfBoundsException: null
at java.nio.HeapByteBuffer.compact(HeapByteBuffer.java:228)
atorg.apache.tomcat.util.net.SocketBufferHandler.setWriteBufferConfiguredForWrite(SocketBufferHandler.java:109)
at 
org.apache.tomcat.util.net.SocketBufferHandler.configureWriteBufferForWrite(SocketBufferHandler.java:91)
at 
org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:447)
at 
org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:388)
at 
org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:644)
at 
org.apache.coyote.http11.filters.ChunkedOutputFilter.end(ChunkedOutputFilter.java:184)
at 
org.apache.coyote.http11.Http11OutputBuffer.finishResponse(Http11OutputBuffer.java:327)
at 
org.apache.coyote.http11.Http11Processor.endRequest(Http11Processor.java:1524)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:843)
at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)