svn commit: r1822859 - /tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/ResetAbandonedTimer.java
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/
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/
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
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
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
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
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
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
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
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
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
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
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
-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
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
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
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
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
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)