svn commit: r1812460 - in /tomcat/trunk: java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java webapps/docs/changelog.xml

2017-10-18 Thread kfujino
Author: kfujino
Date: Wed Oct 18 07:27:02 2017
New Revision: 1812460

URL: http://svn.apache.org/viewvc?rev=1812460&view=rev
Log:
Ensure that the remaining Sender can send channel messages by avoiding 
unintended ChannelException caused by comparing the number of failed members 
and the number of remaining Senders.

Modified:

tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java?rev=1812460&r1=1812459&r2=1812460&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
 Wed Oct 18 07:27:02 2017
@@ -90,8 +90,6 @@ public class ParallelNioSender extends A
 remaining -= (cx.getFaultyMembers().length - faulty);
 }
 }
-//bail out if all remaining senders are failing
-if ( cx != null && cx.getFaultyMembers().length == remaining ) 
throw cx;
 delta = System.currentTimeMillis() - start;
 }
 if ( remaining > 0 ) {

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1812460&r1=1812459&r2=1812460&view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed Oct 18 07:27:02 2017
@@ -113,6 +113,11 @@
 than the actual setting value of maxRetryAttempts.
 (kfujino)
   
+  
+Ensure that the remaining Sender can send channel messages by avoiding
+unintended ChannelException caused by comparing the number
+of failed members and the number of remaining Senders. (kfujino)
+  
 
   
   



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



svn commit: r1812471 - in /tomcat/trunk: java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java webapps/docs/changelog.xml

2017-10-18 Thread kfujino
Author: kfujino
Date: Wed Oct 18 08:25:03 2017
New Revision: 1812471

URL: http://svn.apache.org/viewvc?rev=1812471&view=rev
Log:
Ensure that remaining SelectionKeys that were not handled by throwing a 
ChannelException during SelectionKey processing are handled.

Modified:

tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java?rev=1812471&r1=1812470&r2=1812471&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
 Wed Oct 18 08:25:03 2017
@@ -20,8 +20,10 @@ import java.io.IOException;
 import java.net.UnknownHostException;
 import java.nio.channels.SelectionKey;
 import java.nio.channels.Selector;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -73,22 +75,25 @@ public class ParallelNioSender extends A
 msg.getOptions()) == Channel.SEND_OPTIONS_USE_ACK;
 while ( (remaining>0) && (delta it = selector.selectedKeys().iterator();
@@ -136,8 +146,8 @@ public class ParallelNioSender extends A
 NioSender sender = (NioSender) sk.attachment();
 try {
 if (sender.process(sk,waitForAck)) {
-completed++;
 sender.setComplete(true);
+result.complete(sender);
 if ( Logs.MESSAGES.isTraceEnabled() ) {
 Logs.MESSAGES.trace("ParallelNioSender - Sent msg:" +
 new UniqueId(msg.getUniqueId()) + " at " +
@@ -170,17 +180,18 @@ public class ParallelNioSender extends A
 
log.warn(sm.getString("parallelNioSender.sender.disconnected.notRetry", 
sender.getDestination().getName()));
 ChannelException cx = new 
ChannelException(sm.getString("parallelNioSender.sender.disconnected.sendFailed"),
 x);
 cx.addFaultyMember(sender.getDestination(),x);
-throw cx;
+result.failed(cx);
+break;
 }
 
 byte[] data = sender.getMessage();
-if ( retry ) {
+if (retry) {
 try {
 sender.disconnect();
 sender.connect();
 sender.setAttempt(attempt);
 sender.setMessage(data);
-}catch ( Exception ignore){
+} catch (Exception ignore){
 state.setFailing();
 }
 } else {
@@ -189,12 +200,31 @@ public class ParallelNioSender extends A
 Integer.toString(sender.getAttempt()),
 Integer.toString(maxAttempts)), x);
 cx.addFaultyMember(sender.getDestination(),x);
-throw cx;
+result.failed(cx);
 }//end if
 }
 }
-return completed;
+return result;
+
+}
+
+private static class SendResult {
+private List completeSenders = new ArrayList<>();
+private ChannelException exception = null;
+private void complete(NioSender sender) {
+if (!completeSenders.contains(sender)) completeSenders.add(sender);
+}
+private int getCompleted() {
+return completeSenders.size();
+}
+private void failed(ChannelException cx){
+if (exception == null) exception = cx;
+exception.addFaultyMember(cx.getFaultyMembers());
+}
 
+private ChannelException getFailed() {
+return exception;
+}
 }
 
 private void connect(NioSender[] senders) throws ChannelException {

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1812471&r1=1812470&r2=1812471&view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed Oct 18 08:25:03 2017
@@ -118,6 +118,11 @@
 unintended ChannelException caused by comparing the number
 of failed members and the number of remaining Senders. (kfujino)
   
+  
+Ensure that remaining SelectionKeys that were not handled by throwing a
+ChannelException during SelectionKey processing are
+handled. (kfujin

svn commit: r1812472 - in /tomcat/tc8.5.x/trunk: java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java webapps/docs/changelog.xml

2017-10-18 Thread kfujino
Author: kfujino
Date: Wed Oct 18 08:27:32 2017
New Revision: 1812472

URL: http://svn.apache.org/viewvc?rev=1812472&view=rev
Log:
-Ensure that the remaining Sender can send channel messages by avoiding 
unintended ChannelException caused by comparing the number of failed members 
and the number of remaining Senders.
-Ensure that remaining SelectionKeys that were not handled by throwing a 
ChannelException during SelectionKey processing are handled.

Modified:

tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java?rev=1812472&r1=1812471&r2=1812472&view=diff
==
--- 
tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
 (original)
+++ 
tomcat/tc8.5.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
 Wed Oct 18 08:27:32 2017
@@ -20,8 +20,10 @@ import java.io.IOException;
 import java.net.UnknownHostException;
 import java.nio.channels.SelectionKey;
 import java.nio.channels.Selector;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -73,25 +75,26 @@ public class ParallelNioSender extends A
 msg.getOptions()) == Channel.SEND_OPTIONS_USE_ACK;
 while ( (remaining>0) && (delta 0 ) {
@@ -120,13 +123,17 @@ public class ParallelNioSender extends A
 
 }
 
-private int doLoop(long selectTimeOut, int maxAttempts, boolean 
waitForAck, ChannelMessage msg)
-throws IOException, ChannelException {
-int completed = 0;
-int selectedKeys = selector.select(selectTimeOut);
-
+private SendResult doLoop(long selectTimeOut, int maxAttempts, boolean 
waitForAck, ChannelMessage msg)
+throws ChannelException {
+SendResult result = new SendResult();
+int selectedKeys;
+try {
+selectedKeys = selector.select(selectTimeOut);
+} catch (IOException ioe) {
+throw new 
ChannelException(sm.getString("parallelNioSender.send.failed"), ioe);
+}
 if (selectedKeys == 0) {
-return 0;
+return result;
 }
 
 Iterator it = selector.selectedKeys().iterator();
@@ -138,8 +145,8 @@ public class ParallelNioSender extends A
 NioSender sender = (NioSender) sk.attachment();
 try {
 if (sender.process(sk,waitForAck)) {
-completed++;
 sender.setComplete(true);
+result.complete(sender);
 if ( Logs.MESSAGES.isTraceEnabled() ) {
 Logs.MESSAGES.trace("ParallelNioSender - Sent msg:" +
 new UniqueId(msg.getUniqueId()) + " at " +
@@ -172,17 +179,18 @@ public class ParallelNioSender extends A
 
log.warn(sm.getString("parallelNioSender.sender.disconnected.notRetry", 
sender.getDestination().getName()));
 ChannelException cx = new 
ChannelException(sm.getString("parallelNioSender.sender.disconnected.sendFailed"),
 x);
 cx.addFaultyMember(sender.getDestination(),x);
-throw cx;
+result.failed(cx);
+break;
 }
 
 byte[] data = sender.getMessage();
-if ( retry ) {
+if (retry) {
 try {
 sender.disconnect();
 sender.connect();
 sender.setAttempt(attempt);
 sender.setMessage(data);
-}catch ( Exception ignore){
+} catch (Exception ignore){
 state.setFailing();
 }
 } else {
@@ -191,12 +199,31 @@ public class ParallelNioSender extends A
 Integer.toString(sender.getAttempt()),
 Integer.toString(maxAttempts)), x);
 cx.addFaultyMember(sender.getDestination(),x);
-throw cx;
+result.failed(cx);
 }//end if
 }
 }
-return completed;
+return result;
+
+}
+
+private static class SendResult {
+private List completeSenders = new ArrayList<>();
+private ChannelException exception = null;
+private void complete(NioSender sender) {
+if (!completeSenders.contains(sender)) completeSenders.add(sender);
+}
+private int getCompleted() {
+

svn commit: r1812473 - in /tomcat/tc8.0.x/trunk: java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java webapps/docs/changelog.xml

2017-10-18 Thread kfujino
Author: kfujino
Date: Wed Oct 18 08:28:47 2017
New Revision: 1812473

URL: http://svn.apache.org/viewvc?rev=1812473&view=rev
Log:
-Ensure that the remaining Sender can send channel messages by avoiding 
unintended ChannelException caused by comparing the number of failed members 
and the number of remaining Senders.
-Ensure that remaining SelectionKeys that were not handled by throwing a 
ChannelException during SelectionKey processing are handled.

Modified:

tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java?rev=1812473&r1=1812472&r2=1812473&view=diff
==
--- 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
 (original)
+++ 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
 Wed Oct 18 08:28:47 2017
@@ -20,8 +20,10 @@ import java.io.IOException;
 import java.net.UnknownHostException;
 import java.nio.channels.SelectionKey;
 import java.nio.channels.Selector;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -79,25 +81,26 @@ public class ParallelNioSender extends A
 msg.getOptions()) == Channel.SEND_OPTIONS_USE_ACK;
 while ( (remaining>0) && (delta 0 ) {
@@ -126,13 +129,17 @@ public class ParallelNioSender extends A
 
 }
 
-private int doLoop(long selectTimeOut, int maxAttempts, boolean 
waitForAck, ChannelMessage msg)
-throws IOException, ChannelException {
-int completed = 0;
-int selectedKeys = selector.select(selectTimeOut);
-
+private SendResult doLoop(long selectTimeOut, int maxAttempts, boolean 
waitForAck, ChannelMessage msg)
+throws ChannelException {
+SendResult result = new SendResult();
+int selectedKeys;
+try {
+selectedKeys = selector.select(selectTimeOut);
+} catch (IOException ioe) {
+throw new 
ChannelException(sm.getString("parallelNioSender.send.failed"), ioe);
+}
 if (selectedKeys == 0) {
-return 0;
+return result;
 }
 
 Iterator it = selector.selectedKeys().iterator();
@@ -144,8 +151,8 @@ public class ParallelNioSender extends A
 NioSender sender = (NioSender) sk.attachment();
 try {
 if (sender.process(sk,waitForAck)) {
-completed++;
 sender.setComplete(true);
+result.complete(sender);
 if ( Logs.MESSAGES.isTraceEnabled() ) {
 Logs.MESSAGES.trace("ParallelNioSender - Sent msg:" +
 new UniqueId(msg.getUniqueId()) + " at " +
@@ -178,17 +185,18 @@ public class ParallelNioSender extends A
 
log.warn(sm.getString("parallelNioSender.sender.disconnected.notRetry", 
sender.getDestination().getName()));
 ChannelException cx = new 
ChannelException(sm.getString("parallelNioSender.sender.disconnected.sendFailed"),
 x);
 cx.addFaultyMember(sender.getDestination(),x);
-throw cx;
+result.failed(cx);
+break;
 }
 
 byte[] data = sender.getMessage();
-if ( retry ) {
+if (retry) {
 try {
 sender.disconnect();
 sender.connect();
 sender.setAttempt(attempt);
 sender.setMessage(data);
-}catch ( Exception ignore){
+} catch (Exception ignore){
 state.setFailing();
 }
 } else {
@@ -197,12 +205,31 @@ public class ParallelNioSender extends A
 Integer.toString(sender.getAttempt()),
 Integer.toString(maxAttempts)), x);
 cx.addFaultyMember(sender.getDestination(),x);
-throw cx;
+result.failed(cx);
 }//end if
 }
 }
-return completed;
+return result;
+
+}
+
+private static class SendResult {
+private List completeSenders = new ArrayList<>();
+private ChannelException exception = null;
+private void complete(NioSender sender) {
+if (!completeSenders.contains(sender)) completeSenders.add(sender);
+}
+private int getCompleted() {
+

svn commit: r1812474 - in /tomcat/tc7.0.x/trunk: java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java webapps/docs/changelog.xml

2017-10-18 Thread kfujino
Author: kfujino
Date: Wed Oct 18 08:30:46 2017
New Revision: 1812474

URL: http://svn.apache.org/viewvc?rev=1812474&view=rev
Log:
-Ensure that the remaining Sender can send channel messages by avoiding 
unintended ChannelException caused by comparing the number of failed members 
and the number of remaining Senders.
-Ensure that remaining SelectionKeys that were not handled by throwing a 
ChannelException during SelectionKey processing are handled.

Modified:

tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java?rev=1812474&r1=1812473&r2=1812474&view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java
 Wed Oct 18 08:30:46 2017
@@ -21,8 +21,10 @@ import java.io.IOException;
 import java.net.UnknownHostException;
 import java.nio.channels.SelectionKey;
 import java.nio.channels.Selector;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -86,21 +88,26 @@ public class ParallelNioSender extends A
 boolean waitForAck = (Channel.SEND_OPTIONS_USE_ACK & 
msg.getOptions()) == Channel.SEND_OPTIONS_USE_ACK;
 while ( (remaining>0) && (delta 0 ) {
@@ -123,12 +130,17 @@ public class ParallelNioSender extends A
 
 }
 
-private int doLoop(long selectTimeOut, int maxAttempts, boolean 
waitForAck, ChannelMessage msg) throws IOException, ChannelException {
-int completed = 0;
-int selectedKeys = selector.select(selectTimeOut);
+private SendResult doLoop(long selectTimeOut, int maxAttempts, boolean 
waitForAck, ChannelMessage msg) throws ChannelException {
+SendResult result = new SendResult();
+int selectedKeys;
+try {
+selectedKeys = selector.select(selectTimeOut);
+} catch (IOException ioe) {
+throw new ChannelException("Parallel NIO send failed.", ioe);
+}
 
 if (selectedKeys == 0) {
-return 0;
+return result;
 }
 
 Iterator it = selector.selectedKeys().iterator();
@@ -140,8 +152,8 @@ public class ParallelNioSender extends A
 NioSender sender = (NioSender) sk.attachment();
 try {
 if (sender.process(sk,waitForAck)) {
-completed++;
 sender.setComplete(true);
+result.complete(sender);
 if ( Logs.MESSAGES.isTraceEnabled() ) {
 Logs.MESSAGES.trace("ParallelNioSender - Sent msg:" + 
new UniqueId(msg.getUniqueId()) + " at " +new 
java.sql.Timestamp(System.currentTimeMillis())+ " to 
"+sender.getDestination().getName());
 }
@@ -170,28 +182,47 @@ public class ParallelNioSender extends A
 log.warn("Not retrying send for:" + 
sender.getDestination().getName() + "; Sender is disconnected.");
 ChannelException cx = new ChannelException("Send failed, 
and sender is disconnected. Not retrying.",x);
 cx.addFaultyMember(sender.getDestination(),x);
-throw cx;
+result.failed(cx);
+break;
 }
 
 byte[] data = sender.getMessage();
-if ( retry ) {
+if (retry) {
 try {
 sender.disconnect();
 sender.connect();
 sender.setAttempt(attempt);
 sender.setMessage(data);
-}catch ( Exception ignore){
+} catch ( Exception ignore){
 state.setFailing();
 }
 } else {
 ChannelException cx = new ChannelException("Send failed, 
attempt:"+sender.getAttempt()+" max:"+maxAttempts,x);
 cx.addFaultyMember(sender.getDestination(),x);
-throw cx;
+result.failed(cx);
 }//end if
 }
 }
-return completed;
+return result;
+}
+
+private static class SendResult {
+private List completeSenders = new ArrayList();
+private ChannelException exception = null;
+private void complete(NioSender sender) {
+if (!completeSenders.contains(sender)) completeSenders.add(sender);
+}
+private int getCompleted() {
+return c

svn commit: r1812490 - in /tomcat/trunk/java/org/apache: catalina/manager/StatusTransformer.java catalina/storeconfig/StoreAppender.java catalina/util/RequestUtil.java jasper/compiler/JspUtil.java jas

2017-10-18 Thread markt
Author: markt
Date: Wed Oct 18 10:40:01 2017
New Revision: 1812490

URL: http://svn.apache.org/viewvc?rev=1812490&view=rev
Log:
Remove deprecated code

Modified:
tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java
tomcat/trunk/java/org/apache/catalina/storeconfig/StoreAppender.java
tomcat/trunk/java/org/apache/catalina/util/RequestUtil.java
tomcat/trunk/java/org/apache/jasper/compiler/JspUtil.java
tomcat/trunk/java/org/apache/jasper/security/SecurityUtil.java

Modified: tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java?rev=1812490&r1=1812489&r2=1812490&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java Wed 
Oct 18 10:40:01 2017
@@ -908,81 +908,6 @@ public class StatusTransformer {
 
 
 /**
- * Filter the specified message string for characters that are sensitive
- * in HTML.  This avoids potential attacks caused by including JavaScript
- * codes in the request URL that is often reported in error messages.
- *
- * @param obj The message string to be filtered
- * @return filtered HTML content
- *
- * @deprecated This method will be removed in Tomcat 9
- */
-@Deprecated
-public static String filter(Object obj) {
-
-if (obj == null)
-return "?";
-String message = obj.toString();
-
-char content[] = new char[message.length()];
-message.getChars(0, message.length(), content, 0);
-StringBuilder result = new StringBuilder(content.length + 50);
-for (int i = 0; i < content.length; i++) {
-switch (content[i]) {
-case '<':
-result.append("<");
-break;
-case '>':
-result.append(">");
-break;
-case '&':
-result.append("&");
-break;
-case '"':
-result.append(""");
-break;
-default:
-result.append(content[i]);
-}
-}
-return result.toString();
-
-}
-
-
-/**
- * Escape the 5 entities defined by XML.
- * @param s The message string to be filtered
- * @return filtered XML content
- *
- * @deprecated This method will be removed in Tomcat 9
- */
-@Deprecated
-public static String filterXml(String s) {
-if (s == null)
-return "";
-StringBuilder sb = new StringBuilder();
-for (int i = 0; i < s.length(); i++) {
-char c = s.charAt(i);
-if (c == '<') {
-sb.append("<");
-} else if (c == '>') {
-sb.append(">");
-} else if (c == '\'') {
-sb.append("'");
-} else if (c == '&') {
-sb.append("&");
-} else if (c == '"') {
-sb.append(""");
-} else {
-sb.append(c);
-}
-}
-return sb.toString();
-}
-
-
-/**
  * Display the given size in bytes, either as KB or MB.
  *
  * @param obj The object to format

Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/StoreAppender.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StoreAppender.java?rev=1812490&r1=1812489&r2=1812490&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/storeconfig/StoreAppender.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/StoreAppender.java Wed 
Oct 18 10:40:01 2017
@@ -356,36 +356,6 @@ public class StoreAppender {
 writer.print("\"");
 }
 
-/**
- * Given a string, this method replaces all occurrences of '<', '>',
- * '&', and '"'.
- * @param input The string to escape
- * @return the escaped string
- * @deprecated This method will be removed in Tomcat 9
- */
-@Deprecated
-public String convertStr(String input) {
-
-StringBuffer filtered = new StringBuffer(input.length());
-char c;
-for (int i = 0; i < input.length(); i++) {
-c = input.charAt(i);
-if (c == '<') {
-filtered.append("<");
-} else if (c == '>') {
-filtered.append(">");
-} else if (c == '\'') {
-filtered.append("'");
-} else if (c == '"') {
-filtered.append(""");
-} else if (c == '&') {
-filtered.append("&");
-} else {
-filtered.append(c);
-}
-}
-return filtered.toString();
-}
 
 /**
 

svn commit: r1812489 - in /tomcat/trunk: java/org/apache/catalina/connector/ java/org/apache/catalina/manager/ java/org/apache/catalina/manager/host/ java/org/apache/catalina/servlets/ java/org/apache

2017-10-18 Thread markt
Author: markt
Date: Wed Oct 18 10:39:54 2017
New Revision: 1812489

URL: http://svn.apache.org/viewvc?rev=1812489&view=rev
Log:
Refactor XML and HTML escaping to a single location

Added:
tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java   (with props)
Modified:
tomcat/trunk/java/org/apache/catalina/connector/Response.java
tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java
tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java
tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java

tomcat/trunk/java/org/apache/catalina/manager/host/HTMLHostManagerServlet.java
tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java
tomcat/trunk/java/org/apache/catalina/servlets/WebdavServlet.java
tomcat/trunk/java/org/apache/catalina/ssi/SSIMediator.java
tomcat/trunk/java/org/apache/catalina/storeconfig/StoreAppender.java
tomcat/trunk/java/org/apache/catalina/users/MemoryUser.java
tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java
tomcat/trunk/java/org/apache/catalina/util/RequestUtil.java
tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
tomcat/trunk/java/org/apache/jasper/compiler/JspUtil.java
tomcat/trunk/java/org/apache/jasper/compiler/PageDataImpl.java
tomcat/trunk/java/org/apache/jasper/compiler/Validator.java
tomcat/trunk/java/org/apache/jasper/security/SecurityUtil.java
tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java
tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXml.java
tomcat/trunk/test/org/apache/jasper/compiler/TesterValidator.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/Response.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Response.java?rev=1812489&r1=1812488&r2=1812489&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/Response.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Response.java Wed Oct 18 
10:39:54 2017
@@ -51,7 +51,6 @@ import org.apache.catalina.Globals;
 import org.apache.catalina.Session;
 import org.apache.catalina.Wrapper;
 import org.apache.catalina.security.SecurityUtil;
-import org.apache.catalina.util.RequestUtil;
 import org.apache.catalina.util.SessionConfig;
 import org.apache.coyote.ActionCode;
 import org.apache.juli.logging.Log;
@@ -64,6 +63,7 @@ import org.apache.tomcat.util.http.FastH
 import org.apache.tomcat.util.http.MimeHeaders;
 import org.apache.tomcat.util.http.parser.MediaTypeCache;
 import org.apache.tomcat.util.res.StringManager;
+import org.apache.tomcat.util.security.Escape;
 
 /**
  * Wrapper object for the Coyote response.
@@ -1374,7 +1374,7 @@ public class Response implements HttpSer
 if (getContext().getSendRedirectBody()) {
 PrintWriter writer = getWriter();
 writer.print(sm.getString("coyoteResponse.sendRedirect.note",
-RequestUtil.filter(locationUri)));
+Escape.htmlElementContent(locationUri)));
 flushBuffer();
 }
 } catch (IllegalArgumentException e) {

Modified: tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java?rev=1812489&r1=1812488&r2=1812489&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java Wed 
Oct 18 10:39:54 2017
@@ -49,10 +49,10 @@ import org.apache.catalina.Session;
 import org.apache.catalina.manager.util.BaseSessionComparator;
 import org.apache.catalina.manager.util.SessionUtils;
 import org.apache.catalina.util.ContextName;
-import org.apache.catalina.util.RequestUtil;
 import org.apache.catalina.util.ServerInfo;
 import org.apache.catalina.util.URLEncoder;
 import org.apache.tomcat.util.res.StringManager;
+import org.apache.tomcat.util.security.Escape;
 
 /**
 * Servlet that enables remote management of the web applications deployed
@@ -349,7 +349,7 @@ public final class HTMLManagerServlet ex
 if (message == null || message.length() == 0) {
 args[1] = "OK";
 } else {
-args[1] = RequestUtil.filter(message);
+args[1] = Escape.htmlElementContent(message);
 }
 writer.print(MessageFormat.format(Constants.MESSAGE_SECTION, args));
 
@@ -442,19 +442,19 @@ public final class HTMLManagerServlet ex
 args = new Object[7];
 args[0] = "" + RequestUtil.filter(displayPath) + "";
+"\">" + Escape.htmlElementContent(displayPath) + 
"";
 if ("".equals(ctxt.getWebappVersion())) {
 args[1] = noVersion;
  

svn commit: r1812492 - in /tomcat/tc8.5.x/trunk: ./ java/org/apache/catalina/connector/ java/org/apache/catalina/manager/ java/org/apache/catalina/manager/host/ java/org/apache/catalina/servlets/ java

2017-10-18 Thread markt
Author: markt
Date: Wed Oct 18 10:46:14 2017
New Revision: 1812492

URL: http://svn.apache.org/viewvc?rev=1812492&view=rev
Log:
Refactor XML and HTML escaping to a single location

Added:
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/security/Escape.java
  - copied unchanged from r1812489, 
tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java
Modified:
tomcat/tc8.5.x/trunk/   (props changed)
tomcat/tc8.5.x/trunk/java/org/apache/catalina/connector/Response.java

tomcat/tc8.5.x/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java
tomcat/tc8.5.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java
tomcat/tc8.5.x/trunk/java/org/apache/catalina/manager/StatusTransformer.java

tomcat/tc8.5.x/trunk/java/org/apache/catalina/manager/host/HTMLHostManagerServlet.java
tomcat/tc8.5.x/trunk/java/org/apache/catalina/servlets/DefaultServlet.java
tomcat/tc8.5.x/trunk/java/org/apache/catalina/servlets/WebdavServlet.java
tomcat/tc8.5.x/trunk/java/org/apache/catalina/ssi/SSIMediator.java
tomcat/tc8.5.x/trunk/java/org/apache/catalina/storeconfig/StoreAppender.java
tomcat/tc8.5.x/trunk/java/org/apache/catalina/users/MemoryUser.java
tomcat/tc8.5.x/trunk/java/org/apache/catalina/util/DOMWriter.java
tomcat/tc8.5.x/trunk/java/org/apache/catalina/util/RequestUtil.java
tomcat/tc8.5.x/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
tomcat/tc8.5.x/trunk/java/org/apache/jasper/compiler/JspUtil.java
tomcat/tc8.5.x/trunk/java/org/apache/jasper/compiler/PageDataImpl.java
tomcat/tc8.5.x/trunk/java/org/apache/jasper/compiler/Validator.java
tomcat/tc8.5.x/trunk/java/org/apache/jasper/security/SecurityUtil.java
tomcat/tc8.5.x/trunk/java/org/apache/jasper/servlet/JspServlet.java
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/descriptor/web/WebXml.java
tomcat/tc8.5.x/trunk/test/org/apache/jasper/compiler/TesterValidator.java

Propchange: tomcat/tc8.5.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Oct 18 10:46:14 2017
@@ -1,2 +1,2 @@
 /tomcat/tc8.0.x/trunk:1809644
-/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,1739492,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,1744149,1744194,1744229,1744270,1744323,1744432,1744684,1744697,1744705,1744713,1744760,1744786,1745083,1745142-1745143,1745145,1745177,1745179-1745180,1745227,1745248,1745254,1745337,1745467,1745473,1745535,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,1747
 
404,1747506,1747536,1747924,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,17

svn commit: r1812494 - /tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java

2017-10-18 Thread markt
Author: markt
Date: Wed Oct 18 10:48:57 2017
New Revision: 1812494

URL: http://svn.apache.org/viewvc?rev=1812494&view=rev
Log:
Remove deprecated / unused code.

Modified:
tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java

Modified: tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java?rev=1812494&r1=1812493&r2=1812494&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java (original)
+++ tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java Wed Oct 18 
10:48:57 2017
@@ -27,24 +27,15 @@ import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
 /**
- * A sample DOM writer. This sample program illustrates how to traverse a DOM
- * tree in order to print a document that is parsed.
+ * A DOM writer optimised for use by WebDAV.
  */
 public class DOMWriter {
 
 private final PrintWriter out;
-private final boolean canonical;
 
 
 public DOMWriter(Writer writer) {
-this (writer, true);
-}
-
-
-@Deprecated
-public DOMWriter(Writer writer, boolean canonical) {
 out = new PrintWriter(writer);
-this.canonical = canonical;
 }
 
 
@@ -63,9 +54,6 @@ public class DOMWriter {
 switch (type) {
 // print document
 case Node.DOCUMENT_NODE:
-if (!canonical) {
-out.println("");
-}
 print(((Document) node).getDocumentElement());
 out.flush();
 break;
@@ -81,7 +69,7 @@ public class DOMWriter {
 out.print(attr.getLocalName());
 
 out.print("=\"");
-out.print(Escape.xml("", canonical, attr.getNodeValue()));
+out.print(Escape.xml("", true, attr.getNodeValue()));
 out.print('"');
 }
 out.print('>');
@@ -90,29 +78,17 @@ public class DOMWriter {
 
 // handle entity reference nodes
 case Node.ENTITY_REFERENCE_NODE:
-if (canonical) {
-printChildren(node);
-} else {
-out.print('&');
-out.print(node.getLocalName());
-out.print(';');
-}
+printChildren(node);
 break;
 
 // print cdata sections
 case Node.CDATA_SECTION_NODE:
-if (canonical) {
-out.print(Escape.xml("", canonical, node.getNodeValue()));
-} else {
-out.print("");
-}
+out.print(Escape.xml("", true, node.getNodeValue()));
 break;
 
 // print text
 case Node.TEXT_NODE:
-out.print(Escape.xml("", canonical, node.getNodeValue()));
+out.print(Escape.xml("", true, node.getNodeValue()));
 break;
 
 // print processing instruction



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



Re: svn commit: r1811704 - in /tomcat/trunk: java/org/apache/catalina/manager/StatusTransformer.java webapps/docs/changelog.xml

2017-10-18 Thread Mark Thomas
On 10/10/17 15:22, r...@apache.org wrote:
> Author: remm
> Date: Tue Oct 10 14:22:31 2017
> New Revision: 1811704
> 
> URL: http://svn.apache.org/viewvc?rev=1811704&view=rev
> Log:
> 61603: Add XML escaping to the names of some memory pools. The 
> escape/filterXml methods could be factored out maybe (although it would add 
> imports on other JARs).

I took a look at the refactoring and there were multiple versions of XML
and HTML escaping. As it looked to be a strong candidate for
refactoring, I went ahead and did that.

In terms of dependencies, it didn't require any changes.

Mark

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



Re: svn commit: r1812489 - in /tomcat/trunk: java/org/apache/catalina/connector/ java/org/apache/catalina/manager/ java/org/apache/catalina/manager/host/ java/org/apache/catalina/servlets/ java/org/ap

2017-10-18 Thread Konstantin Kolinko
2017-10-18 13:39 GMT+03:00  :
> Author: markt
> Date: Wed Oct 18 10:39:54 2017
> New Revision: 1812489
>
> URL: http://svn.apache.org/viewvc?rev=1812489&view=rev
> Log:
> Refactor XML and HTML escaping to a single location
>
> Added:
> tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java   (with 
> props)
> Modified:
...

Good. It's more than I hoped for. Several comments below.

> Added: tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java
> URL: 
> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java?rev=1812489&view=auto
> ==
> --- tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java (added)
> +++ tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java Wed Oct 18 
> 10:39:54 2017
> @@ -0,0 +1,160 @@
> +/* ...
> + */
> +package org.apache.tomcat.util.security;
> +
> +/**
> + * Provides utility methods to escape content for different contexts. It is
> + * critical that the escaping used is correct for the context in which the 
> data
> + * is to be used.
> + */
> +public class Escape {
> +
> +/**
> + * Escape content for use in HTML. This escaping is suitable for the
> + * following uses:
> + * 
> + * Element content when the escaped data will be placed directly 
> inside
> + * tags such as 

, etc. > + * Attribute values when the attribute value is quoted with " or > + * '. > + * > + * > + * @param content The content to escape > + * > + * @return The escaped content or {@code null} if the content was > + * {@code null} > + */ > +public static String htmlElementContent(String content) { > +if (content == null) { > +return null; > +} > + > +StringBuilder sb = new StringBuilder(); > + > +for (int i = 0; i < content.length(); i++) { > +char c = content.charAt(i); > +if (c == '<') { > +sb.append("<"); > +} else if (c == '>') { > +sb.append(">"); > +} else if (c == '\'') { > +sb.append("'"); Writing the above as decimal number will save one character. 'x' sb.append("'"); (Also I wondered whether HTML spec supports hex notation here. In [1] -> 5.3.1 Numeric character references -> Hex numerals are supported. -> a "Note" says that original spec did not have it, but it was added later (in a document dating year 1998) ) [1] https://www.w3.org/TR/1999/REC-html401-19991224/charset.html#h-5.3.1 > +} else if (c == '&') { > +sb.append("&"); > +} else if (c == '"') { > +sb.append("""); > +} else if (c == '/') { > +sb.append("/"); sb.append("/"); > +} else { > +sb.append(c); > +} > +} > + > +return sb.toString(); > +} > + > + > +/** > + * Convert the object to a string via {@link Object#toString()} and HTML > + * escape the resulting string for use in HTMl content. s/HTMl/HTML/ > + * > + * @param obj The object to convert to String and then escape > + * > + * @return The escaped content or "?" if obj is > + * {@code null} > + */ > +public static String htmlElementContext(Object obj) { > +if (obj == null) { > +return "?"; > +} > + > +try { > +return xml(obj.toString()); I think that the above was supposed to be a call to "htmlElementContext()", according to the method name. > +} catch (Exception e) { > +return null; > +} > +} > + > + > +/** > + * Escape content for use in XML. > + * > + * @param content The content to escape > + * > + * @return The escaped content or {@code null} if the content was > + * {@code null} > + */ > +public static String xml(String content) { > +return xml(null, content); > +} > + > + > +/** > + * Escape content for use in XML. > + * > + * @param ifNullThe value to return if content is {@code null} > + * @param content The content to escape > + * > + * @return The escaped content or the value of ifNull if the content was > + * {@code null} > + */ > +public static String xml(String ifNull, String content) { > +return xml(ifNull, false, content); > +} > + > + > +/** > + * Escape content for use in XML. > + * > + * @param ifNullThe value to return if content is {@code null} > + * @param escapeCRLFShould CR and LF also be escaped? > + * @param content The content to escape > + * > + * @return The escaped content or the value of ifNull if the content was {@code ifNull} > + * {@code null} > + */ > +public static String xml(String ifNull, boole


svn commit: r1812511 - in /tomcat/tc8.0.x/trunk: ./ java/org/apache/catalina/loader/WebappClassLoaderBase.java

2017-10-18 Thread markt
Author: markt
Date: Wed Oct 18 13:23:27 2017
New Revision: 1812511

URL: http://svn.apache.org/viewvc?rev=1812511&view=rev
Log:
Remove the ResourceBundle memory leak protection since I am as sure as I can be
that the original report was a false positive.
ResourceBundle uses a WeakReference and it is likely what was originally 
observed was an instance of the genuine GC root not being visible in the 
profiler.

Modified:
tomcat/tc8.0.x/trunk/   (props changed)

tomcat/tc8.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java

Propchange: tomcat/tc8.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Oct 18 13:23:27 2017
@@ -1,2 +1,2 @@
 
/tomcat/tc8.5.x/trunk:1735042,1737966,1743139-1743140,1744151,1747537,1747925,1748002,1754614,1754643,1762124,1762183,1762203,1763792,1772948,1777014,1779719,1782037,1782240,1782386-1782387,1785669,1786845,1788249,1788324,1788905,1789216,1789335,1791528,1791558,1796697-1796698,1797521,1798543,1799162,1800143,1801693,1802805,1806799,1807079-1807080,1808880,1809831,1812093,1812143,1812145,1812319
-/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1637890,1637892,1638720-1638725,1639653,1640010,1640083-1640084,1640088,1640275,1640322,1640347,1640361,1640365,1640403,1640410,1640652,1640655-1640658,1640688,1640700-1640883,1640903,1640976,1640978,1641000,1641026,1641038-1641039,1641051-1641052,1641058,1641064,1641300,1641369,1641374,1641380,1641486,1641634,1641656-1641692,1641704,1641707-1641718,1641720-1641722,1641735,1641981,1642233,1642280,1642554,1642564,1642595,1642606,1642668,1642679,1642697,1642699,1642766,1643002,1643045,1643054-1643055,1643066,1643121,1643128,1643206,1643209-1643210,1643216,1643249,1643270,1643283,1643309-1643310,1643323,1643365-1643366,1643370-1643371,1643465,1643474,1643536,1643570,1643634,1643649,1643651,1643654,1643675,1643731,1643733-1643734,1643761,1643766,1643814,1643937,1643963,1644017,1644169,1644201-1644203,1644321,1644323,1644516,1644523,1644529,1644535,1644730,1644768,1644784-1644785,1644790,1644793,1644815,1644884,1644886
 
,1644890,1644892,1644910,1644924,1644929-1644930,1644935,1644989,1645011,1645247,1645355,1645357-1645358,1645455,1645465,1645469,1645471,1645473,1645475,1645486-1645488,1645626,1645641,1645685,1645743,1645763,1645951-1645953,1645955,1645993,1646098-1646106,1646178,1646220,1646302,1646304,1646420,1646470-1646471,1646476,1646559,1646717-1646723,1646773,1647026,1647042,1647530,1647655,1648304,1648815,1648907,1649973,1650081,1650365,1651116,1651120,1651280,1651470,1652938,1652970,1653041,1653471,1653550,1653574,1653797,1653815-1653816,1653819,1653840,1653857,1653888,1653972,1654013,1654030,1654050,1654123,1654148,1654159,1654513,1654515,1654517,1654522,1654524,1654725,1654735,1654766,1654785,1654851-1654852,1654978,1655122-1655124,1655126-1655127,1655129-1655130,1655132-1655133,1655312,1655351,1655438,1655441,1655454,168,1656087,1656299,1656319,1656331,1656345,1656350,1656590,1656648-1656650,1656657,1657041,1657054,1657374,1657492,1657510,1657565,1657580,1657584,1657586,1657589,1657
 
592,1657607,1657609,1657682,1657907,1658207,1658734,1658781,1658790,1658799,1658802,1658804,1658833,1658840,1658966,1659043,1659053,1659059,1659174,1659184,1659188-1659189,1659216,1659263,1659293,1659304,1659306-1659307,1659382,1659384,1659428,1659471,1659486,1659505,1659516,1659521,1659524,1659559,1659562,1659803,1659806,1659814,1659833,1659862,1659905,1659919,1659948,1659967,1659983-1659984,1660060,1660074,1660077,1660133,1660168,1660331-1660332,1660353,1660358,1660924,1661386,1661770,1661867,1661972,1661990,1662200,1662308-1662309,1662548,1662614,1662696,1662736,1662985,1662988-1662989,1663264,1663277,1663298,1663534,1663562,1663676,1663715,1663754,1663768,1663772,1663781,1663893,1663995,1664143,1664163,1664174,1664301,1664317,1664347,1664657,1664659,1664710,1664863-1664864,1664866,1665085,1665292,1665559,1665653,1665661,1665672,1665694,1665697,1665736,1665779,1665976-1665977,1665980-1665981,1665985-1665986,1665989,1665998,1666004,1666008,1666013,1666017,1666024,1666116,1666386-1
 
666387,1666494,1666496,1666552,1666569,1666579,137,149,1666757,1666966,1666972,1666985,1666995,1666997,1667292,1667402,1667406,1667546,1667615,1667630,1667636,1667688,1667764,1667871,1668026,1668135,1668193,1668593,1668596,1668630,1668639,1668843,1669353,1669370,1669451,1669800,1669838,1669876,1669882,1670394,1670433,1670591,1670598-1670600,1670610,1670631,1670719,1670724,1670726,1670730,1670940,1671112,1672272,1672284,1673754,1674294,1675461,1675486,1675594,1675830,1676231,1676250-1676251,1676364,1676381,1676393,1676479,1676525,1676552,1676615,1676630,1676634,1676721,1676926,1676943,1677140,1677802,1678011,1678162,1678174,1678339,1678426-1678427,1678694,1678701,1679534,1679708,1679710,1679716,1680034,1680246,1681056,1681123,1681138,1681280,1681283,1681286,1681450,1681697,1681699,1681701,1681729,1681770,1681779,1681793,1681

svn commit: r1812512 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/loader/WebappClassLoaderBase.java

2017-10-18 Thread markt
Author: markt
Date: Wed Oct 18 13:24:57 2017
New Revision: 1812512

URL: http://svn.apache.org/viewvc?rev=1812512&view=rev
Log:
Remove the ResourceBundle memory leak protection since I am as sure as I can be
that the original report was a false positive.
ResourceBundle uses a WeakReference and it is likely what was originally 
observed was an instance of the genuine GC root not being visible in the 
profiler.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)

tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java

Propchange: tomcat/tc7.0.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Oct 18 13:24:57 2017
@@ -1,3 +1,3 @@
-/tomcat/tc8.0.x/trunk:1636525,1637336,1637685,1637709,1638726,1640089,1640276,1640349,1640363,1640366,1640642,1640672,1640674,1640689,1640884,1641001,1641065,1641067,1641375,1641638,1641723,1641726,1641729-1641730,1641736,1641988,1642669-1642670,1642698,1642701,1643205,1643215,1643217,1643230,1643232,1643273,1643285,1643329-1643330,1643511,1643513,1643521,1643539,1643571,1643581-1643582,1643635,1643655,1643738,1643964,1644018,1644333,1644525,1644954,1644992,1645014,1645360,1645456,1645627,1645642,1645686,1645903-1645904,1645908-1645909,1645913,1645920,1646458,1646460-1646462,1646735,1646738-1646741,1646744,1646746,1646748-1646755,1646757,1646759-1646760,1647043,1648816,1651420-1651422,1651844,1652926,1652939-1652940,1652973,1653798,1653817,1653841,1654042,1654161,1654736,1654767,1654787,1656592,1659907,1662986,1663265,1663278,1663325,1663535,1663567,1663679,1663997,1664175,1664321,1664872,1665061,1665086,1666027,1666395,1666503,1666506,1666560,1666570,1666581,1666759,1666967,1666988
 
,1667553-1667555,1667558,1667617,1667633,1667637,1667747,1667767,1667873,1668028,1668137,1668634,1669432,1669801,1669840,1669895-1669896,1670398,1670435,1670592,1670605-1670607,1670609,1670632,1670720,1670725,1670727,1670731,1671114,1672273,1672285,1673759,1674220,1674295,1675469,1675488,1675595,1675831,1676232,1676367-1676369,1676382,1676394,1676483,1676556,1676635,1678178,1679536,1679988,1680256,1681124,1681182,1681703,1681730,1681840,1681864,1681869,1682010,1682034,1682047,1682052-1682053,1682062,1682064,1682070,1682312,1682325,1682331,1682386,1684367,1684385,1685759,1685774,1685827,1685892,1687341,1688904,1689358,1689657,1689921,1692850,1693093,1693108,1693324,1694060,1694115,1694291,1694427,1694431,1694503,1694549,1694789,1694873,1694881,1695356,1695372,1695823-1695825,1696200,1696281,1696379,1696468,1700608,1700871,1700897,1700978,1701094,1701124,1701608,1701668,1701676,1701766,1701944,1702248,1702252,1702314,1702390,1702723,1702725,1702728,1702730,1702733,1702735,1702737,1702
 
739,1702742,1702744,1702748,1702751,1702754,1702758,1702760,1702763,1702766,1708779,1708782,1708806,1709314,1709670,1710347,1710442,1710448,1710490,1710574,1710578,1712226,1712229,1712235,1712255,1712618,1712649,1712655,1712860,1712899,1712903,1712906,1712913,1712926,1712975,1713185,1713262,1713287,1713613,1713621,1713872,1713976,1713994,1713998,1714004,1714013,1714059,1714538,1714580,1715189,1715207,1715544,1715549,1715637,1715639-1715645,1715667,1715683,1715866,1715978,1715981,1716216-1716217,1716355,1716414,1716421,1717208-1717209,1717257,1717283,1717288,1717291,1717421,1717517,1717529,1718797,1718840-1718843,1719348,1719357-1719358,1719400,1719491,1719737,1720235,1720396,1720442,1720446,1720450,1720463,1720658-1720660,1720756,1720816,1721813,1721818,1721831,1721861,1721867,1721882,1722523,1722527,1722800,1722926,1722941,1722997,1723130,1723440,1723488,1723890,1724434,1724674,1724792,1724803,1724902,1725128,1725131,1725154,1725167,1725911,1725921,1725929,1725963-1725965,1725970,1
 
725974,1726171-1726173,1726175,1726179-1726182,1726190-1726191,1726195-1726200,1726203,1726226,1726576,1726630,1726992,1727029,1727037,1727671,1727676,1727900,1728028,1728092,1728439,1728449,1729186,1729362,1731009,1731303,1731867,1731872,1731874,1731876,1731885,1731947,1731955,1731959,1731977,1731984,1732360,1732490,1732672,1732902,1733166,1733603,1733619,1733735,1733752,1733764,1733915,1733941,1733964,1734115,1734133,1734261,1734421,1734531,1736286,1737967,1738173,1738182,1738992,1739039,1739089-1739091,1739294,1739777,1739821,1739981,1740513,1740726,1741019,1741162,1741217,1743647,1743681,1744152,1744272,1746732,1746750,1752739,1754615,1755886,1756018,1758563,1759565,1761686,1762173,1762206,1766280,1767507-1767508,1767653,1767656,1769267,1772949,1773521,1773527,1774104,1777015,1777213,1779330,1783151,1784188,1784966,1785670,1786846,1788260,1788999,1789140,1789402,1791529,1791559,1795291,1796906,1797523,1799214,1800998-1800999,1801003,1801007-1801008,1801017,1801020,1802808,180281
 
4,1803618,1806107,1806733,1807082-1807083,1808707,1808884,1809267,1809644,1809832,1809904,1809915,1809924,1810283,1810328,1810574,1810576-1810577,1810584,1810588,1811141,1811842,1812090,1812096,1812150
+/tomcat/tc8.0.x/trunk:1636525,1637336,16

svn commit: r1812513 - /tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java

2017-10-18 Thread markt
Author: markt
Date: Wed Oct 18 13:30:35 2017
New Revision: 1812513

URL: http://svn.apache.org/viewvc?rev=1812513&view=rev
Log:
Improvements and copy/paste fix after kkolinko review

Modified:
tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java?rev=1812513&r1=1812512&r2=1812513&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java Wed Oct 18 
13:30:35 2017
@@ -52,25 +52,25 @@ public class Escape {
 } else if (c == '>') {
 sb.append(">");
 } else if (c == '\'') {
-sb.append("'");
+sb.append("'");
 } else if (c == '&') {
 sb.append("&");
 } else if (c == '"') {
 sb.append(""");
 } else if (c == '/') {
-sb.append("/");
+sb.append("/");
 } else {
 sb.append(c);
 }
 }
 
-return sb.toString();
+return (sb.length() > content.length()) ? sb.toString() : content;
 }
 
 
 /**
  * Convert the object to a string via {@link Object#toString()} and HTML
- * escape the resulting string for use in HTMl content.
+ * escape the resulting string for use in HTML content.
  *
  * @param obj   The object to convert to String and then escape
  *
@@ -83,7 +83,7 @@ public class Escape {
 }
 
 try {
-return xml(obj.toString());
+return htmlElementContent(obj.toString());
 } catch (Exception e) {
 return null;
 }
@@ -109,8 +109,8 @@ public class Escape {
  * @param ifNullThe value to return if content is {@code null}
  * @param content   The content to escape
  *
- * @return  The escaped content or the value of ifNull if the content was
- *  {@code null}
+ * @return  The escaped content or the value of {@code ifNull} if the
+ *  content was {@code null}
  */
 public static String xml(String ifNull, String content) {
 return xml(ifNull, false, content);
@@ -155,6 +155,6 @@ public class Escape {
 }
 }
 
-return sb.toString();
+return (sb.length() > content.length()) ? sb.toString(): content;
 }
 }



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



svn commit: r1812514 - in /tomcat/tc8.5.x/trunk: ./ java/org/apache/tomcat/util/security/Escape.java

2017-10-18 Thread markt
Author: markt
Date: Wed Oct 18 13:31:04 2017
New Revision: 1812514

URL: http://svn.apache.org/viewvc?rev=1812514&view=rev
Log:
Improvements and copy/paste fix after kkolinko review

Modified:
tomcat/tc8.5.x/trunk/   (props changed)
tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/security/Escape.java

Propchange: tomcat/tc8.5.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Oct 18 13:31:04 2017
@@ -1,2 +1,2 @@
 /tomcat/tc8.0.x/trunk:1809644
-/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,1739492,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,1744149,1744194,1744229,1744270,1744323,1744432,1744684,1744697,1744705,1744713,1744760,1744786,1745083,1745142-1745143,1745145,1745177,1745179-1745180,1745227,1745248,1745254,1745337,1745467,1745473,1745535,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,1747
 
404,1747506,1747536,1747924,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-1
 
756289,1756408-1756410,1756778,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-176205
 
3,1762123,1762168,1762172,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,1763

Re: svn commit: r1812489 - in /tomcat/trunk: java/org/apache/catalina/connector/ java/org/apache/catalina/manager/ java/org/apache/catalina/manager/host/ java/org/apache/catalina/servlets/ java/org/ap

2017-10-18 Thread Mark Thomas
On 18/10/17 13:45, Konstantin Kolinko wrote:
> 2017-10-18 13:39 GMT+03:00  :
>> Author: markt
>> Date: Wed Oct 18 10:39:54 2017
>> New Revision: 1812489
>>
>> URL: http://svn.apache.org/viewvc?rev=1812489&view=rev
>> Log:
>> Refactor XML and HTML escaping to a single location
>>
>> Added:
>> tomcat/trunk/java/org/apache/tomcat/util/security/Escape.java   (with 
>> props)
>> Modified:
> ...
> 
> Good. It's more than I hoped for. Several comments below.

Thanks for the review.

I've addressed the issues you highlighted and back-ported to 8.5.x as well.

Mark

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



buildbot success in on tomcat-8-trunk

2017-10-18 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-8-trunk while 
building . Full details are available at:
https://ci.apache.org/builders/tomcat-8-trunk/builds/1169

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

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-8-commit' 
triggered this build
Build Source Stamp: [branch tomcat/tc8.0.x/trunk] 1812511
Blamelist: markt

Build succeeded!

Sincerely,
 -The Buildbot




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



[Bug 61632] New: Improve search for tcnative-1.dll on Windows when current directory is not bin/ (e.g. in Eclipse IDE, separate catalina_base)

2017-10-18 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=61632

Bug ID: 61632
   Summary: Improve search for tcnative-1.dll on Windows when
current directory is not bin/ (e.g. in Eclipse IDE,
separate catalina_base)
   Product: Tomcat 8
   Version: 8.5.23
  Hardware: PC
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: knst.koli...@gmail.com
  Target Milestone: 

In short:

- When running Tomcat on Windows, if current directory (when starting Tomcat)
is not $CATALINA_HOME\bin then the tcnative-1.dll is not found.

The default "java.library.path" on Windows includes "." current directory, but
does not include "$CATALINA_HOME\bin".


My main concern is running Tomcat as a Server in Eclipse IDE.

Steps to reproduce:
1. Download and unzip apache-tomcat-8.5.23-windows-.zip

2. Download, install and run Eclipse IDE for Java EE developers (I am using
Neon.3 aka 4.6.3)

3. Create a Tomcat 8.5 server in the IDE

https://wiki.apache.org/tomcat/FAQ/Developing#Q6

(Window > Show view > Other... > Server/Servers, add a new server)

4. Start it

Result:
[[[
Oct 18, 2017 4:17:59 PM org.apache.catalina.core.AprLifecycleListener
lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal
performance in production environments was not found on the java.library.path:
[...;;D:\eclipse_4_6;;.]
]]]

In Eclipse the default working directory when running a new server is the same
as default working directory of Eclipse IDE. In my case: "D:\eclipse_4_6"


Possible ways to resolve this:
a. Improve documentation. Add a note and a recipe to

https://tomcat.apache.org/tomcat-8.5-doc/apr.html#Windows

and

https://wiki.apache.org/tomcat/FAQ/Developing#Q6

b. Implement some way to search for tcnative-1.dll in ${catalina.home}/bin ?

-- 
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 61632] Improve search for tcnative-1.dll on Windows when current directory is not bin/ (e.g. in Eclipse IDE, separate catalina_base)

2017-10-18 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=61632

Konstantin Kolinko  changed:

   What|Removed |Added

 OS||All

--- Comment #1 from Konstantin Kolinko  ---
> b. Implement some way to search for tcnative-1.dll in ${catalina.home}/bin ?

For this solution I thought that maybe

1. Allow to configure an explicit path to the dll in AprLifecycleListener

2. Use System.load(filename) call to load the library from an explicitly
specified filename.

The current code (in org.apache.tomcat.jni.Library) calls a different method -
System.loadLibrary(name).

Generally, loading a DDL from an explicit path is better than performing a
search.


A deficiency in this solution is that such configuration is specific to
Microsoft Windows. It cannot be included in the default *.zip download of
Apache Tomcat,
but it can be included "Windows" flavors of zip downloads.

-- 
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 61632] Improve search for tcnative-1.dll on Windows when current directory is not bin/ (e.g. in Eclipse IDE, separate catalina_base)

2017-10-18 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=61632

--- Comment #2 from Konstantin Kolinko  ---
> a. Improve documentation. Add a note and a recipe to

My recipe is to configure "java.library.path" explicitly.


For running Tomcat in Eclipse IDE the steps are the following:

1. Open edit dialog for the Server

(In "Servers" view select the server and double-click it or press "F3" (Open))

See http://markmail.org/message/7zkyocvph56b6t6q

2. Click "Open launch configuration" link

An "Edit launch configuration properties" dialog opens.

3. Switch to "Arguments" tab and edit "VM arguments".

Add
-Djava.library.path="\bin"

-- 
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 60963] Optimize class loading for unpackWARs=false case

2017-10-18 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=60963

Sebastien Tardif  changed:

   What|Removed |Added

 CC||sebtar...@ncf.ca

-- 
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: r1812551 - in /tomcat/trunk: java/org/apache/tomcat/util/net/Nio2Endpoint.java webapps/docs/changelog.xml

2017-10-18 Thread remm
Author: remm
Date: Wed Oct 18 17:01:08 2017
New Revision: 1812551

URL: http://svn.apache.org/viewvc?rev=1812551&view=rev
Log:
Cleanup the async IO syncs a bit.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1812551&r1=1812550&r2=1812551&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Wed Oct 18 
17:01:08 2017
@@ -894,14 +894,14 @@ public class Nio2Endpoint extends Abstra
 }
 }
 if (complete) {
-readPending.release();
-if (state.block == BlockingMode.BLOCK && currentState 
!= CompletionState.INLINE) {
-synchronized (this) {
+synchronized (state) {
+readPending.release();
+if (state.block == BlockingMode.BLOCK && 
currentState != CompletionState.INLINE) {
+state.state = currentState;
+state.notify();
+} else {
 state.state = currentState;
-notify();
 }
-} else {
-state.state = currentState;
 }
 if (completion && state.handler != null) {
 
state.handler.completed(Long.valueOf(state.nBytes), state.attachment);
@@ -921,14 +921,14 @@ public class Nio2Endpoint extends Abstra
 ioe = new IOException(exc);
 }
 setError(ioe);
-readPending.release();
-if (state.block == BlockingMode.BLOCK) {
-synchronized (this) {
+synchronized (this) {
+readPending.release();
+if (state.block == BlockingMode.BLOCK) {
+state.state = Nio2Endpoint.isInline() ? 
CompletionState.ERROR : CompletionState.DONE;
+state.notify();
+} else {
 state.state = Nio2Endpoint.isInline() ? 
CompletionState.ERROR : CompletionState.DONE;
-notify();
 }
-} else {
-state.state = Nio2Endpoint.isInline() ? 
CompletionState.ERROR : CompletionState.DONE;
 }
 if (exc instanceof AsynchronousCloseException) {
 // If already closed, don't call onError and close again
@@ -963,14 +963,14 @@ public class Nio2Endpoint extends Abstra
 }
 }
 if (complete) {
-writePending.release();
-if (state.block == BlockingMode.BLOCK && currentState 
!= CompletionState.INLINE) {
-synchronized (this) {
+synchronized (state) {
+writePending.release();
+if (state.block == BlockingMode.BLOCK && 
currentState != CompletionState.INLINE) {
+state.state = currentState;
+state.notify();
+} else {
 state.state = currentState;
-notify();
 }
-} else {
-state.state = currentState;
 }
 if (completion && state.handler != null) {
 
state.handler.completed(Long.valueOf(state.nBytes), state.attachment);
@@ -990,14 +990,14 @@ public class Nio2Endpoint extends Abstra
 ioe = new IOException(exc);
 }
 setError(ioe);
-writePending.release();
-if (state.block == BlockingMode.BLOCK) {
-synchronized (this) {
+synchronized (state) {
+writePending.release();
+if (state.block == BlockingMode.BLOCK) {
+state.state = Nio2Endpoint.isInline() ? 
CompletionState.ERROR : CompletionState.DONE;
+state.notify();
+} else {
 state.state = Nio2Endpoint.isInline() ? 
CompletionState.ERROR : CompletionState.DONE;
-notify();
 }
-} else {
-state.state = N

svn commit: r1812581 - in /tomcat/tc7.0.x/trunk: java/org/apache/catalina/loader/ java/org/apache/tomcat/util/compat/ java/org/apache/tomcat/util/scan/ webapps/docs/

2017-10-18 Thread markt
Author: markt
Date: Wed Oct 18 20:53:55 2017
New Revision: 1812581

URL: http://svn.apache.org/viewvc?rev=1812581&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=61601
Handle multi-release JARs for packed and unpacked web applications

Modified:

tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappLoader.java
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/Jre7Compat.java
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/Jre8Compat.java
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/Jre9Compat.java
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/JreCompat.java
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/scan/FileUrlJar.java
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/scan/UrlJar.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java?rev=1812581&r1=1812580&r2=1812581&view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java 
Wed Oct 18 20:53:55 2017
@@ -3006,7 +3006,7 @@ public abstract class WebappClassLoaderB
 if (jarFiles[0] == null) {
 for (int i = 0; i < jarFiles.length; i++) {
 try {
-jarFiles[i] = new JarFile(jarRealFiles[i]);
+jarFiles[i] = 
JreCompat.getInstance().jarFileNewInstance(jarRealFiles[i]);
 } catch (IOException e) {
 log.warn(sm.getString("webappClassLoader.jarOpenFail", 
jarFiles[i]), e);
 closeJARs(true);
@@ -3695,7 +3695,7 @@ public abstract class WebappClassLoaderB
 
 JarFile jarFile = null;
 try {
-jarFile = new JarFile(file);
+jarFile = JreCompat.getInstance().jarFileNewInstance(file);
 for (int i = 0; i < triggers.length; i++) {
 Class clazz = null;
 try {

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappLoader.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappLoader.java?rev=1812581&r1=1812580&r2=1812581&view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappLoader.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappLoader.java Wed 
Oct 18 20:53:55 2017
@@ -59,6 +59,7 @@ import org.apache.naming.resources.DirCo
 import org.apache.naming.resources.DirContextURLStreamHandlerFactory;
 import org.apache.naming.resources.Resource;
 import org.apache.tomcat.util.ExceptionUtils;
+import org.apache.tomcat.util.compat.JreCompat;
 import org.apache.tomcat.util.modeler.Registry;
 import org.apache.tomcat.util.res.StringManager;
 
@@ -999,7 +1000,7 @@ public class WebappLoader extends Lifecy
 }
 
 try {
-JarFile jarFile = new JarFile(destFile);
+JarFile jarFile = 
JreCompat.getInstance().jarFileNewInstance(destFile);
 classLoader.addJar(filename, jarFile, destFile);
 } catch (Exception ex) {
 // Catch the exception if there is an empty jar file

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/Jre7Compat.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/Jre7Compat.java?rev=1812581&r1=1812580&r2=1812581&view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/Jre7Compat.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/Jre7Compat.java Wed 
Oct 18 20:53:55 2017
@@ -22,6 +22,8 @@ import java.util.Locale;
 
 class Jre7Compat extends JreCompat {
 
+private static final int RUNTIME_MAJOR_VERSION = 7;
+
 private static final Method forLanguageTagMethod;
 
 
@@ -55,4 +57,10 @@ class Jre7Compat extends JreCompat {
 return null;
 }
 }
+
+
+@Override
+public int jarFileRuntimeMajorVersion() {
+return RUNTIME_MAJOR_VERSION;
+}
 }

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/Jre8Compat.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/Jre8Compat.java?rev=1812581&r1=1812580&r2=1812581&view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/compat/Jre8Compat.java 
(original)
+

[Bug 61601] Make Tomcat multi-release JAR aware

2017-10-18 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=61601

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #2 from Mark Thomas  ---
Fixed in:
- trunk for 9.0.2 onwards
- 8.5.x for 8.5.24 onwards
- 8.0.x for 8.0.48 onwards
- 7.0.x for 7.0.83 onwards

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 61634] New: URLs with double consecutive slashes stopped working in 8.0.45 in some scenarios

2017-10-18 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=61634

Bug ID: 61634
   Summary: URLs with double consecutive slashes stopped working
in 8.0.45 in some scenarios
   Product: Tomcat 8
   Version: 8.0.45
  Hardware: PC
Status: NEW
  Severity: normal
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: m...@feex.com
  Target Milestone: 

Created attachment 35437
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=35437&action=edit
Contains ROOT.war and context2.war

​Attached are two war files that demonstrate the issue - ROOT.war and
context2.war.
There are two contexts - ROOT, that uses a url rewrite filter (tuckey)​ to
forward all requests to the second context - context2 (which also uses a
rewrite filter).
Using 8.0.44 and the url http://localhost:8080/index//index.html everything
works ok (note the double slash).
Using 8.0.45 with the same url returns 404.
Also getting a 404 in the latest 8.0.x release which is currently 8.0.47.

-- 
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 61634] URLs with double consecutive slashes stopped working in 8.0.45 in some scenarios

2017-10-18 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=61634

m...@feex.com changed:

   What|Removed |Added

  Attachment #35437|Contains ROOT.war and   |ROOT.war and context2.war
description|context2.war|

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



[GUMP@vmgump-vm3]: Project tomcat-tc7.0.x-validate (in module tomcat-7.0.x) failed

2017-10-18 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-tc7.0.x-validate has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 5 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- tomcat-tc7.0.x-validate :  Tomcat 7.x, a web server implementing Java 
Servlet 3.0,
...


Full details are available at:
http://vmgump-vm3.apache.org/tomcat-7.0.x/tomcat-tc7.0.x-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-7.0.x/tomcat-tc7.0.x-validate/gump_work/build_tomcat-7.0.x_tomcat-tc7.0.x-validate.html
Work Name: build_tomcat-7.0.x_tomcat-tc7.0.x-validate (Type: Build)
Work ended in a state of : Failed
Elapsed: 26 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-7.0.x/tomcat-build-libs 
-Dcheckstyle.jar=/srv/gump/public/workspace/checkstyle/target/checkstyle-8.4-SNAPSHOT.jar
 -Dexecute.validate=true validate 
[Working Directory: /srv/gump/public/workspace/tomcat-7.0.x]
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-8.4-SNAPSHOT.jar:/srv/gump/packages/antlr/antlr-3.1.3.jar:/srv/gump/public/workspace/apache-commons/beanutils/dist/commons-beanutils-20171019.jar:/srv/gump/packages/commons-collections3/commons-collections-3.2.1.jar:/srv/gump/public/workspace/commons-cli/target/commons-cli-1.5-SNAPSHOT.jar:/srv/gump/public/workspace/commons-lang-trunk/target/commons-lang3-3.7-SNAPSHOT.jar:/srv/g
 
ump/public/workspace/apache-commons/logging/target/commons-logging-20171019.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-api-20171019.jar:/srv/gump/public/workspace/google-guava/guava/target/guava-HEAD-jre-SNAPSHOT.jar
-
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-7.0.x/test/org/apache/el/TestELInJsp.java:23: 
Extra separation in import group before 'org.junit.Assert' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-7.0.x/test/org/apache/el/TestMethodExpressionImpl.java:30:
 Extra separation in import group before 'org.junit.Before' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-7.0.x/test/org/apache/el/TestValueExpressionImpl.java:34:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-7.0.x/test/org/apache/el/lang/TestELArithmetic.java:24:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-7.0.x/test/org/apache/el/lang/TestELSupport.java:29:
 Extra separation in import group before 'org.junit.Assert' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-7.0.x/test/org/apache/el/parser/TestELParser.java:28:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-7.0.x/test/org/apache/jasper/compiler/TestAttributeParser.java:24:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-7.0.x/test/org/apache/jasper/compiler/TestCompiler.java:28:
 Extra separation in import group before 'org.junit.Assert' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-7.0.x/test/org/apache/jasper/compiler/TestGenerator.java:37:
 Extra separation in import group before 'org.junit.Assert' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-7.0.x/test/org/apache/jasper/compiler/TestJspConfig.java:24:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-7.0.x/test/org/apache/jasper/compiler/TestParser.java:26:
 Extra sepa

[GUMP@vmgump-vm3]: Project tomcat-tc8.0.x-validate (in module tomcat-8.0.x) failed

2017-10-18 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-tc8.0.x-validate has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 5 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- tomcat-tc8.0.x-validate :  Tomcat 8.x, a web server implementing the Java 
Servlet 3.1,
...


Full details are available at:
http://vmgump-vm3.apache.org/tomcat-8.0.x/tomcat-tc8.0.x-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-8.0.x/tomcat-tc8.0.x-validate/gump_work/build_tomcat-8.0.x_tomcat-tc8.0.x-validate.html
Work Name: build_tomcat-8.0.x_tomcat-tc8.0.x-validate (Type: Build)
Work ended in a state of : Failed
Elapsed: 28 secs
Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true 
-Dbuild.sysclasspath=only org.apache.tools.ant.Main 
-Dgump.merge=/srv/gump/public/gump/work/merge.xml 
-Dbase.path=/srv/gump/public/workspace/tomcat-8.0.x/tomcat-build-libs 
-Dcheckstyle.jar=/srv/gump/public/workspace/checkstyle/target/checkstyle-8.4-SNAPSHOT.jar
 -Dexecute.validate=true validate 
[Working Directory: /srv/gump/public/workspace/tomcat-8.0.x]
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-8.4-SNAPSHOT.jar:/srv/gump/packages/antlr/antlr-3.1.3.jar:/srv/gump/public/workspace/apache-commons/beanutils/dist/commons-beanutils-20171019.jar:/srv/gump/packages/commons-collections3/commons-collections-3.2.1.jar:/srv/gump/public/workspace/commons-cli/target/commons-cli-1.5-SNAPSHOT.jar:/srv/gump/public/workspace/commons-lang-trunk/target/commons-lang3-3.7-SNAPSHOT.jar:/srv/g
 
ump/public/workspace/apache-commons/logging/target/commons-logging-20171019.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-api-20171019.jar:/srv/gump/public/workspace/google-guava/guava/target/guava-HEAD-jre-SNAPSHOT.jar
-
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-8.0.x/test/org/apache/el/TestValueExpressionImpl.java:34:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-8.0.x/test/org/apache/el/lang/TestELArithmetic.java:26:
 Extra separation in import group before 'org.junit.Assert' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-8.0.x/test/org/apache/el/lang/TestELSupport.java:30:
 Extra separation in import group before 'org.junit.Assert' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-8.0.x/test/org/apache/el/parser/TestELParser.java:28:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-8.0.x/test/org/apache/jasper/compiler/TestAttributeParser.java:24:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-8.0.x/test/org/apache/jasper/compiler/TestCompiler.java:29:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-8.0.x/test/org/apache/jasper/compiler/TestGenerator.java:36:
 Extra separation in import group before 'org.junit.Assert' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-8.0.x/test/org/apache/jasper/compiler/TestJspConfig.java:24:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-8.0.x/test/org/apache/jasper/compiler/TestParser.java:25:
 Extra separation in import group before 'org.junit.Assert' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-8.0.x/test/org/apache/jasper/compiler/TestParserNoStrictWhitespace.java:26:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-8.0.x/test/org/apache/jasper/compiler/Test

[GUMP@vmgump-vm3]: Project tomcat-trunk-validate (in module tomcat-trunk) failed

2017-10-18 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-validate has an issue affecting its community integration.
This issue affects 1 projects,
 and has been outstanding for 5 runs.
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: 23 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-8.4-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-8.4-SNAPSHOT.jar:/srv/gump/packages/antlr/antlr-3.1.3.jar:/srv/gump/public/workspace/apache-commons/beanutils/dist/commons-beanutils-20171019.jar:/srv/gump/packages/commons-collections3/commons-collections-3.2.1.jar:/srv/gump/public/workspace/commons-cli/target/commons-cli-1.5-SNAPSHOT.jar:/srv/gump/public/workspace/commons-lang-trunk/target/commons-lang3-3.7-SNAPSHOT.jar:/srv/g
 
ump/public/workspace/apache-commons/logging/target/commons-logging-20171019.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-api-20171019.jar:/srv/gump/public/workspace/google-guava/guava/target/guava-HEAD-jre-SNAPSHOT.jar
-
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-trunk/test/org/apache/el/lang/TestELArithmetic.java:26:
 Extra separation in import group before 'org.junit.Assert' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-trunk/test/org/apache/el/lang/TestELSupport.java:30:
 Extra separation in import group before 'org.junit.Assert' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-trunk/test/org/apache/el/parser/TestELParser.java:30:
 Extra separation in import group before 'org.junit.Ignore' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-trunk/test/org/apache/jasper/compiler/TestAttributeParser.java:24:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-trunk/test/org/apache/jasper/compiler/TestCompiler.java:29:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-trunk/test/org/apache/jasper/compiler/TestGenerator.java:36:
 Extra separation in import group before 'org.junit.Assert' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-trunk/test/org/apache/jasper/compiler/TestJspConfig.java:24:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-trunk/test/org/apache/jasper/compiler/TestParser.java:25:
 Extra separation in import group before 'org.junit.Assert' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-trunk/test/org/apache/jasper/compiler/TestParserNoStrictWhitespace.java:26:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-trunk/test/org/apache/jasper/compiler/TestScriptingVariabler.java:29:
 Extra separation in import group before 'org.junit.Test' [ImportOrder]
[checkstyle] [ERROR] 
/srv/gump/public/workspace/tomcat-trunk/test/org/apache/jasper/compiler/Tes

[Bug 57767] Websocket client proprietary configuration

2017-10-18 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=57767

--- Comment #25 from J Fernandez  ---
I believe that there are additional benefits for separating the websocket
client from the container. For example, we could enhance the redirect flow when
behind a proxy by caching the SocketChannel for a connected host:port. We can
always, pass the structure as a method argument, but I am not sure that can be
manageable long term. In my opinion, as it stands, the container limits
flexibility when adding similar features.

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