[Bug 60697] New: TRACE method incorrectly advertised as a supported HTTP method for custom servlet
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
[Bug 60698] New: getContentLength returns -1 for requests without body
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
Re: TRACE incorrectly advertised as a supported HTTP method for custom servlet
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
Re: svn commit: r1781952 - in /tomcat/native/trunk/native: include/ssl_private.h src/ssl.c
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
[GitHub] tomcat pull request #42: Read events suspend/resume logic in websocket impl ...
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: Read events suspend/resume logic in websocket impl to achieve backpressure
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
Re: Read events suspend/resume logic in websocket impl to achieve backpressure
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 >
svn commit: r1781984 - in /tomcat/native/trunk/native: include/tcn_api.h os/win32/system.c src/jnilib.c
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: svn commit: r1781952 - in /tomcat/native/trunk/native: include/ssl_private.h src/ssl.c
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
[Bug 59797] Per thread error hash grows indefinitely
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
[Bug 53605] use tcnative-1.1.24 Tomcat shutdown still crash
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 53605] use tcnative-1.1.24 Tomcat shutdown still crash
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 56027] Unable to use TCN on RHEL6 boxes if box is booted in fips mode
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 58263] Crash during TLS handshake
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 59163] TC Native 1.2.0 & later does not compile with openssl-fips
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
Re: Read events suspend/resume logic in websocket impl to achieve backpressure
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 > >
svn commit: r1781986 - in /tomcat/trunk: java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java webapps/docs/changelog.xml
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
svn commit: r1781987 - in /tomcat/tc8.5.x/trunk: ./ java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java webapps/docs/changelog.xml
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: r1781988 - in /tomcat/tc8.0.x/trunk: ./ java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java webapps/docs/changelog.xml
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,
[Bug 60702] New: JSP debugging is isn't working after upgrade from 8.0.29 to 8.0.39
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
buildbot failure in on tomcat-8-trunk
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
svn commit: r1781989 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/threads/ThreadPoolExecutor.java webapps/docs/changelog.xml
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
[Bug 60698] getContentLength returns -1 for requests without body
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: r1781994 - /tomcat/native/trunk/test/org/apache/tomcat/
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
svn commit: r1781995 - /tomcat/native/tags/TOMCAT_NATIVE_1_2_11/
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: r1781996 - /tomcat/native/tags/TOMCAT_NATIVE_1_2_11/
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: r1781998 - in /tomcat/native/tags/TOMCAT_NATIVE_1_2_11: ./ build.properties.default native/include/tcn_version.h
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: r18201 - in /release/tomcat: tomcat-8/v8.5.9/ tomcat-9/v9.0.0.M15/
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
buildbot success in on tomcat-7-trunk
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
[Bug 56027] Unable to use TCN on RHEL6 boxes if box is booted in fips mode
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
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
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 ==
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
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: 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
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
[Bug 60594] RFC 7230/3986 url requirement that prevents unencoded curly braces should be optional, since it breaks existing sites
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: r18210 - in /dev/tomcat/tomcat-connectors/native/1.2.11: ./ binaries/ source/
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
[GUMP@vmgump-vm3]: Project tomcat-tc8.0.x-test-nio2 (in module tomcat-8.0.x) failed
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: r1782068 - in /tomcat/native/trunk: build.properties.default native/include/tcn_version.h native/os/win32/libtcnative.rc xdocs/miscellaneous/changelog.xml
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
[VOTE] Release Apache Tomcat Native 1.2.11
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
[GitHub] tomcat pull request #42: Read events suspend/resume logic in websocket impl ...
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 ...
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
[GitHub] tomcat pull request #42: Read events suspend/resume logic in websocket impl ...
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 ...
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 ...
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 ...
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 ...
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 ...
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
Re: Tagging Tomcat 6
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
Re: Tagging Tomcat 6
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: AuthConfigProvider initialization while constructing the authenticator
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: AuthConfigProvider initialization while constructing the authenticator
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: Read events suspend/resume logic in websocket impl to achieve backpressure
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: 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
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) +
[GUMP@vmgump-vm3]: Project tomcat-tc8.0.x-test-nio2 (in module tomcat-8.0.x) failed
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