Re: [VOTE] Release Apache Tomcat 8.0.27

2015-09-30 Thread Felix Schumacher

Am 28.09.2015 um 13:26 schrieb Mark Thomas:

The proposed Apache Tomcat 8.0.27 release is now available for voting.

The main changes since 8.0.26 are:

- Correctly handle \${ vs \$ escaping in JSP and EL

- Fix for issues with NIO + SSL + sendfile

- Various TLD parsing fixes

- Fix multiple (mostly rare and/or zero impact) concurrency issues


Note: Due to an issues with the Symantec code signing service (the
   certificates used to access the web-based admin GUI have all
   expired and infra is having to jump through some hoops to get
   new ones issues) the Windows Installer package has NOT been
   signed for this release.

There is the usual collection of bug fixes, new features and
performance improvements. For full details, see the changelog:
http://svn.us.apache.org/repos/asf/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

It can be obtained from:
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.27/
The Maven staging repo is:
https://repository.apache.org/content/repositories/orgapachetomcat-1051/
The svn tag is:
http://svn.apache.org/repos/asf/tomcat/tc8.0.x/tags/TOMCAT_8_0_27/

The proposed 8.0.27 release is:
[ ] Broken - do not release
[x] Stable - go ahead and release as 8.0.27 (non-binding)


Regards,
 Felix


-
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



[Bug 58469] web.xml were deleted after a Out of Memory problem by tomcat

2015-09-30 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58469

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #1 from Mark Thomas  ---
Under no circumstances will Tomcat delete the web.xml for a current
application.

Tomcat will delete an upacked WAR in some circumstances. These are documented
here:
http://tomcat.apache.org/tomcat-7.0-doc/config/automatic-deployment.html

Note that changes to a web.xml file would nornallt trigger a reload.

Tomcat has no "Dynmaic web project" feature.

-- 
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 58457] After async request timeout, response is not closed + works on subsequent requests

2015-09-30 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58457

--- Comment #3 from Mark Thomas  ---
If an application retains a reference and continues to use a response object
after the original request/rsponse has been completed the behaviour is
undefined. I'm not at all surprised by the behaviour you describe.

Again, if you want to protect against these sorts of application bugs (at the
expense of some performance) then use
org.apache.catalina.connector.RECYCLE_FACADES.

-- 
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: r1706018 - in /tomcat/tc8.0.x/trunk: ./ java/org/apache/jasper/compiler/Parser.java java/org/apache/jasper/resources/LocalStrings.properties webapps/docs/changelog.xml

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 12:52:01 2015
New Revision: 1706018

URL: http://svn.apache.org/viewvc?rev=1706018=rev
Log:
Fix issue reported by violetagg during 8.0.27 vote.
Improve error message to include name of attribute.

Modified:
tomcat/tc8.0.x/trunk/   (props changed)
tomcat/tc8.0.x/trunk/java/org/apache/jasper/compiler/Parser.java

tomcat/tc8.0.x/trunk/java/org/apache/jasper/resources/LocalStrings.properties
tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc8.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Sep 30 12:52:01 2015
@@ -1 +1 @@
-/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,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,1657592,1657607,1657
 
609,1657682,1657907,1658207,1658734,1658781,1658790,1658799,1658802,1658804,1658833,1658840,1658966,1659043,1659053,1659059,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,1661867,1661972,1661990,1662200,1662308-1662309,1662548,1662614,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-1666387,1666494,1666496,1666552,1666569,1666579,1
 
37,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,1681701,1681729,1681770,1681779,1681793,1681807,1681837-1681838,1681854,1681862,1681958,1682028,1682033,1682311,1682315,1682317,1682320,1682324,1682330,1682842,1684172,1684366,1684383,1684526-1684527,1684549-1684550,1685556,1685591,1685739,1685744,168577
 

svn commit: r1706023 - /tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 13:26:44 2015
New Revision: 1706023

URL: http://svn.apache.org/viewvc?rev=1706023=rev
Log:
Simplify. No point sending flush message if an I/O error has already happened.

Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1706023=1706022=1706023=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Wed Sep 30 
13:26:44 2015
@@ -335,18 +335,15 @@ public class AjpProcessor extends Abstra
 if (response.isCommitted())
 return;
 
-// Validate and write response headers
 try {
+// Validate and write response headers
 prepareResponse();
-} catch (IOException e) {
-setErrorState(ErrorState.CLOSE_NOW, e);
-}
-
-try {
+// Tell the proxy to flush this data to the client
 flush(false);
 } catch (IOException e) {
 setErrorState(ErrorState.CLOSE_NOW, e);
 }
+
 break;
 }
 case CLOSE: {



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



svn commit: r1706036 - in /tomcat/trunk/java/org/apache/coyote/http2: Stream.java StreamProcessor.java

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 13:50:36 2015
New Revision: 1706036

URL: http://svn.apache.org/viewvc?rev=1706036=rev
Log:
Align CLOSE with other implementations
- call COMMIT first
- handle the flush in the close/finish/end/whatever method

Modified:
tomcat/trunk/java/org/apache/coyote/http2/Stream.java
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/http2/Stream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Stream.java?rev=1706036=1706035=1706036=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Stream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Stream.java Wed Sep 30 13:50:36 
2015
@@ -430,8 +430,9 @@ public class Stream extends AbstractStre
 return written;
 }
 
-public void close() {
+public void close() throws IOException {
 closed = true;
+flushData();
 }
 
 public boolean isClosed() {

Modified: tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java?rev=1706036=1706035=1706036=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java Wed Sep 30 
13:50:36 2015
@@ -131,10 +131,12 @@ public class StreamProcessor extends Abs
 break;
 }
 case CLOSE: {
-// Tell the output buffer there will be no more data
-stream.getOutputBuffer().close();
-// Then flush it
-action(ActionCode.CLIENT_FLUSH, null);
+action(ActionCode.COMMIT, null);
+try {
+stream.getOutputBuffer().close();
+} catch (IOException ioe) {
+// TODO
+}
 break;
 }
 case CLIENT_FLUSH: {



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



[Bug 58464] servletRequest.getHeaderNames() returns all header names in lower case

2015-09-30 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58464

--- Comment #3 from Mark Thomas  ---
Tomcat stores the headers with lower case names to simplfy the lookup of
headers (case sensitive rather than case insenstive lookups).

Unless there is something in one of the specifications that Tomcat implements
that mandates header case is preserved (unlikely given that the HTTP spec
states header names are case insensitive) this is going to get resolved as
WONTFIX.

-- 
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 58464] servletRequest.getHeaderNames() returns all header names in lower case

2015-09-30 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58464

Christoph Tornau  changed:

   What|Removed |Added

 CC||tor...@gmail.com

-- 
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: r1706022 - in /tomcat/trunk/java/org/apache/coyote: ajp/AjpProcessor.java http11/Http11Processor.java

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 13:22:37 2015
New Revision: 1706022

URL: http://svn.apache.org/viewvc?rev=1706022=rev
Log:
Re-order action implementations to allow easier comparison between Processor 
implementations

Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1706022=1706021=1706022=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Wed Sep 30 
13:22:37 2015
@@ -331,17 +331,6 @@ public class AjpProcessor extends Abstra
 public final void action(ActionCode actionCode, Object param) {
 
 switch (actionCode) {
-case CLOSE: {
-// End the processing of the current request, and stop any further
-// transactions with the client
-
-try {
-finish();
-} catch (IOException e) {
-setErrorState(ErrorState.CLOSE_NOW, e);
-}
-break;
-}
 case COMMIT: {
 if (response.isCommitted())
 return;
@@ -358,6 +347,17 @@ public class AjpProcessor extends Abstra
 } catch (IOException e) {
 setErrorState(ErrorState.CLOSE_NOW, e);
 }
+break;
+}
+case CLOSE: {
+// End the processing of the current request, and stop any further
+// transactions with the client
+
+try {
+finish();
+} catch (IOException e) {
+setErrorState(ErrorState.CLOSE_NOW, e);
+}
 break;
 }
 case ACK: {

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1706022=1706021=1706022=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Wed Sep 30 
13:22:37 2015
@@ -653,15 +653,6 @@ public class Http11Processor extends Abs
 public final void action(ActionCode actionCode, Object param) {
 
 switch (actionCode) {
-case CLOSE: {
-// End the processing of the current request
-try {
-outputBuffer.endRequest();
-} catch (IOException e) {
-setErrorState(ErrorState.CLOSE_NOW, e);
-}
-break;
-}
 case COMMIT: {
 // Commit current response
 if (response.isCommitted()) {
@@ -675,6 +666,15 @@ public class Http11Processor extends Abs
 } catch (IOException e) {
 setErrorState(ErrorState.CLOSE_NOW, e);
 }
+break;
+}
+case CLOSE: {
+// End the processing of the current request
+try {
+outputBuffer.endRequest();
+} catch (IOException e) {
+setErrorState(ErrorState.CLOSE_NOW, e);
+}
 break;
 }
 case ACK: {



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



svn commit: r1706024 - /tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 13:29:11 2015
New Revision: 1706024

URL: http://svn.apache.org/viewvc?rev=1706024=rev
Log:
Remove call that is always a NO-OP.

Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1706024=1706023=1706024=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Wed Sep 30 
13:29:11 2015
@@ -338,8 +338,6 @@ public class AjpProcessor extends Abstra
 try {
 // Validate and write response headers
 prepareResponse();
-// Tell the proxy to flush this data to the client
-flush(false);
 } catch (IOException e) {
 setErrorState(ErrorState.CLOSE_NOW, e);
 }



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



svn commit: r1706030 - in /tomcat/trunk/java/org/apache/coyote: ajp/AjpProcessor.java http11/Http11Processor.java

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 13:32:19 2015
New Revision: 1706030

URL: http://svn.apache.org/viewvc?rev=1706030=rev
Log:
Small steps towards aligning action() implementations.

Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1706030=1706029=1706030=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Wed Sep 30 
13:32:19 2015
@@ -332,16 +332,14 @@ public class AjpProcessor extends Abstra
 
 switch (actionCode) {
 case COMMIT: {
-if (response.isCommitted())
-return;
-
-try {
-// Validate and write response headers
-prepareResponse();
-} catch (IOException e) {
-setErrorState(ErrorState.CLOSE_NOW, e);
+if (!response.isCommitted()) {
+try {
+// Validate and write response headers
+prepareResponse();
+} catch (IOException e) {
+setErrorState(ErrorState.CLOSE_NOW, e);
+}
 }
-
 break;
 }
 case CLOSE: {

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1706030=1706029=1706030=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Wed Sep 30 
13:32:19 2015
@@ -655,16 +655,14 @@ public class Http11Processor extends Abs
 switch (actionCode) {
 case COMMIT: {
 // Commit current response
-if (response.isCommitted()) {
-return;
-}
-
-// Validate and write response headers
-try {
-prepareResponse();
-outputBuffer.commit();
-} catch (IOException e) {
-setErrorState(ErrorState.CLOSE_NOW, e);
+if (!response.isCommitted()) {
+// Validate and write response headers
+try {
+prepareResponse();
+outputBuffer.commit();
+} catch (IOException e) {
+setErrorState(ErrorState.CLOSE_NOW, e);
+}
 }
 break;
 }



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



svn commit: r1706035 - in /tomcat/trunk/java/org/apache/coyote: ajp/AjpProcessor.java http11/Http11OutputBuffer.java http11/Http11Processor.java

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 13:49:32 2015
New Revision: 1706035

URL: http://svn.apache.org/viewvc?rev=1706035=rev
Log:
More removal of duplicate code to commit a response.

Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11OutputBuffer.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1706035=1706034=1706035=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Wed Sep 30 
13:49:32 2015
@@ -343,9 +343,7 @@ public class AjpProcessor extends Abstra
 break;
 }
 case CLOSE: {
-// End the processing of the current request, and stop any further
-// transactions with the client
-
+action(ActionCode.COMMIT, null);
 try {
 finish();
 } catch (IOException e) {
@@ -1388,17 +1386,6 @@ public class AjpProcessor extends Abstra
  * Finish AJP response.
  */
 private void finish() throws IOException {
-
-if (!response.isCommitted()) {
-// Validate and write response headers
-try {
-prepareResponse();
-} catch (IOException e) {
-setErrorState(ErrorState.CLOSE_NOW, e);
-return;
-}
-}
-
 if (finished)
 return;
 

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11OutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11OutputBuffer.java?rev=1706035=1706034=1706035=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11OutputBuffer.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11OutputBuffer.java Wed Sep 
30 13:49:32 2015
@@ -307,14 +307,6 @@ public class Http11OutputBuffer implemen
  * @throws IOException an underlying I/O error occurred
  */
 public void endRequest() throws IOException {
-
-if (!committed) {
-// Send the connector a request for commit. The connector should
-// then validate the headers, send them (using sendHeader) and
-// set the filters accordingly.
-response.action(ActionCode.COMMIT, null);
-}
-
 if (finished) {
 return;
 }

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1706035=1706034=1706035=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Wed Sep 30 
13:49:32 2015
@@ -666,7 +666,7 @@ public class Http11Processor extends Abs
 break;
 }
 case CLOSE: {
-// End the processing of the current request
+action(ActionCode.COMMIT, null);
 try {
 outputBuffer.endRequest();
 } catch (IOException e) {



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



svn commit: r1706017 - in /tomcat/trunk/java/org/apache/jasper: compiler/Parser.java resources/LocalStrings.properties

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 12:49:35 2015
New Revision: 1706017

URL: http://svn.apache.org/viewvc?rev=1706017=rev
Log:
Fix issue reported by violetagg during 8.0.27 vote.
Improve error message to include name of attribute.

Modified:
tomcat/trunk/java/org/apache/jasper/compiler/Parser.java
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties

Modified: tomcat/trunk/java/org/apache/jasper/compiler/Parser.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/Parser.java?rev=1706017=1706016=1706017=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/Parser.java (original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/Parser.java Wed Sep 30 
12:49:35 2015
@@ -232,7 +232,7 @@ class Parser implements TagConstants {
 }
 watchString = watchString + quote;
 
-String attrValue = parseAttributeValue(watchString, ignoreEL);
+String attrValue = parseAttributeValue(qName, watchString, ignoreEL);
 attrs.addAttribute(uri, localName, qName, "CDATA", attrValue);
 return true;
 }
@@ -263,11 +263,11 @@ class Parser implements TagConstants {
  * RTAttributeValueDouble ::= ((QuotedChar - '"')* - 
((QuotedChar-'"')'%>"')
  * ('%>"' | TRANSLATION_ERROR)
  */
-private String parseAttributeValue(String watch, boolean ignoreEL) throws 
JasperException {
+private String parseAttributeValue(String qName, String watch, boolean 
ignoreEL) throws JasperException {
 Mark start = reader.mark();
 Mark stop = reader.skipUntilIgnoreEsc(watch, ignoreEL);
 if (stop == null) {
-err.jspError(start, "jsp.error.attribute.unterminated", watch);
+err.jspError(start, "jsp.error.attribute.unterminated", qName);
 }
 
 String ret = null;

Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties?rev=1706017=1706016=1706017=diff
==
--- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties Wed 
Sep 30 12:49:35 2015
@@ -250,7 +250,7 @@ jsp.error.tld.mandatory.element.missing=
 jsp.error.dynamic.attributes.not.implemented=The {0} tag declares that it 
accepts dynamic attributes but does not implement the required interface
 jsp.error.attribute.noequal=equal symbol expected
 jsp.error.attribute.noquote=quote symbol expected
-jsp.error.attribute.unterminated=attribute for {0} is not properly terminated
+jsp.error.attribute.unterminated=attribute value for [{0}] is not properly 
terminated
 jsp.error.attribute.noescape=Attribute value {0} is quoted with {1} which must 
be escaped when used within the value
 jsp.error.attribute.nowhitespace=The JSP specification requires that an 
attribute name is preceded by whitespace
 jsp.error.attribute.duplicate=Attribute qualified names must be unique within 
an element



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



svn commit: r1706032 - in /tomcat/trunk/java/org/apache/coyote/http11: Http11OutputBuffer.java Http11Processor.java

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 13:37:07 2015
New Revision: 1706032

URL: http://svn.apache.org/viewvc?rev=1706032=rev
Log:
Refactor to align Processor implementations.
The other processors call commit from the CLIENT_FLUSH action

Modified:
tomcat/trunk/java/org/apache/coyote/http11/Http11OutputBuffer.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11OutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11OutputBuffer.java?rev=1706032=1706031=1706032=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11OutputBuffer.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11OutputBuffer.java Wed Sep 
30 13:37:07 2015
@@ -233,14 +233,6 @@ public class Http11OutputBuffer implemen
  * @throws IOException an underlying I/O error occurred
  */
 public void flush() throws IOException {
-
-if (!committed) {
-// Send the connector a request for commit. The connector should
-// then validate the headers, send them (using sendHeader) and
-// set the filters accordingly.
-response.action(ActionCode.COMMIT, null);
-}
-
 // go through the filters and if there is gzip filter
 // invoke it to flush
 for (int i = 0; i <= lastActiveFilter; i++) {

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1706032=1706031=1706032=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Wed Sep 30 
13:37:07 2015
@@ -692,6 +692,7 @@ public class Http11Processor extends Abs
 break;
 }
 case CLIENT_FLUSH: {
+action(ActionCode.COMMIT, null);
 try {
 outputBuffer.flush();
 } catch (IOException e) {



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



svn commit: r1706033 - in /tomcat/trunk/java/org/apache/coyote: ajp/AjpProcessor.java http11/Http11Processor.java

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 13:41:57 2015
New Revision: 1706033

URL: http://svn.apache.org/viewvc?rev=1706033=rev
Log:
Cosmetic changes to align implementations

Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1706033=1706032=1706033=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Wed Sep 30 
13:41:57 2015
@@ -329,8 +329,8 @@ public class AjpProcessor extends Abstra
  */
 @Override
 public final void action(ActionCode actionCode, Object param) {
-
 switch (actionCode) {
+// 'Normal' servlet support
 case COMMIT: {
 if (!response.isCommitted()) {
 try {

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1706033=1706032=1706033=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Wed Sep 30 
13:41:57 2015
@@ -651,13 +651,12 @@ public class Http11Processor extends Abs
  */
 @Override
 public final void action(ActionCode actionCode, Object param) {
-
 switch (actionCode) {
+// 'Normal' servlet support
 case COMMIT: {
-// Commit current response
 if (!response.isCommitted()) {
-// Validate and write response headers
 try {
+// Validate and write response headers
 prepareResponse();
 outputBuffer.commit();
 } catch (IOException e) {



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



svn commit: r1706034 - in /tomcat/trunk/java/org/apache/coyote/http2: Stream.java StreamProcessor.java

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 13:42:29 2015
New Revision: 1706034

URL: http://svn.apache.org/viewvc?rev=1706034=rev
Log:
The other processors handle this I/O error in the action

Modified:
tomcat/trunk/java/org/apache/coyote/http2/Stream.java
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/http2/Stream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Stream.java?rev=1706034=1706033=1706034=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Stream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Stream.java Wed Sep 30 13:42:29 
2015
@@ -232,13 +232,8 @@ public class Stream extends AbstractStre
 }
 
 
-void writeHeaders() {
-try {
-handler.writeHeaders(this, coyoteResponse);
-} catch (IOException e) {
-// TODO Handle this
-e.printStackTrace();
-}
+void writeHeaders() throws IOException {
+handler.writeHeaders(this, coyoteResponse);
 }
 
 

Modified: tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java?rev=1706034=1706033=1706034=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java Wed Sep 30 
13:42:29 2015
@@ -121,8 +121,12 @@ public class StreamProcessor extends Abs
 // 'Normal' servlet support
 case COMMIT: {
 if (!response.isCommitted()) {
-response.setCommitted(true);
-stream.writeHeaders();
+try {
+response.setCommitted(true);
+stream.writeHeaders();
+} catch (IOException ioe) {
+// TODO: Handle this
+}
 }
 break;
 }



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



svn commit: r1706027 - /tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 13:30:35 2015
New Revision: 1706027

URL: http://svn.apache.org/viewvc?rev=1706027=rev
Log:
Simply. flush(boolean) was only ever called with true

Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1706027=1706026=1706027=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Wed Sep 30 
13:30:35 2015
@@ -371,7 +371,7 @@ public class AjpProcessor extends Abstra
 }
 
 try {
-flush(true);
+flush();
 } catch (IOException e) {
 setErrorState(ErrorState.CLOSE_NOW, e);
 }
@@ -1383,11 +1383,11 @@ public class AjpProcessor extends Abstra
 /**
  * Callback to write data from the buffer.
  */
-private void flush(boolean explicit) throws IOException {
+private void flush() throws IOException {
 // Calling code should ensure that there is no data in the buffers for
 // non-blocking writes.
 // TODO Validate the assertion above
-if (explicit && !finished) {
+if (!finished) {
 // Send the flush message
 socketWrapper.write(true, flushMessageArray, 0, 
flushMessageArray.length);
 socketWrapper.flush(true);



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



Re: [VOTE] Release Apache Tomcat 8.0.27

2015-09-30 Thread Mark Thomas
On 29/09/2015 20:58, Violeta Georgieva wrote:
> 2015-09-29 22:48 GMT+03:00 Mark Thomas :
>>
>> On 29/09/2015 20:37, Violeta Georgieva wrote:



>>>  org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service()
> for
>>> servlet [jsp] in context with path [/test] threw exception [/el-misc.jsp
>>> (line: 44, column: 21) attribute for " is not properly terminated] with
>>> root cause
>>>  org.apache.jasper.JasperException: /el-misc.jsp (line: 44, column: 21)
>>> attribute for " is not properly terminated
>>
>> Ah. When you say the exception is bad do you mean it should report
>> [echo] rather than ["] in the error message above? That does seem like a
>> reasonable requirement.
> 
> Yep the exception should give more information
> 
>> So far, I haven't seen anything that I think is serious enough to stop
>> the 8.0.27 release.
> 
> Agree. As I wrote I didn't find anything in the spec, but I was not sure
> whether I miss something or not.
> Now as you also pointed that this is wrong I think that the exception
> message can be changed in the next release and we can continue with voting.

Fixed for 8.0.28.

Mark


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



svn commit: r1706031 - /tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 13:33:45 2015
New Revision: 1706031

URL: http://svn.apache.org/viewvc?rev=1706031=rev
Log:
Refactor to remove duplicate code

Modified:
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1706031=1706030=1706031=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Wed Sep 30 
13:33:45 2015
@@ -358,16 +358,7 @@ public class AjpProcessor extends Abstra
 break;
 }
 case CLIENT_FLUSH: {
-if (!response.isCommitted()) {
-// Validate and write response headers
-try {
-prepareResponse();
-} catch (IOException e) {
-setErrorState(ErrorState.CLOSE_NOW, e);
-return;
-}
-}
-
+action(ActionCode.COMMIT, null);
 try {
 flush();
 } catch (IOException e) {



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



[GUMP@vmgump]: Project tomcat-trunk-test-nio (in module tomcat-trunk) failed

2015-09-30 Thread Bill Barker
To whom it may engage...

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

Project tomcat-trunk-test-nio 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-test-nio :  Tomcat 9.x, a web server implementing the Java 
Servlet 4.0,
...


Full details are available at:

http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio/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-trunk/output/logs-NIO
 -INFO- Project Reports in: 
/srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO/logs
 -WARNING- No directory 
[/srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO/logs]



The following work was performed:
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio/gump_work/build_tomcat-trunk_tomcat-trunk-test-nio.html
Work Name: build_tomcat-trunk_tomcat-trunk-test-nio (Type: Build)
Work ended in a state of : Failed
Elapsed: 46 mins 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 
-Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar 
-Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.3-SNAPSHOT.jar
 -Dtest.reports=output/logs-NIO 
-Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150930-native-src.tar.gz
 -Dexamples.sources.skip=true 
-Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.5-201506032000/ecj-4.5.jar 
-Dtest.relaxTiming=true 
-Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20150930.jar
 
-Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20150930-native-src.tar.gz
 -Dtest.temp=output/test-tmp-NIO -Dtest.accesslog=true -Dexecute.test.nio=true 
-Dtest.openssl.path=/srv/gump/public/workspace/openssl-ma
 ster/dest-20150930/bin/openssl -Dexecute.test.apr=false 
-Dtest.excludePerformance=true -Dexecute.test.nio2=false 
-Deasymock.jar=/srv/gump/public/workspace/easymock/core/target/easymock-3.5-SNAPSHOT.jar
 -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar 
-Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test 
[Working Directory: /srv/gump/public/workspace/tomcat-trunk]
CLASSPATH: 
/usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-trunk/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-trunk/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/servlet-api.ja
 
r:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jaspic-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-api.jar:/srv

buildbot failure in ASF Buildbot on tomcat-trunk

2015-09-30 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-trunk while building 
ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-trunk/builds/379

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

Buildslave for this Build: silvanus_ubuntu

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



Re: [VOTE] Release Apache Tomcat 8.0.27

2015-09-30 Thread Rainer Jung

Am 28.09.2015 um 13:26 schrieb Mark Thomas:

The proposed Apache Tomcat 8.0.27 release is now available for voting.

The main changes since 8.0.26 are:

- Correctly handle \${ vs \$ escaping in JSP and EL

- Fix for issues with NIO + SSL + sendfile

- Various TLD parsing fixes

- Fix multiple (mostly rare and/or zero impact) concurrency issues


Note: Due to an issues with the Symantec code signing service (the
   certificates used to access the web-based admin GUI have all
   expired and infra is having to jump through some hoops to get
   new ones issues) the Windows Installer package has NOT been
   signed for this release.

There is the usual collection of bug fixes, new features and
performance improvements. For full details, see the changelog:
http://svn.us.apache.org/repos/asf/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

It can be obtained from:
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.27/
The Maven staging repo is:
https://repository.apache.org/content/repositories/orgapachetomcat-1051/
The svn tag is:
http://svn.apache.org/repos/asf/tomcat/tc8.0.x/tags/TOMCAT_8_0_27/

The proposed 8.0.27 release is:
[ ] Broken - do not release
[X] Stable - go ahead and release as 8.0.27


+1 to release.

Thanks for RM.

Regards,

Rainer

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



svn commit: r1706173 - in /tomcat/trunk: java/org/apache/coyote/http2/ test/org/apache/coyote/http2/

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 23:33:55 2015
New Revision: 1706173

URL: http://svn.apache.org/viewvc?rev=1706173=rev
Log:
Add 100-continue support to HTTP/2

Added:
tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_8_1.java   (with 
props)
Modified:
tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
tomcat/trunk/java/org/apache/coyote/http2/Stream.java
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java
tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_9.java

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java?rev=1706173=1706172=1706173=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Wed Sep 
30 23:33:55 2015
@@ -458,7 +458,8 @@ public class Http2UpgradeHandler extends
 }
 
 
-void writeHeaders(Stream stream, Response coyoteResponse) throws 
IOException {
+void writeHeaders(Stream stream, Response coyoteResponse, int payloadSize)
+throws IOException {
 if (log.isDebugEnabled()) {
 log.debug(sm.getString("upgradeHandler.writeHeaders", connectionId,
 stream.getIdentifier()));
@@ -468,10 +469,8 @@ public class Http2UpgradeHandler extends
 
headers.addValue(":status").setString(Integer.toString(coyoteResponse.getStatus()));
 // This ensures the Stream processing thread has control of the socket.
 synchronized (socketWrapper) {
-// Frame sizes are allowed to be bigger than 4k but for headers 
that
-// should be plenty
 byte[] header = new byte[9];
-ByteBuffer target = ByteBuffer.allocate(4 * 1024);
+ByteBuffer target = ByteBuffer.allocate(payloadSize);
 boolean first = true;
 State state = null;
 while (state != State.COMPLETE) {

Modified: tomcat/trunk/java/org/apache/coyote/http2/Stream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Stream.java?rev=1706173=1706172=1706173=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Stream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Stream.java Wed Sep 30 23:33:55 
2015
@@ -37,6 +37,12 @@ public class Stream extends AbstractStre
 private static final Log log = LogFactory.getLog(Stream.class);
 private static final StringManager sm = 
StringManager.getManager(Stream.class);
 
+private static final Response ACK_RESPONSE = new Response();
+
+static {
+ACK_RESPONSE.setStatus(101);
+}
+
 private volatile int weight = Constants.DEFAULT_WEIGHT;
 
 private final Http2UpgradeHandler handler;
@@ -225,6 +231,9 @@ public class Stream extends AbstractStre
 break;
 }
 default: {
+if ("expect".equals(name) && "100-continue".equals(value)) {
+coyoteRequest.setExpectation(true);
+}
 // Assume other HTTP header
 coyoteRequest.getMimeHeaders().addValue(name).setString(value);
 }
@@ -233,9 +242,16 @@ public class Stream extends AbstractStre
 
 
 void writeHeaders() throws IOException {
-handler.writeHeaders(this, coyoteResponse);
+// TODO: Is 1k the optimal value?
+handler.writeHeaders(this, coyoteResponse, 1024);
 }
 
+void writeAck() throws IOException {
+// TODO: Is 64 too big? Just the status header with compression
+handler.writeHeaders(this, ACK_RESPONSE, 64);
+}
+
+
 
 void flushData() throws IOException {
 if (log.isDebugEnabled()) {

Modified: tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java?rev=1706173=1706172=1706173=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java Wed Sep 30 
23:33:55 2015
@@ -139,6 +139,16 @@ public class StreamProcessor extends Abs
 }
 break;
 }
+case ACK: {
+if (!response.isCommitted() && request.hasExpectation()) {
+try {
+stream.writeAck();
+} catch (IOException ioe) {
+// TODO
+}
+}
+break;
+}
 case CLIENT_FLUSH: {
 action(ActionCode.COMMIT, null);
 try {
@@ -330,7 +340,6 @@ public class StreamProcessor extends Abs

svn commit: r1706172 - in /tomcat/trunk/java/org/apache/coyote: Request.java http11/Http11Processor.java

2015-09-30 Thread markt
Author: markt
Date: Wed Sep 30 23:33:27 2015
New Revision: 1706172

URL: http://svn.apache.org/viewvc?rev=1706172=rev
Log:
Refactor the expectation flag to move it to the request (since it is a property 
of the request)

Modified:
tomcat/trunk/java/org/apache/coyote/Request.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/Request.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Request.java?rev=1706172=1706171=1706172=diff
==
--- tomcat/trunk/java/org/apache/coyote/Request.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Request.java Wed Sep 30 23:33:27 2015
@@ -121,6 +121,10 @@ public final class Request {
 private long contentLength = -1;
 private MessageBytes contentTypeMB = null;
 private String charEncoding = null;
+/**
+ * Is there an expectation ?
+ */
+private boolean expectation = false;
 
 private final ServerCookies serverCookies = new 
ServerCookies(INITIAL_COOKIE_SIZE);
 private final Parameters parameters = new Parameters();
@@ -344,6 +348,17 @@ public final class Request {
 return headers.getHeader(name);
 }
 
+
+public void setExpectation(boolean expectation) {
+this.expectation = expectation;
+}
+
+
+public boolean hasExpectation() {
+return expectation;
+}
+
+
 //  Associated response 
 
 public Response getResponse() {
@@ -524,6 +539,7 @@ public final class Request {
 contentLength = -1;
 contentTypeMB = null;
 charEncoding = null;
+expectation = false;
 headers.recycle();
 serverNameMB.recycle();
 serverPort=-1;

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1706172=1706171=1706172=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Wed Sep 30 
23:33:27 2015
@@ -152,12 +152,6 @@ public class Http11Processor extends Abs
 
 
 /**
- * Is there an expectation ?
- */
-protected boolean expectation = false;
-
-
-/**
  * Regular expression that defines the restricted user agents.
  */
 protected Pattern restrictedUserAgents = null;
@@ -678,15 +672,13 @@ public class Http11Processor extends Abs
 // Acknowledge request
 // Send a 100 status back if it makes sense (response not committed
 // yet, and client specified an expectation for 100-continue)
-if ((response.isCommitted()) || !expectation) {
-return;
-}
-
-inputBuffer.setSwallowInput(true);
-try {
-outputBuffer.sendAck();
-} catch (IOException e) {
-setErrorState(ErrorState.CLOSE_NOW, e);
+if (!response.isCommitted() && request.hasExpectation()) {
+inputBuffer.setSwallowInput(true);
+try {
+outputBuffer.sendAck();
+} catch (IOException e) {
+setErrorState(ErrorState.CLOSE_NOW, e);
+}
 }
 break;
 }
@@ -1227,7 +1219,8 @@ public class Http11Processor extends Abs
 
 
 private void checkExpectationAndResponseStatus() {
-if (expectation && (response.getStatus() < 200 || response.getStatus() 
> 299)) {
+if (request.hasExpectation() &&
+(response.getStatus() < 200 || response.getStatus() > 299)) {
 // Client sent Expect: 100-continue but received a
 // non-2xx final response. Disable keep-alive (if enabled)
 // to ensure that the connection is closed. Some clients may
@@ -1248,7 +1241,6 @@ public class Http11Processor extends Abs
 http11 = true;
 http09 = false;
 contentDelimitation = false;
-expectation = false;
 sendfileData = null;
 
 if (endpoint.isSSLEnabled()) {
@@ -1307,7 +1299,7 @@ public class Http11Processor extends Abs
 if (expectMB != null) {
 if (expectMB.indexOfIgnoreCase("100-continue", 0) != -1) {
 inputBuffer.setSwallowInput(false);
-expectation = true;
+request.setExpectation(true);
 } else {
 response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED);
 setErrorState(ErrorState.CLOSE_CLEAN, null);



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



svn commit: r1706179 - in /tomcat/native/trunk/native/src: sslinfo.c sslutils.c

2015-09-30 Thread billbarker
Author: billbarker
Date: Thu Oct  1 01:20:57 2015
New Revision: 1706179

URL: http://svn.apache.org/viewvc?rev=1706179=rev
Log:
catch up with OpenSSL master. ported from 1.1 branch

Modified:
tomcat/native/trunk/native/src/sslinfo.c
tomcat/native/trunk/native/src/sslutils.c

Modified: tomcat/native/trunk/native/src/sslinfo.c
URL: 
http://svn.apache.org/viewvc/tomcat/native/trunk/native/src/sslinfo.c?rev=1706179=1706178=1706179=diff
==
--- tomcat/native/trunk/native/src/sslinfo.c (original)
+++ tomcat/native/trunk/native/src/sslinfo.c Thu Oct  1 01:20:57 2015
@@ -393,14 +393,22 @@ TCN_IMPLEMENT_CALL(jstring, SSLSocket, g
 }
 break;
 case SSL_INFO_CLIENT_A_SIG:
+#if OPENSSL_VERSION_NUMBER < 0x1010L
 nid = OBJ_obj2nid((ASN1_OBJECT 
*)xs->cert_info->signature->algorithm);
+#else
+nid = X509_get_signature_nid(xs);
+#endif
 if (nid == NID_undef)
 value = tcn_new_string(e, "UNKNOWN");
 else
 value = tcn_new_string(e, OBJ_nid2ln(nid));
 break;
 case SSL_INFO_CLIENT_A_KEY:
+#if OPENSSL_VERSION_NUMBER < 0x1010L
 nid = OBJ_obj2nid((ASN1_OBJECT 
*)xs->cert_info->key->algor->algorithm);
+#else
+nid = OBJ_obj2nid((ASN1_OBJECT 
*)(X509_get_X509_PUBKEY(xs)->algor->algorithm));
+#endif
 if (nid == NID_undef)
 value = tcn_new_string(e, "UNKNOWN");
 else
@@ -442,14 +450,22 @@ TCN_IMPLEMENT_CALL(jstring, SSLSocket, g
 }
 break;
 case SSL_INFO_SERVER_A_SIG:
+#if OPENSSL_VERSION_NUMBER < 0x1010L
 nid = OBJ_obj2nid((ASN1_OBJECT 
*)xs->cert_info->signature->algorithm);
+#else
+nid = X509_get_signature_nid(xs);
+#endif
 if (nid == NID_undef)
 value = tcn_new_string(e, "UNKNOWN");
 else
 value = tcn_new_string(e, OBJ_nid2ln(nid));
 break;
 case SSL_INFO_SERVER_A_KEY:
+#if OPENSSL_VERSION_NUMBER < 0x1010L
 nid = OBJ_obj2nid((ASN1_OBJECT 
*)xs->cert_info->key->algor->algorithm);
+#else
+nid = OBJ_obj2nid((ASN1_OBJECT 
*)(X509_get_X509_PUBKEY(xs)->algor->algorithm));
+#endif
 if (nid == NID_undef)
 value = tcn_new_string(e, "UNKNOWN");
 else

Modified: tomcat/native/trunk/native/src/sslutils.c
URL: 
http://svn.apache.org/viewvc/tomcat/native/trunk/native/src/sslutils.c?rev=1706179=1706178=1706179=diff
==
--- tomcat/native/trunk/native/src/sslutils.c (original)
+++ tomcat/native/trunk/native/src/sslutils.c Thu Oct  1 01:20:57 2015
@@ -419,7 +419,11 @@ static int ssl_verify_CRL(int ok, X509_S
 X509_REVOKED *revoked =
 sk_X509_REVOKED_value(X509_CRL_get_REVOKED(crl), i);
 
+#if OPENSSL_VERSION_NUMBER < 0x1010L
 ASN1_INTEGER *sn = revoked->serialNumber;
+#else
+ASN1_INTEGER *sn = X509_REVOKED_get0_serialNumber(revoked);
+#endif
 
 if (!ASN1_INTEGER_cmp(sn, X509_get_serialNumber(cert))) {
 X509_STORE_CTX_set_error(ctx, X509_V_ERR_CERT_REVOKED);



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



buildbot success in ASF Buildbot on tomcat-8-trunk

2015-09-30 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-8-trunk while 
building ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-8-trunk/builds/172

Buildbot URL: http://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] 1706018
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



buildbot exception in ASF Buildbot on tomcat-trunk

2015-09-30 Thread buildbot
The Buildbot has detected a build exception on builder tomcat-trunk while 
building ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-trunk/builds/378

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

Buildslave for this Build: silvanus_ubuntu

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

BUILD FAILED: exception upload_2

Sincerely,
 -The Buildbot




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