Re: Read events suspend/resume logic in websocket impl to achieve backpressure
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. > > Regards, > Violeta > [1] https://github.com/violetagg/tomcat/commits/ws-suspend-resume > [2] https://github.com/apache/tomcat/compare/trunk...violetagg:ws-suspend-resume
svn commit: r1781976 - in /tomcat/tc8.5.x/trunk: ./ webapps/docs/changelog.xml
Author: violetagg Date: Tue Feb 7 07:43:58 2017 New Revision: 1781976 URL: http://svn.apache.org/viewvc?rev=1781976&view=rev Log: ws police Modified: tomcat/tc8.5.x/trunk/ (props changed) tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc8.5.x/trunk/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Feb 7 07:43:58 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-1763512,1763516,1763518,1763520,1763529,1763559,1763565,1763568,1763574,1763619,1763634-1763635,1763718,1763786,1763798-1763799,1763813,1763815,1763819,1763831,1764083,1764425,1764646,17646
svn commit: r1781975 - /tomcat/trunk/webapps/docs/changelog.xml
Author: violetagg Date: Tue Feb 7 07:39:38 2017 New Revision: 1781975 URL: http://svn.apache.org/viewvc?rev=1781975&view=rev Log: ws police Modified: tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1781975&r1=1781974&r2=1781975&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Tue Feb 7 07:39:38 2017 @@ -159,7 +159,7 @@ -Add Specification and Javadoc references for JASPIC to the Docs +Add Specification and Javadoc references for JASPIC to the Docs application. (csutherl) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GUMP@vmgump-vm3]: Project tomcat-trunk-validate (in module tomcat-trunk) 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-trunk-validate 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-trunk-validate : Tomcat 9.x, a web server implementing the Java Servlet 4.0, ... Full details are available at: http://vmgump-vm3.apache.org/tomcat-trunk/tomcat-trunk-validate/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on checkstyle exists, no need to add for property checkstyle.jar. -INFO- Failed with reason build failed The following work was performed: http://vmgump-vm3.apache.org/tomcat-trunk/tomcat-trunk-validate/gump_work/build_tomcat-trunk_tomcat-trunk-validate.html Work Name: build_tomcat-trunk_tomcat-trunk-validate (Type: Build) Work ended in a state of : Failed Elapsed: 16 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-trunk/tomcat-build-libs -Dcheckstyle.jar=/srv/gump/public/workspace/checkstyle/target/checkstyle-7.6-SNAPSHOT.jar -Dexecute.validate=true validate [Working Directory: /srv/gump/public/workspace/tomcat-trunk] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/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/checkstyle/target/checkstyle-7.6-SNAPSHOT.jar:/srv/gump/packages/antlr/antlr-3.1.3.jar:/srv/gump/public/workspace/apache-commons/beanutils/dist/commons-beanutils-20170207.jar:/srv/gump/packages/commons-collections3/commons-collections-3.2.1.jar:/srv/gump/public/workspace/apache-commons/cli/target/commons-cli-1.4-SNAPSHOT.jar:/srv/gump/public/workspace/commons-lang-trunk/target/commons-lang3-3.6-SNAPSHOT.jar :/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-20170207.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-api-20170207.jar:/srv/gump/public/workspace/google-guava/guava/target/guava-22.0-SNAPSHOT.jar - Buildfile: /srv/gump/public/workspace/tomcat-trunk/build.xml build-prepare: [delete] Deleting directory /srv/gump/public/workspace/tomcat-trunk/output/build/temp [mkdir] Created dir: /srv/gump/public/workspace/tomcat-trunk/output/build/temp compile-prepare: download-validate: testexist: [echo] Testing for /srv/gump/public/workspace/checkstyle/target/checkstyle-7.6-SNAPSHOT.jar setproxy: downloadfile: validate: [mkdir] Created dir: /srv/gump/public/workspace/tomcat-trunk/output/res/checkstyle [checkstyle] Running Checkstyle 7.6-SNAPSHOT on 3101 files [checkstyle] [ERROR] /srv/gump/public/workspace/tomcat-trunk/webapps/docs/changelog.xml:162: Line matches the illegal pattern '\s+$'. [RegexpSingleline] BUILD FAILED /srv/gump/public/workspace/tomcat-trunk/build.xml:540: Got 1 errors and 0 warnings. Total time: 16 seconds - To subscribe to this information via syndicated feeds: - RSS: http://vmgump-vm3.apache.org/tomcat-trunk/tomcat-trunk-validate/rss.xml - Atom: http://vmgump-vm3.apache.org/tomcat-trunk/tomcat-trunk-validate/atom.xml == Gump Tracking Only === Produced by Apache Gump(TM) version 2.3. Gump Run 20170207060005, vmgump-vm3.apache.org:vmgump:20170207060005 Gump E-mail Identifier (unique within run) #2. -- Apache Gump http://gump.apache.org/ [Instance: vmgump-vm3] - 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 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. > Looking at the apr source threadproc/win32/threadpriv.c the destructor is actually thrown away on windows, so that approach will not work on windows. I think what you are looking at is the TlsAlloc in create and the TlsFree in delete, which I don't think relates to the value stored but the key structure itself. -nate - 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 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. -nate - 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 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. Mark Mark -nate On Mon, Feb 6, 2017 at 4:03 PM, Mark Thomas wrote: On 06/02/17 21:01, ma...@apache.org wrote: Author: markt Date: Mon Feb 6 21:01:09 2017 New Revision: 1781952 URL: http://svn.apache.org/viewvc?rev=1781952&view=rev Log: Follow-up to r1781943 Fix build errors on Windows Confirmed that terminated threads are removed from the hash The patch isn't quite there yet. It triggers a JVM crash on shutdown that I'm currently looking at. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org - 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 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. Mark -nate On Mon, Feb 6, 2017 at 4:03 PM, Mark Thomas wrote: On 06/02/17 21:01, ma...@apache.org wrote: Author: markt Date: Mon Feb 6 21:01:09 2017 New Revision: 1781952 URL: http://svn.apache.org/viewvc?rev=1781952&view=rev Log: Follow-up to r1781943 Fix build errors on Windows Confirmed that terminated threads are removed from the hash The patch isn't quite there yet. It triggers a JVM crash on shutdown that I'm currently looking at. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org - 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
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. -nate On Mon, Feb 6, 2017 at 4:03 PM, Mark Thomas wrote: > On 06/02/17 21:01, ma...@apache.org wrote: >> >> Author: markt >> Date: Mon Feb 6 21:01:09 2017 >> New Revision: 1781952 >> >> URL: http://svn.apache.org/viewvc?rev=1781952&view=rev >> Log: >> Follow-up to r1781943 >> Fix build errors on Windows >> Confirmed that terminated threads are removed from the hash > > > The patch isn't quite there yet. It triggers a JVM crash on shutdown that > I'm currently looking at. > > Mark > > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > - 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 21:01, ma...@apache.org wrote: Author: markt Date: Mon Feb 6 21:01:09 2017 New Revision: 1781952 URL: http://svn.apache.org/viewvc?rev=1781952&view=rev Log: Follow-up to r1781943 Fix build errors on Windows Confirmed that terminated threads are removed from the hash The patch isn't quite there yet. It triggers a JVM crash on shutdown that I'm currently looking at. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1781952 - in /tomcat/native/trunk/native: include/ssl_private.h src/ssl.c
Author: markt Date: Mon Feb 6 21:01:09 2017 New Revision: 1781952 URL: http://svn.apache.org/viewvc?rev=1781952&view=rev Log: Follow-up to r1781943 Fix build errors on Windows Confirmed that terminated threads are removed from the hash Modified: tomcat/native/trunk/native/include/ssl_private.h tomcat/native/trunk/native/src/ssl.c Modified: tomcat/native/trunk/native/include/ssl_private.h URL: http://svn.apache.org/viewvc/tomcat/native/trunk/native/include/ssl_private.h?rev=1781952&r1=1781951&r2=1781952&view=diff == --- tomcat/native/trunk/native/include/ssl_private.h (original) +++ tomcat/native/trunk/native/include/ssl_private.h Mon Feb 6 21:01:09 2017 @@ -364,7 +364,7 @@ int SSL_callback_alpn_select_pro void SSL_thread_exit(void); -#if (OPENSSL_VERSION_NUMBER < 0x1010L) && ! defined(WIN32) +#if (OPENSSL_VERSION_NUMBER < 0x1010L) && ! (defined(WIN32) || defined(WIN64)) unsigned long SSL_ERR_get(void); void SSL_ERR_clear(void); #else Modified: tomcat/native/trunk/native/src/ssl.c URL: http://svn.apache.org/viewvc/tomcat/native/trunk/native/src/ssl.c?rev=1781952&r1=1781951&r2=1781952&view=diff == --- tomcat/native/trunk/native/src/ssl.c (original) +++ tomcat/native/trunk/native/src/ssl.c Mon Feb 6 21:01:09 2017 @@ -445,6 +445,7 @@ void SSL_thread_exit(void) { } #if OPENSSL_VERSION_NUMBER < 0x1010L +#if ! (defined(WIN32) || defined(WIN64)) unsigned long SSL_ERR_get() { apr_threadkey_private_set(thread_exit_key, thread_exit_key); return ERR_get_error(); @@ -454,6 +455,7 @@ void SSL_ERR_clear() { apr_threadkey_private_set(thread_exit_key, thread_exit_key); ERR_clear_error(); } +#endif static void _ssl_thread_exit(void *data) { UNREFERENCED(data); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1781944 - in /tomcat/native/trunk: native/srclib/VERSIONS xdocs/miscellaneous/changelog.xml
Author: markt Date: Mon Feb 6 20:38:08 2017 New Revision: 1781944 URL: http://svn.apache.org/viewvc?rev=1781944&view=rev Log: Update minimum recommended OpenSSL version to 1.0.2k Modified: tomcat/native/trunk/native/srclib/VERSIONS tomcat/native/trunk/xdocs/miscellaneous/changelog.xml Modified: tomcat/native/trunk/native/srclib/VERSIONS URL: http://svn.apache.org/viewvc/tomcat/native/trunk/native/srclib/VERSIONS?rev=1781944&r1=1781943&r2=1781944&view=diff == --- tomcat/native/trunk/native/srclib/VERSIONS (original) +++ tomcat/native/trunk/native/srclib/VERSIONS Mon Feb 6 20:38:08 2017 @@ -1,4 +1,4 @@ Use the following version of the libraries - APR 1.5.2, http://apr.apache.org -- OpenSSL 1.0.2j or later, http://www.openssl.org +- OpenSSL 1.0.2k or later, http://www.openssl.org Modified: tomcat/native/trunk/xdocs/miscellaneous/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/native/trunk/xdocs/miscellaneous/changelog.xml?rev=1781944&r1=1781943&r2=1781944&view=diff == --- tomcat/native/trunk/xdocs/miscellaneous/changelog.xml (original) +++ tomcat/native/trunk/xdocs/miscellaneous/changelog.xml Mon Feb 6 20:38:08 2017 @@ -74,11 +74,16 @@ 60388: The --disable-maintainer-mode option of the configure script no longer enables the maintainer mode. (ebourg) + + Update minimum recommended OpenSSL version to 1.0.2k. (markt) + + Update minimum recommended OpenSSL version to 1.0.2j. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1781943 - in /tomcat/native/trunk: native/include/ssl_private.h native/os/win32/system.c native/src/ssl.c native/src/sslcontext.c native/src/sslnetwork.c native/src/sslutils.c xdocs/misce
Author: markt Date: Mon Feb 6 20:37:00 2017 New Revision: 1781943 URL: http://svn.apache.org/viewvc?rev=1781943&view=rev Log: Ensure that the per thread error hash maintained by OpenSSL is cleaned up as individual threads exit to ensure it does not grow too large. Patch provided by Nate Clark. Modified: tomcat/native/trunk/native/include/ssl_private.h tomcat/native/trunk/native/os/win32/system.c tomcat/native/trunk/native/src/ssl.c tomcat/native/trunk/native/src/sslcontext.c tomcat/native/trunk/native/src/sslnetwork.c tomcat/native/trunk/native/src/sslutils.c tomcat/native/trunk/xdocs/miscellaneous/changelog.xml Modified: tomcat/native/trunk/native/include/ssl_private.h URL: http://svn.apache.org/viewvc/tomcat/native/trunk/native/include/ssl_private.h?rev=1781943&r1=1781942&r2=1781943&view=diff == --- tomcat/native/trunk/native/include/ssl_private.h (original) +++ tomcat/native/trunk/native/include/ssl_private.h Mon Feb 6 20:37:00 2017 @@ -363,4 +363,13 @@ int SSL_callback_select_next_pro int SSL_callback_alpn_select_proto(SSL *, const unsigned char **, unsigned char *, const unsigned char *, unsigned int, void *); +void SSL_thread_exit(void); +#if (OPENSSL_VERSION_NUMBER < 0x1010L) && ! defined(WIN32) +unsigned long SSL_ERR_get(void); +void SSL_ERR_clear(void); +#else +#define SSL_ERR_get() ERR_get_error() +#define SSL_ERR_clear() ERR_clear_error() +#endif + #endif /* SSL_PRIVATE_H */ Modified: tomcat/native/trunk/native/os/win32/system.c URL: http://svn.apache.org/viewvc/tomcat/native/trunk/native/os/win32/system.c?rev=1781943&r1=1781942&r2=1781943&view=diff == --- tomcat/native/trunk/native/os/win32/system.c (original) +++ tomcat/native/trunk/native/os/win32/system.c Mon Feb 6 20:37:00 2017 @@ -101,6 +101,9 @@ DllMain( /** The thread of the attached process terminates. */ case DLL_THREAD_DETACH: +#ifdef HAVE_OPENSSL +SSL_thread_exit(); +#endif break; /** DLL unload due to process termination Modified: tomcat/native/trunk/native/src/ssl.c URL: http://svn.apache.org/viewvc/tomcat/native/trunk/native/src/ssl.c?rev=1781943&r1=1781942&r2=1781943&view=diff == --- tomcat/native/trunk/native/src/ssl.c (original) +++ tomcat/native/trunk/native/src/ssl.c Mon Feb 6 20:37:00 2017 @@ -49,6 +49,8 @@ struct CRYPTO_dynlock_value { int line; apr_thread_mutex_t *mutex; }; + +apr_threadkey_t *thread_exit_key; #endif /* @@ -435,7 +437,29 @@ static unsigned long ssl_thread_id(void) #endif } +void SSL_thread_exit(void) { +#if (OPENSSL_VERSION_NUMBER < 0x1010L) +ERR_remove_thread_state(NULL); +apr_threadkey_private_set(NULL, thread_exit_key); +#endif +} + #if OPENSSL_VERSION_NUMBER < 0x1010L +unsigned long SSL_ERR_get() { +apr_threadkey_private_set(thread_exit_key, thread_exit_key); +return ERR_get_error(); +} + +void SSL_ERR_clear() { +apr_threadkey_private_set(thread_exit_key, thread_exit_key); +ERR_clear_error(); +} + +static void _ssl_thread_exit(void *data) { +UNREFERENCED(data); +SSL_thread_exit(); +} + static void ssl_set_thread_id(CRYPTO_THREADID *id) { CRYPTO_THREADID_set_numeric(id, ssl_thread_id()); @@ -700,6 +724,9 @@ TCN_IMPLEMENT_CALL(jint, SSL, initialize { jclass clazz; jclass sClazz; +#if !defined(OPENSSL_NO_ENGINE) || OPENSSL_VERSION_NUMBER < 0x1010L +apr_status_t err = APR_SUCCESS; +#endif TCN_ALLOC_CSTRING(engine); @@ -729,6 +756,14 @@ TCN_IMPLEMENT_CALL(jint, SSL, initialize OPENSSL_load_builtin_modules(); #if OPENSSL_VERSION_NUMBER < 0x1010L +err = apr_threadkey_private_create(&thread_exit_key, _ssl_thread_exit, + tcn_global_pool); +if (err != APR_SUCCESS) { +ssl_init_cleanup(NULL); +tcn_ThrowAPRException(e, err); +return (jint)err; +} + /* Initialize thread support */ ssl_thread_setup(tcn_global_pool); #endif @@ -736,7 +771,6 @@ TCN_IMPLEMENT_CALL(jint, SSL, initialize #ifndef OPENSSL_NO_ENGINE if (J2S(engine)) { ENGINE *ee = NULL; -apr_status_t err = APR_SUCCESS; if(strcmp(J2S(engine), "auto") == 0) { ENGINE_register_all_complete(); } @@ -859,7 +893,7 @@ TCN_IMPLEMENT_CALL(jint, SSL, fipsModeSe #ifdef OPENSSL_FIPS if(1 != (r = (jint)FIPS_mode_set((int)mode))) { /* arrange to get a human-readable error message */ - unsigned long err = ERR_get_error(); + unsigned long err = SSL_ERR_get(); char msg[256]; /* ERR_load_crypto_strings() already called in initialize() */ @@ -1196,7 +1230,7 @@ TCN_IMPLEMENT_CALL(jstring, SSL, getLast { char buf[256]; UNREFERENCED(o);
AuthConfigProvider initialization while constructing the authenticator
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? Thanks, Violeta
svn commit: r1781939 - in /tomcat/trunk/webapps/docs: changelog.xml index.xml
Author: csutherl Date: Mon Feb 6 20:10:47 2017 New Revision: 1781939 URL: http://svn.apache.org/viewvc?rev=1781939&view=rev Log: Add Specification and Javadoc references for JASPIC to the Docs application. Modified: tomcat/trunk/webapps/docs/changelog.xml (contents, props changed) tomcat/trunk/webapps/docs/index.xml (contents, props changed) Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1781939&r1=1781938&r2=1781939&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Mon Feb 6 20:10:47 2017 @@ -156,6 +156,14 @@ + + + +Add Specification and Javadoc references for JASPIC to the Docs +application. (csutherl) + + + Propchange: tomcat/trunk/webapps/docs/changelog.xml -- svn:mergeinfo = /tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml:1781934 Modified: tomcat/trunk/webapps/docs/index.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/index.xml?rev=1781939&r1=1781938&r2=1781939&view=diff == --- tomcat/trunk/webapps/docs/index.xml (original) +++ tomcat/trunk/webapps/docs/index.xml Mon Feb 6 20:10:47 2017 @@ -186,6 +186,12 @@ are responsible for installing, configur http://docs.oracle.com/javaee/7/api/javax/websocket/package-summary.html";> Javadoc +JASPIC 1.1 +https://jcp.org/aboutJava/communityprocess/mrel/jsr196/index.html";> +Specification and +http://docs.oracle.com/javaee/7/api/javax/security/auth/message/package-summary.html";> +Javadoc + Propchange: tomcat/trunk/webapps/docs/index.xml -- svn:mergeinfo = /tomcat/tc8.5.x/trunk/webapps/docs/index.xml:1781934 - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
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. Here [1] I prepared one possible implementation. What do you think about this feature and the proposed implementation? Regards, Violeta [1] https://github.com/violetagg/tomcat/commits/ws-suspend-resume
svn commit: r1781934 - in /tomcat/tc8.5.x/trunk/webapps/docs: changelog.xml index.xml
Author: csutherl Date: Mon Feb 6 19:54:02 2017 New Revision: 1781934 URL: http://svn.apache.org/viewvc?rev=1781934&view=rev Log: Add Specification and Javadoc references for JASPIC to the Docs application. Modified: tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml tomcat/tc8.5.x/trunk/webapps/docs/index.xml 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=1781934&r1=1781933&r2=1781934&view=diff == --- tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Mon Feb 6 19:54:02 2017 @@ -144,6 +144,14 @@ + + + +Add Specification and Javadoc references for JASPIC to the Docs +application. (csutherl) + + + Modified: tomcat/tc8.5.x/trunk/webapps/docs/index.xml URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/webapps/docs/index.xml?rev=1781934&r1=1781933&r2=1781934&view=diff == --- tomcat/tc8.5.x/trunk/webapps/docs/index.xml (original) +++ tomcat/tc8.5.x/trunk/webapps/docs/index.xml Mon Feb 6 19:54:02 2017 @@ -185,6 +185,12 @@ are responsible for installing, configur http://docs.oracle.com/javaee/7/api/javax/websocket/package-summary.html";> Javadoc +JASPIC 1.1 +https://jcp.org/aboutJava/communityprocess/mrel/jsr196/index.html";> +Specification and +http://docs.oracle.com/javaee/7/api/javax/security/auth/message/package-summary.html";> +Javadoc + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GitHub] tomcat issue #41: Check and update session record if one already exists.
Github user JohnKiel commented on the issue: https://github.com/apache/tomcat/pull/41 If you use SELECT FOR UPDATE, then you'll also need to start and commit a transaction, with the overhead that entails. If the record is modified or even deleted between the time the SELECT query and UPDATE, it's of little to no consequence, and no worse than the current delete/insert method. The worst result would be slightly stale session data being written, which is kind of an issue anyway if you have an application with that many threads all trying to save data for the same session at basically the same time. --- 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
[Bug 60597] Add ability to set cipher suites for websocket client connections
https://bz.apache.org/bugzilla/show_bug.cgi?id=60597 --- Comment #9 from Michael Orr --- Ok, thanks for the feedback. I'll work on a patch to pass in an SSLEngine instance and deprecate/remove the old constants. -- 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
[GitHub] tomcat issue #41: Check and update session record if one already exists.
Github user ChristopherSchultz commented on the issue: https://github.com/apache/tomcat/pull/41 You should use SELECT ... FOR UPDATE instead of SELECT / UPDATE. Much less code and transactionally-safe. Also, if you use SELECT ... FOR UPDATE, you can use ResultSet.moveToInsertRow to insert a record if necessary. --- 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
Tagging Tomcat 6
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? Thanks, Violeta
[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 --- Comment #17 from Coty Sutherland --- OK, cool. So unless someone else objects to the patch as-is, I'll commit it to 7.0.x - 8.5.x shortly. -- 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 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 --- Comment #16 from Remy Maucherat --- -1 as well for any additional characters. People who are that desperate to run into trouble can patch Tomcat easily. -- 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 60688] Tomcat should skip or handle module-info.class when scanning for annotations
https://bz.apache.org/bugzilla/show_bug.cgi?id=60688 Mark Thomas changed: What|Removed |Added Target Milestone||- Version|8.5.11 |unspecified Component|Catalina|Catalina Product|Tomcat 8|Tomcat 9 --- Comment #4 from Mark Thomas --- This comes under general Java 9 support. At the moment Java 9 support is a moving target so it is only being implemented in trunk (9.0.x). Once Java 9 stabilises, expect to see support back-ported to the other Tomcat versions. The proposal for these new constants is here: http://cr.openjdk.java.net/~mr/jigsaw/spec/lang-vm.html Looks like we just need to skip 2 bytes. The change needs to be implemented in Commons BCEL first and then back-ported to Tomcat. -- 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 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 --- Comment #15 from eolivelli --- OK Mark at this moment I'm running a patch in production to make all the characters allowed. I have evidence only on troubles for curly braches and pipe characters so the patch looks good for me. I will wait for the release of this patch in an official 8.5.x Tomcat version and deploy it to production. In case I need further characters a will create a new issue Thank you -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1781649 - /tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
On 04/02/17 10:09, kkoli...@apache.org wrote: Author: kkolinko Date: Sat Feb 4 10:09:18 2017 New Revision: 1781649 URL: http://svn.apache.org/viewvc?rev=1781649&view=rev Log: https://bz.apache.org/bugzilla/show_bug.cgi?id=60613 Move changelog for r1781620 to correct version, Thanks for fixing that. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[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 --- Comment #14 from Mark Thomas --- You need to make a case for each of those to added to the potentially allowed list. Without any such justification, I am -1 on expanding it beyond the current three allowed characters. -- 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 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 --- Comment #13 from eolivelli --- Coty, the patch looks good to me, can you please add the following chars to the list of allowed characters ? '\"' (double quote) '#' (sharp) '<' (left angle bracket) '>' (right angle bracket) '\\' (backslash) '^' (accent) '`' (accent) I think in some case I would need the "space" too, but Mark remarked that is would be very dangerous -- 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 60694] New: Potential NullPointerException in AuthenticatorBase.getJaspicProvider()
https://bz.apache.org/bugzilla/show_bug.cgi?id=60694 Bug ID: 60694 Summary: Potential NullPointerException in AuthenticatorBase.getJaspicProvider() Product: Tomcat 8 Version: 8.5.11 Hardware: All OS: All Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: awilkin...@pivotal.io Target Milestone: AuthenticatorBase.getJaspicProvider() can throw a NullPointerException. The code in question is: AuthConfigFactory factory = AuthConfigFactory.getFactory(); provider = factory.getConfigProvider("HttpServlet", jaspicAppContextID, this); The javadoc for AuthConfigFactory.getFactory() states that it returns: The non-null system-wide AuthConfigFactory instance set at the time of the call, or if that value was null, the value of the system-wide factory instance established by this method. This method returns null when the system-wide factory was not defined when this method was called and no default factory name was defined via the security property. When it returns null, a NullPointerException occurs: java.lang.NullPointerException: null at org.apache.catalina.authenticator.AuthenticatorBase.getJaspicProvider(AuthenticatorBase.java:1192) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) This was originally reported against Spring Boot using embedded Tomcat when the user also had javax:javaee-api on the classpath. -- 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