[Bug 56456] Suggesting lock-free endpoint state machine

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56456

--- Comment #3 from Mark Thomas ma...@apache.org ---
Patches should be in diff -u format to aid review.

Without some performance tests that demonstrate that this code performs better
than the current code for the normal usage case(s) then this issue is likely to
be 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



Early Access builds for JDK 9 b09, JDK 8u20 b10 and JDK 7U60 b15 are available on java.net

2014-04-25 Thread Rory O'Donnell Oracle, Dublin Ireland

Hi Mladen,

Early Access builds for JDK 9 b09 https://jdk9.java.net/download/, JDK 
8u20 b10 https://jdk8.java.net/download.html and JDK 7U60 b15 
https://jdk7.java.net/download.html are available on java.net.


As we enter the later phases of development for JDK 7u60  JDK 8u20 , 
please log any show

stoppers as soon as possible.

Rgds, Rory

--
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland



svn commit: r1589967 - in /tomcat/trunk: java/org/apache/catalina/valves/ErrorReportValve.java java/org/apache/catalina/valves/mbeans-descriptors.xml webapps/docs/changelog.xml webapps/docs/config/val

2014-04-25 Thread violetagg
Author: violetagg
Date: Fri Apr 25 10:06:58 2014
New Revision: 1589967

URL: http://svn.apache.org/r1589967
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56383
Properties for disabling server information and error report are added to the 
o.a.catalina.valves.ErrorReportValve. Based on the patch provided by Nick Bunn.

Modified:
tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
tomcat/trunk/java/org/apache/catalina/valves/mbeans-descriptors.xml
tomcat/trunk/webapps/docs/changelog.xml
tomcat/trunk/webapps/docs/config/valve.xml

Modified: tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java?rev=1589967r1=1589966r2=1589967view=diff
==
--- tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java Fri Apr 
25 10:06:58 2014
@@ -48,6 +48,10 @@ import org.apache.tomcat.util.res.String
  */
 public class ErrorReportValve extends ValveBase {
 
+protected boolean showReport = true;
+
+protected boolean showServerInfo = true;
+
 //-- Constructor
 public ErrorReportValve() {
 super(true);
@@ -175,69 +179,74 @@ public class ErrorReportValve extends Va
 
 StringBuilder sb = new StringBuilder();
 
-sb.append(!DOCTYPE htmlhtmlheadtitle);
-sb.append(ServerInfo.getServerInfo()).append( - );
-sb.append(smClient.getString(errorReportValve.errorReport));
-sb.append(/title);
-sb.append(style type=\text/css\);
-sb.append(org.apache.catalina.util.TomcatCSS.TOMCAT_CSS);
-sb.append(/style );
+sb.append(!DOCTYPE htmlhtmlhead);
+if(showServerInfo || showReport){
+sb.append(title);
+if(showServerInfo) {
+sb.append(ServerInfo.getServerInfo()).append( - );
+}
+sb.append(smClient.getString(errorReportValve.errorReport));
+sb.append(/title);
+sb.append(style!--);
+sb.append(org.apache.catalina.util.TomcatCSS.TOMCAT_CSS);
+sb.append(--/style );
+}
 sb.append(/headbody);
 sb.append(h1);
 sb.append(smClient.getString(errorReportValve.statusHeader,
 + statusCode, message)).append(/h1);
-sb.append(div class=\line\/div);
-sb.append(pbtype/b );
-if (throwable != null) {
-sb.append(smClient.getString(errorReportValve.exceptionReport));
-} else {
-sb.append(smClient.getString(errorReportValve.statusReport));
-}
-sb.append(/p);
-sb.append(pb);
-sb.append(smClient.getString(errorReportValve.message));
-sb.append(/b u);
-sb.append(message).append(/u/p);
-sb.append(pb);
-sb.append(smClient.getString(errorReportValve.description));
-sb.append(/b u);
-sb.append(report);
-sb.append(/u/p);
-
-if (throwable != null) {
-
-String stackTrace = getPartialServletStackTrace(throwable);
+if (showReport) {
+sb.append(div class=\line\/div);
+sb.append(pbtype/b );
+if (throwable != null) {
+
sb.append(smClient.getString(errorReportValve.exceptionReport));
+} else {
+sb.append(smClient.getString(errorReportValve.statusReport));
+}
+sb.append(/p);
+sb.append(pb);
+sb.append(smClient.getString(errorReportValve.message));
+sb.append(/b u);
+sb.append(message).append(/u/p);
 sb.append(pb);
-sb.append(smClient.getString(errorReportValve.exception));
-sb.append(/b/ppre);
-sb.append(RequestUtil.filter(stackTrace));
-sb.append(/pre);
-
-int loops = 0;
-Throwable rootCause = throwable.getCause();
-while (rootCause != null  (loops  10)) {
-stackTrace = getPartialServletStackTrace(rootCause);
+sb.append(smClient.getString(errorReportValve.description));
+sb.append(/b u);
+sb.append(report);
+sb.append(/u/p);
+if (throwable != null) {
+
+String stackTrace = getPartialServletStackTrace(throwable);
 sb.append(pb);
-sb.append(smClient.getString(errorReportValve.rootCause));
+sb.append(smClient.getString(errorReportValve.exception));
 sb.append(/b/ppre);
 sb.append(RequestUtil.filter(stackTrace));
 sb.append(/pre);
-// In case root cause is somehow heavily nested
-rootCause = rootCause.getCause();
-

svn commit: r1589980 - /tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 10:28:18 2014
New Revision: 1589980

URL: http://svn.apache.org/r1589980
Log:
More defensive coding around some XML activities that are triggered by web 
applications and are therefore at potential risk of a memory leak.

Modified:
tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java

Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java?rev=1589980r1=1589979r2=1589980view=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java Fri Apr 
25 10:28:18 2014
@@ -18,6 +18,7 @@ package org.apache.jasper.compiler;
 
 import java.io.IOException;
 import java.net.URL;
+import java.security.AccessController;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
@@ -29,6 +30,8 @@ import org.apache.jasper.JasperException
 import org.apache.jasper.compiler.tagplugin.TagPlugin;
 import org.apache.jasper.compiler.tagplugin.TagPluginContext;
 import org.apache.tomcat.util.descriptor.tagplugin.TagPluginParser;
+import org.apache.tomcat.util.security.PrivilegedGetTccl;
+import org.apache.tomcat.util.security.PrivilegedSetTccl;
 import org.xml.sax.SAXException;
 
 /**
@@ -71,7 +74,34 @@ public class TagPluginManager {
 blockExternal = Boolean.parseBoolean(blockExternalString);
 }
 
-TagPluginParser parser = new TagPluginParser(ctxt, blockExternal);
+TagPluginParser parser;
+ClassLoader original;
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedGetTccl pa = new PrivilegedGetTccl();
+original = AccessController.doPrivileged(pa);
+} else {
+original = Thread.currentThread().getContextClassLoader();
+}
+try {
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedSetTccl pa =
+new 
PrivilegedSetTccl(JspDocumentParser.class.getClassLoader());
+AccessController.doPrivileged(pa);
+} else {
+Thread.currentThread().setContextClassLoader(
+JspDocumentParser.class.getClassLoader());
+}
+
+parser = new TagPluginParser(ctxt, blockExternal);
+
+} finally {
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedSetTccl pa = new PrivilegedSetTccl(original);
+AccessController.doPrivileged(pa);
+} else {
+Thread.currentThread().setContextClassLoader(original);
+}
+}
 
 try {
 EnumerationURL urls =



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



svn commit: r1589983 - /tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 10:44:05 2014
New Revision: 1589983

URL: http://svn.apache.org/r1589983
Log:
Fix indents and copy/paste errors

Modified:
tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java

Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java?rev=1589983r1=1589982r2=1589983view=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java Fri Apr 
25 10:44:05 2014
@@ -79,17 +79,17 @@ public class TagPluginManager {
 if (Constants.IS_SECURITY_ENABLED) {
 PrivilegedGetTccl pa = new PrivilegedGetTccl();
 original = AccessController.doPrivileged(pa);
-} else {
-original = Thread.currentThread().getContextClassLoader();
-}
+} else {
+original = Thread.currentThread().getContextClassLoader();
+}
 try {
 if (Constants.IS_SECURITY_ENABLED) {
 PrivilegedSetTccl pa =
-new 
PrivilegedSetTccl(JspDocumentParser.class.getClassLoader());
+new 
PrivilegedSetTccl(TagPluginManager.class.getClassLoader());
 AccessController.doPrivileged(pa);
 } else {
 Thread.currentThread().setContextClassLoader(
-JspDocumentParser.class.getClassLoader());
+TagPluginManager.class.getClassLoader());
 }
 
 parser = new TagPluginParser(ctxt, blockExternal);



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



svn commit: r1589985 - /tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 10:53:44 2014
New Revision: 1589985

URL: http://svn.apache.org/r1589985
Log:
Parser uses lazy init so move creation of parser inside the block that uses the 
container class loader.

Modified:
tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java

Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java?rev=1589985r1=1589984r2=1589985view=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java Fri Apr 
25 10:53:44 2014
@@ -94,16 +94,6 @@ public class TagPluginManager {
 
 parser = new TagPluginParser(ctxt, blockExternal);
 
-} finally {
-if (Constants.IS_SECURITY_ENABLED) {
-PrivilegedSetTccl pa = new PrivilegedSetTccl(original);
-AccessController.doPrivileged(pa);
-} else {
-Thread.currentThread().setContextClassLoader(original);
-}
-}
-
-try {
 EnumerationURL urls =
 
ctxt.getClassLoader().getResources(META_INF_JASPER_TAG_PLUGINS_XML);
 if (urls != null) {
@@ -119,6 +109,13 @@ public class TagPluginManager {
 }
 } catch (IOException | SAXException e) {
 throw new JasperException(e);
+} finally {
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedSetTccl pa = new PrivilegedSetTccl(original);
+AccessController.doPrivileged(pa);
+} else {
+Thread.currentThread().setContextClassLoader(original);
+}
 }
 
 MapString, String plugins = parser.getPlugins();



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



svn commit: r1589988 - /tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java

2014-04-25 Thread violetagg
Author: violetagg
Date: Fri Apr 25 10:57:39 2014
New Revision: 1589988

URL: http://svn.apache.org/r1589988
Log:
Return the type attribute in the style. Removed by mistake with the previous 
commit.

Modified:
tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java

Modified: tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java?rev=1589988r1=1589987r2=1589988view=diff
==
--- tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java Fri Apr 
25 10:57:39 2014
@@ -187,9 +187,9 @@ public class ErrorReportValve extends Va
 }
 sb.append(smClient.getString(errorReportValve.errorReport));
 sb.append(/title);
-sb.append(style!--);
+sb.append(style type=\text/css\);
 sb.append(org.apache.catalina.util.TomcatCSS.TOMCAT_CSS);
-sb.append(--/style );
+sb.append(/style );
 }
 sb.append(/headbody);
 sb.append(h1);



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



buildbot failure in ASF Buildbot on tomcat-trunk

2014-04-25 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/3

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1589988
Blamelist: markt,violetagg

BUILD FAILED: failed compile

sincerely,
 -The Buildbot




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



svn commit: r1589990 - /tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldParser.java

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 11:04:24 2014
New Revision: 1589990

URL: http://svn.apache.org/r1589990
Log:
More defensive coding around some XML activities that are triggered by web 
applications and are therefore at potential risk of a memory leak.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldParser.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldParser.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldParser.java?rev=1589990r1=1589989r2=1589990view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldParser.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldParser.java Fri 
Apr 25 11:04:24 2014
@@ -18,13 +18,17 @@ package org.apache.tomcat.util.descripto
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.security.AccessController;
 
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.descriptor.Constants;
 import org.apache.tomcat.util.descriptor.DigesterFactory;
 import org.apache.tomcat.util.descriptor.XmlErrorHandler;
 import org.apache.tomcat.util.digester.Digester;
 import org.apache.tomcat.util.digester.RuleSet;
+import org.apache.tomcat.util.security.PrivilegedGetTccl;
+import org.apache.tomcat.util.security.PrivilegedSetTccl;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
@@ -47,7 +51,20 @@ public class TldParser {
 }
 
 public TaglibXml parse(TldResourcePath path) throws IOException, 
SAXException {
+ClassLoader original;
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedGetTccl pa = new PrivilegedGetTccl();
+original = AccessController.doPrivileged(pa);
+} else {
+original = Thread.currentThread().getContextClassLoader();
+}
 try (InputStream is = path.openStream()) {
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedSetTccl pa = new 
PrivilegedSetTccl(TldParser.class.getClassLoader());
+AccessController.doPrivileged(pa);
+} else {
+
Thread.currentThread().setContextClassLoader(TldParser.class.getClassLoader());
+}
 XmlErrorHandler handler = new XmlErrorHandler();
 digester.setErrorHandler(handler);
 
@@ -67,6 +84,12 @@ public class TldParser {
 return taglibXml;
 } finally {
 digester.reset();
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedSetTccl pa = new PrivilegedSetTccl(original);
+AccessController.doPrivileged(pa);
+} else {
+Thread.currentThread().setContextClassLoader(original);
+}
 }
 }
 



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



svn commit: r1589991 - /tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java

2014-04-25 Thread violetagg
Author: violetagg
Date: Fri Apr 25 11:05:42 2014
New Revision: 1589991

URL: http://svn.apache.org/r1589991
Log:
A quotation mark is missing.

Modified:
tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java

Modified: tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java?rev=1589991r1=1589990r2=1589991view=diff
==
--- tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java Fri Apr 
25 11:05:42 2014
@@ -187,7 +187,7 @@ public class ErrorReportValve extends Va
 }
 sb.append(smClient.getString(errorReportValve.errorReport));
 sb.append(/title);
-sb.append(style type=\text/css\);
+sb.append(style type=\text/css\);
 sb.append(org.apache.catalina.util.TomcatCSS.TOMCAT_CSS);
 sb.append(/style );
 }



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



svn commit: r1589992 - /tomcat/trunk/java/org/apache/tomcat/util/descriptor/Constants.java

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 11:10:55 2014
New Revision: 1589992

URL: http://svn.apache.org/r1589992
Log:
Add new constant missed in previous commit

Modified:
tomcat/trunk/java/org/apache/tomcat/util/descriptor/Constants.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/descriptor/Constants.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/Constants.java?rev=1589992r1=1589991r2=1589992view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/descriptor/Constants.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/descriptor/Constants.java Fri Apr 
25 11:10:55 2014
@@ -21,4 +21,5 @@ public class Constants {
 public static final String PACKAGE_NAME =
 Constants.class.getPackage().getName();
 
+public static final boolean IS_SECURITY_ENABLED = 
(System.getSecurityManager() != null);
 }



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



svn commit: r1589994 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/valves/ErrorReportValve.java java/org/apache/catalina/valves/mbeans-descriptors.xml webapps/docs/changelog.xml webapps/docs

2014-04-25 Thread violetagg
Author: violetagg
Date: Fri Apr 25 11:14:52 2014
New Revision: 1589994

URL: http://svn.apache.org/r1589994
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56383
Merged revision 1589967 from tomcat/trunk:
Properties for disabling server information and error report are added to the 
o.a.catalina.valves.ErrorReportValve. Based on the patch provided by Nick Bunn.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/mbeans-descriptors.xml
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
tomcat/tc7.0.x/trunk/webapps/docs/config/valve.xml

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1589967

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/ErrorReportValve.java?rev=1589994r1=1589993r2=1589994view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/ErrorReportValve.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/ErrorReportValve.java 
Fri Apr 25 11:14:52 2014
@@ -48,6 +48,10 @@ import org.apache.tomcat.util.res.String
  */
 public class ErrorReportValve extends ValveBase {
 
+protected boolean showReport = true;
+
+protected boolean showServerInfo = true;
+
 //-- Constructor
 public ErrorReportValve() {
 super(true);
@@ -199,69 +203,74 @@ public class ErrorReportValve extends Va
 
 StringBuilder sb = new StringBuilder();
 
-sb.append(htmlheadtitle);
-sb.append(ServerInfo.getServerInfo()).append( - );
-sb.append(smClient.getString(errorReportValve.errorReport));
-sb.append(/title);
-sb.append(style!--);
-sb.append(org.apache.catalina.util.TomcatCSS.TOMCAT_CSS);
-sb.append(--/style );
+sb.append(htmlhead);
+if(showServerInfo || showReport){
+sb.append(title);
+if(showServerInfo) {
+sb.append(ServerInfo.getServerInfo()).append( - );
+}
+sb.append(smClient.getString(errorReportValve.errorReport));
+sb.append(/title);
+sb.append(style!--);
+sb.append(org.apache.catalina.util.TomcatCSS.TOMCAT_CSS);
+sb.append(--/style );
+}
 sb.append(/headbody);
 sb.append(h1);
 sb.append(smClient.getString(errorReportValve.statusHeader,
 + statusCode, message)).append(/h1);
-sb.append(HR size=\1\ noshade=\noshade\);
-sb.append(pbtype/b );
-if (throwable != null) {
-sb.append(smClient.getString(errorReportValve.exceptionReport));
-} else {
-sb.append(smClient.getString(errorReportValve.statusReport));
-}
-sb.append(/p);
-sb.append(pb);
-sb.append(smClient.getString(errorReportValve.message));
-sb.append(/b u);
-sb.append(message).append(/u/p);
-sb.append(pb);
-sb.append(smClient.getString(errorReportValve.description));
-sb.append(/b u);
-sb.append(report);
-sb.append(/u/p);
-
-if (throwable != null) {
-
-String stackTrace = getPartialServletStackTrace(throwable);
+if (showReport) {
+sb.append(HR size=\1\ noshade=\noshade\);
+sb.append(pbtype/b );
+if (throwable != null) {
+
sb.append(smClient.getString(errorReportValve.exceptionReport));
+} else {
+sb.append(smClient.getString(errorReportValve.statusReport));
+}
+sb.append(/p);
+sb.append(pb);
+sb.append(smClient.getString(errorReportValve.message));
+sb.append(/b u);
+sb.append(message).append(/u/p);
 sb.append(pb);
-sb.append(smClient.getString(errorReportValve.exception));
-sb.append(/b pre);
-sb.append(RequestUtil.filter(stackTrace));
-sb.append(/pre/p);
-
-int loops = 0;
-Throwable rootCause = throwable.getCause();
-while (rootCause != null  (loops  10)) {
-stackTrace = getPartialServletStackTrace(rootCause);
+sb.append(smClient.getString(errorReportValve.description));
+sb.append(/b u);
+sb.append(report);
+sb.append(/u/p);
+if (throwable != null) {
+
+String stackTrace = getPartialServletStackTrace(throwable);
 sb.append(pb);
-sb.append(smClient.getString(errorReportValve.rootCause));
+

[Bug 56383] Securing ErrorReportValve [PATCH]

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56383

Violeta Georgieva violet...@apache.org changed:

   What|Removed |Added

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

--- Comment #7 from Violeta Georgieva violet...@apache.org ---
Thanks for the report and the patch. This has been fixed in trunk for 8.0.6 and
in 7.0.x for 7.0.54 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 52751] Optimized configuration of the system info displayed in the default error page

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=52751

--- Comment #9 from Violeta Georgieva violet...@apache.org ---
Hi Polina,

Check Bug 56383.
Do you think that the enhancement solves your use case?

Regards
Violeta

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



buildbot exception in ASF Buildbot on tomcat-trunk

2014-04-25 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/5

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1589992
Blamelist: markt

BUILD FAILED: exception upload_1

sincerely,
 -The Buildbot




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



svn commit: r1589997 - /tomcat/tc7.0.x/trunk/java/org/apache/jasper/xmlparser/ParserUtils.java

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 11:24:47 2014
New Revision: 1589997

URL: http://svn.apache.org/r1589997
Log:
More defensive coding around some XML activities that are triggered by web 
applications and are therefore at potential risk of a memory leak.

Modified:
tomcat/tc7.0.x/trunk/java/org/apache/jasper/xmlparser/ParserUtils.java

Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/xmlparser/ParserUtils.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/xmlparser/ParserUtils.java?rev=1589997r1=1589996r2=1589997view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/xmlparser/ParserUtils.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/xmlparser/ParserUtils.java Fri 
Apr 25 11:24:47 2014
@@ -18,6 +18,7 @@ package org.apache.jasper.xmlparser;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.security.AccessController;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
@@ -29,6 +30,8 @@ import org.apache.jasper.compiler.Locali
 import org.apache.tomcat.util.descriptor.DigesterFactory;
 import org.apache.tomcat.util.descriptor.LocalResolver;
 import org.apache.tomcat.util.descriptor.XmlErrorHandler;
+import org.apache.tomcat.util.security.PrivilegedGetTccl;
+import org.apache.tomcat.util.security.PrivilegedSetTccl;
 import org.w3c.dom.Comment;
 import org.w3c.dom.Document;
 import org.w3c.dom.NamedNodeMap;
@@ -92,7 +95,23 @@ public class ParserUtils {
 Document document = null;
 
 // Perform an XML parse of this document, via JAXP
+ClassLoader original;
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedGetTccl pa = new PrivilegedGetTccl();
+original = AccessController.doPrivileged(pa);
+} else {
+original = Thread.currentThread().getContextClassLoader();
+}
 try {
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedSetTccl pa =
+new 
PrivilegedSetTccl(ParserUtils.class.getClassLoader());
+AccessController.doPrivileged(pa);
+} else {
+Thread.currentThread().setContextClassLoader(
+ParserUtils.class.getClassLoader());
+}
+
 DocumentBuilderFactory factory =
 DocumentBuilderFactory.newInstance();
 factory.setNamespaceAware(true);
@@ -132,6 +151,13 @@ public class ParserUtils {
 } catch (IOException io) {
 throw new JasperException
 (Localizer.getMessage(jsp.error.parse.xml, location), io);
+} finally {
+if (Constants.IS_SECURITY_ENABLED) {
+PrivilegedSetTccl pa = new PrivilegedSetTccl(original);
+AccessController.doPrivileged(pa);
+} else {
+Thread.currentThread().setContextClassLoader(original);
+}
 }
 
 // Convert the resulting document to a graph of TreeNodes



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



Tomcat wiki - edit permissions

2014-04-25 Thread Violeta Georgieva
Hi,

Can you give me permissions to edit the wiki.

User: VioletaGeorgieva

Thanks
Violeta


[Tomcat Wiki] Update of AdminGroup by KonstantinKolinko

2014-04-25 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The AdminGroup page has been changed by KonstantinKolinko:
https://wiki.apache.org/tomcat/AdminGroup?action=diffrev1=8rev2=9

Comment:
Add Violeta Georgieva

   * PidSter
   * SebastianBazley
   * TimFunk
+  * VioletaGeorgieva
  

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



[Tomcat Wiki] Update of AdminGroup by KonstantinKolinko

2014-04-25 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The AdminGroup page has been changed by KonstantinKolinko:
https://wiki.apache.org/tomcat/AdminGroup?action=diffrev1=9rev2=10

Comment:
Add jfclere and kfujino

   * SebastianBazley
   * TimFunk
   * VioletaGeorgieva
+  * JeanFredericClere
+  * KeiichiFujino
  

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



[Tomcat Wiki] Update of ContributorsGroup by KonstantinKolinko

2014-04-25 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The ContributorsGroup page has been changed by KonstantinKolinko:
https://wiki.apache.org/tomcat/ContributorsGroup?action=diffrev1=22rev2=23

Comment:
Moved jfclere and kfujino to AdminGroup

   * StevenHeckler
   * PierreJean
   * GaryBriggs
-  * JeanFredericClere
-  * KeiichiFujino
   * SiegfriedGoeschl
   * OgnjenBlagojevic
  

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



Re: Tomcat wiki - edit permissions

2014-04-25 Thread Konstantin Kolinko
2014-04-25 16:09 GMT+04:00 Violeta Georgieva violet...@apache.org:
 Hi,

 Can you give me permissions to edit the wiki.

 User: VioletaGeorgieva

Done.  I added you to Admin Group, so that you can add more
contributors if needed.   I also promoted Jean and Keiichi into Admin
Group as well.

Best regards,
Konstantin Kolinko

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



[Bug 56458] New: session.isSecure() returning false when using SSL/TLS

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56458

Bug ID: 56458
   Summary: session.isSecure() returning false when using SSL/TLS
   Product: Tomcat 8
   Version: 8.0.5
  Hardware: Macintosh
Status: NEW
  Severity: normal
  Priority: P2
 Component: WebSocket
  Assignee: dev@tomcat.apache.org
  Reporter: burr.clo...@gmail.com

I have a client Websocket endpoint in Tomcat and I'm trying to secure the
Websocket communication. I have my keystore, truststore and password
configurations done. I'm pretty sure that the underlying connection is secure
because:

1) On the machine running Tomcat, I have enabled SSL debugging with
System.setProperty(javax.net.debug, ssl) and i can see the handshake
happening.

2) I have set the server Websocket endpoint (in Jetty) to accept upgrade
requests only if the connection is secure. And the request is accepted.

But the method session.isSecure() is always returning false.

While looking at the org.apache.tomcat.websocket.WsWebSocketContainer in the
method connectToServer(Endpoint endpoint, ClientEndpointConfig
clientEndpointConfiguration, URI path) I have seen that at line 362 a new
WsSession is created with the boolean value false instead of the private
variable secure. I guess therein lies the problem.

-- 
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 56458] session.isSecure() returning false when using SSL/TLS

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56458

burr.clo...@gmail.com changed:

   What|Removed |Added

 OS||All

-- 
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: r1590018 - /tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java

2014-04-25 Thread kkolinko
Author: kkolinko
Date: Fri Apr 25 13:21:34 2014
New Revision: 1590018

URL: http://svn.apache.org/r1590018
Log:
Add javadoc for AbstractReplicatedMap ctr parameters added in r1498820
That feature is controlled via terminateOnStartFailure option of 
BackupManager.

Modified:

tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1590018r1=1590017r2=1590018view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java 
Fri Apr 25 13:21:34 2014
@@ -158,6 +158,7 @@ public abstract class AbstractReplicated
  * @param initialCapacity int - the size of this map, see HashMap
  * @param loadFactor float - load factor, see HashMap
  * @param cls - a list of classloaders to be used for deserialization of 
objects.
+ * @param terminate - Flag for whether to terminate this map that failed 
to start.
  */
 public AbstractReplicatedMap(MapOwner owner,
  Channel channel,
@@ -192,6 +193,7 @@ public abstract class AbstractReplicated
  * @param timeout long
  * @param channelSendOptions int
  * @param cls ClassLoader[]
+ * @param terminate - Flag for whether to terminate this map that failed 
to start.
  */
 protected void init(MapOwner owner, Channel channel, String mapContextName,
 long timeout, int channelSendOptions,ClassLoader[] cls, boolean 
terminate) {



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



svn commit: r1590019 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java

2014-04-25 Thread kkolinko
Author: kkolinko
Date: Fri Apr 25 13:23:51 2014
New Revision: 1590019

URL: http://svn.apache.org/r1590019
Log:
Merged r1590018 from tomcat/trunk:
Add javadoc for AbstractReplicatedMap ctr parameters added in r1498820 / 
r1498855
That feature is controlled via terminateOnStartFailure option of 
BackupManager.

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

tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1590018

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1590019r1=1590018r2=1590019view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
 Fri Apr 25 13:23:51 2014
@@ -167,6 +167,7 @@ public abstract class AbstractReplicated
  * @param initialCapacity int - the size of this map, see HashMap
  * @param loadFactor float - load factor, see HashMap
  * @param cls - a list of classloaders to be used for deserialization of 
objects.
+ * @param terminate - Flag for whether to terminate this map that failed 
to start.
  */
 public AbstractReplicatedMap(MapOwner owner,
  Channel channel,
@@ -201,6 +202,7 @@ public abstract class AbstractReplicated
  * @param timeout long
  * @param channelSendOptions int
  * @param cls ClassLoader[]
+ * @param terminate - Flag for whether to terminate this map that failed 
to start.
  */
 protected void init(MapOwner owner, Channel channel, String mapContextName,
 long timeout, int channelSendOptions,ClassLoader[] cls, boolean 
terminate) {



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



svn commit: r1590020 - in /tomcat/tc6.0.x/trunk: ./ java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java

2014-04-25 Thread kkolinko
Author: kkolinko
Date: Fri Apr 25 13:28:52 2014
New Revision: 1590020

URL: http://svn.apache.org/r1590020
Log:
CTR: javadoc, reviewing r1589637

Merged r1590019 from tomcat/tc7.0.x/trunk:
Add javadoc for AbstractReplicatedMap ctr parameters added in r1589637

In Tomcat 7 and 8 this feature is controlled via terminateOnStartFailure 
option of BackupManager.
In Tomcat 6 this option is not used, it remains with the default value of 
'true'.

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

tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java

Propchange: tomcat/tc6.0.x/trunk/
--
  Merged /tomcat/trunk:r1590018
  Merged /tomcat/tc7.0.x/trunk:r1590019

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1590020r1=1590019r2=1590020view=diff
==
--- 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
 (original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
 Fri Apr 25 13:28:52 2014
@@ -160,6 +160,7 @@ public abstract class AbstractReplicated
  * @param initialCapacity int - the size of this map, see HashMap
  * @param loadFactor float - load factor, see HashMap
  * @param cls - a list of classloaders to be used for deserialization of 
objects.
+ * @param terminate - Flag for whether to terminate this map that failed 
to start.
  */
 public AbstractReplicatedMap(MapOwner owner,
  Channel channel,
@@ -194,6 +195,7 @@ public abstract class AbstractReplicated
  * @param timeout long
  * @param channelSendOptions int
  * @param cls ClassLoader[]
+ * @param terminate - Flag for whether to terminate this map that failed 
to start.
  */
 protected void init(MapOwner owner, Channel channel, String mapContextName,
 long timeout, int channelSendOptions,ClassLoader[] cls, boolean 
terminate) {



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



Re: Tomcat wiki - edit permissions

2014-04-25 Thread Violeta Georgieva
2014-04-25 15:23 GMT+03:00 Konstantin Kolinko knst.koli...@gmail.com:

 2014-04-25 16:09 GMT+04:00 Violeta Georgieva violet...@apache.org:
  Hi,
 
  Can you give me permissions to edit the wiki.
 
  User: VioletaGeorgieva

 Done.  I added you to Admin Group, so that you can add more
 contributors if needed.   I also promoted Jean and Keiichi into Admin
 Group as well.

Thanks

 Best regards,
 Konstantin Kolinko

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



svn commit: r1590028 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/servlets/DefaultServlet.java java/org/apache/jasper/compiler/JspDocumentParser.java webapps/docs/changelog.xml

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 13:49:02 2014
New Revision: 1590028

URL: http://svn.apache.org/r1590028
Log:
Defensive coding around some XML activities that are triggered by web 
applications and are therefore at potential risk of a memory leak.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/catalina/servlets/DefaultServlet.java
tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1589837,1589980

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/servlets/DefaultServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/servlets/DefaultServlet.java?rev=1590028r1=1590027r2=1590028view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/servlets/DefaultServlet.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/servlets/DefaultServlet.java 
Fri Apr 25 13:49:02 2014
@@ -32,6 +32,7 @@ import java.io.RandomAccessFile;
 import java.io.Reader;
 import java.io.StringReader;
 import java.io.StringWriter;
+import java.security.AccessController;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.Locale;
@@ -74,6 +75,8 @@ import org.apache.naming.resources.Proxy
 import org.apache.naming.resources.Resource;
 import org.apache.naming.resources.ResourceAttributes;
 import org.apache.tomcat.util.res.StringManager;
+import org.apache.tomcat.util.security.PrivilegedGetTccl;
+import org.apache.tomcat.util.security.PrivilegedSetTccl;
 import org.w3c.dom.Document;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
@@ -1367,11 +1370,27 @@ public class DefaultServlet
 sb.append(]]/readme);
 }
 
-
 sb.append(/listing);
 
-
+// Prevent possible memory leak. Ensure Transformer and
+// TransformerFactory are not loaded from the web application.
+ClassLoader original;
+if (Globals.IS_SECURITY_ENABLED) {
+PrivilegedGetTccl pa = new PrivilegedGetTccl();
+original = AccessController.doPrivileged(pa);
+} else {
+original = Thread.currentThread().getContextClassLoader();
+}
 try {
+if (Globals.IS_SECURITY_ENABLED) {
+PrivilegedSetTccl pa =
+new 
PrivilegedSetTccl(DefaultServlet.class.getClassLoader());
+AccessController.doPrivileged(pa);
+} else {
+Thread.currentThread().setContextClassLoader(
+DefaultServlet.class.getClassLoader());
+}
+
 TransformerFactory tFactory = TransformerFactory.newInstance();
 Source xmlSource = new StreamSource(new 
StringReader(sb.toString()));
 Transformer transformer = tFactory.newTransformer(xsltSource);
@@ -1384,6 +1403,13 @@ public class DefaultServlet
 return (new ByteArrayInputStream(stream.toByteArray()));
 } catch (TransformerException e) {
 throw new ServletException(XSL transformer error, e);
+} finally {
+if (Globals.IS_SECURITY_ENABLED) {
+PrivilegedSetTccl pa = new PrivilegedSetTccl(original);
+AccessController.doPrivileged(pa);
+} else {
+Thread.currentThread().setContextClassLoader(original);
+}
 }
 }
 

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java?rev=1590028r1=1590027r2=1590028view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java 
Fri Apr 25 13:49:02 2014
@@ -20,6 +20,7 @@ import java.io.CharArrayWriter;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.security.AccessController;
 import java.util.Iterator;
 import java.util.List;
 import java.util.jar.JarFile;
@@ -35,6 +36,8 @@ import org.apache.jasper.JasperException
 import org.apache.jasper.JspCompilationContext;
 import org.apache.tomcat.util.descriptor.DigesterFactory;
 import org.apache.tomcat.util.descriptor.LocalResolver;
+import org.apache.tomcat.util.security.PrivilegedGetTccl;
+import org.apache.tomcat.util.security.PrivilegedSetTccl;
 import org.xml.sax.Attributes;
 import org.xml.sax.InputSource;
 import org.xml.sax.Locator;
@@ -1464,33 +1467,58 @@ class JspDocumentParser
 JspDocumentParser jspDocParser)
 throws Exception {
 
-

svn commit: r1590033 - /tomcat/tc6.0.x/trunk/STATUS.txt

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 14:07:05 2014
New Revision: 1590033

URL: http://svn.apache.org/r1590033
Log:
Proposal

Modified:
tomcat/tc6.0.x/trunk/STATUS.txt

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1590033r1=1590032r2=1590033view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Fri Apr 25 14:07:05 2014
@@ -52,6 +52,12 @@ PATCHES PROPOSED TO BACKPORT:
http://wiki.openssl.org/index.php/FIPS_mode%28%29
   -1:
 
+* Defensive coding around some XML activities that are triggered by web
+  applications and are therefore at potential risk of a memory leak.
+  http://people.apache.org/~markt/patches/2014-04-25-memory-leak-tc6-v1.patch
+  +1: markt
+  -1:
+
 
 PATCHES/ISSUES THAT ARE STALLED:
 



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



svn commit: r1590036 - in /tomcat/tc7.0.x/trunk: java/org/apache/catalina/startup/TldConfig.java webapps/docs/changelog.xml

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 14:12:59 2014
New Revision: 1590036

URL: http://svn.apache.org/r1590036
Log:
Ensure TLD parser obtained from cache has correct value of blockExternal

Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java?rev=1590036r1=1590035r2=1590036view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java Fri 
Apr 25 14:12:59 2014
@@ -79,7 +79,7 @@ public final class TldConfig  implements
 /**
  * The codeDigester/codes available to process tld files.
  */
-private static Digester[] tldDigesters = new Digester[2];
+private static Digester[] tldDigesters = new Digester[4];
 
 /**
  * Create (if necessary) and return a Digester configured to process the
@@ -89,20 +89,34 @@ public final class TldConfig  implements
 boolean blockExternal) {
 
 Digester digester = null;
-if (!validation) {
+if (!validation  !blockExternal) {
 if (tldDigesters[0] == null) {
 tldDigesters[0] = DigesterFactory.newDigester(validation,
 true, new TldRuleSet(), blockExternal);
 tldDigesters[0].getParser();
 }
 digester = tldDigesters[0];
-} else {
+} else if (!validation  blockExternal) {
 if (tldDigesters[1] == null) {
 tldDigesters[1] = DigesterFactory.newDigester(validation,
 true, new TldRuleSet(), blockExternal);
 tldDigesters[1].getParser();
 }
 digester = tldDigesters[1];
+} else if (validation  !blockExternal) {
+if (tldDigesters[2] == null) {
+tldDigesters[2] = DigesterFactory.newDigester(validation,
+true, new TldRuleSet(), blockExternal);
+tldDigesters[2].getParser();
+}
+digester = tldDigesters[2];
+} else {
+if (tldDigesters[3] == null) {
+tldDigesters[3] = DigesterFactory.newDigester(validation,
+true, new TldRuleSet(), blockExternal);
+tldDigesters[3].getParser();
+}
+digester = tldDigesters[3];
 }
 return digester;
 }

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1590036r1=1590035r2=1590036view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Fri Apr 25 14:12:59 2014
@@ -121,6 +121,10 @@
 additional locations where, theoretically, a memory leak could occur.
 (markt)
   /add
+  fix
+Ensure that a TLD parser obtained from the cache has the correct value
+of codeblockExternal/code. (markt)
+  /fix
 /changelog
   /subsection
   subsection name=Coyote



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



svn commit: r1590038 - /tomcat/tc6.0.x/trunk/STATUS.txt

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 14:14:09 2014
New Revision: 1590038

URL: http://svn.apache.org/r1590038
Log:
Proposal

Modified:
tomcat/tc6.0.x/trunk/STATUS.txt

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1590038r1=1590037r2=1590038view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Fri Apr 25 14:14:09 2014
@@ -58,6 +58,11 @@ PATCHES PROPOSED TO BACKPORT:
   +1: markt
   -1:
 
+* Ensure TLD parser obtained from cache has correct value of blockExternal
+  http://svn.apache.org/r1590036
+  +1: markt
+  -1:
+
 
 PATCHES/ISSUES THAT ARE STALLED:
 



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



svn commit: r1590040 - /tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java

2014-04-25 Thread kkolinko
Author: kkolinko
Date: Fri Apr 25 14:33:08 2014
New Revision: 1590040

URL: http://svn.apache.org/r1590040
Log:
Followup to r1590036 
1) simplify
2) add 'synchronized', as web applications may start in parallel

Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java?rev=1590040r1=1590039r2=1590040view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java Fri 
Apr 25 14:33:08 2014
@@ -85,38 +85,23 @@ public final class TldConfig  implements
  * Create (if necessary) and return a Digester configured to process the
  * tld.
  */
-private static Digester createTldDigester(boolean validation,
+private synchronized static Digester createTldDigester(boolean validation,
 boolean blockExternal) {
-
-Digester digester = null;
-if (!validation  !blockExternal) {
-if (tldDigesters[0] == null) {
-tldDigesters[0] = DigesterFactory.newDigester(validation,
-true, new TldRuleSet(), blockExternal);
-tldDigesters[0].getParser();
-}
-digester = tldDigesters[0];
-} else if (!validation  blockExternal) {
-if (tldDigesters[1] == null) {
-tldDigesters[1] = DigesterFactory.newDigester(validation,
-true, new TldRuleSet(), blockExternal);
-tldDigesters[1].getParser();
-}
-digester = tldDigesters[1];
-} else if (validation  !blockExternal) {
-if (tldDigesters[2] == null) {
-tldDigesters[2] = DigesterFactory.newDigester(validation,
-true, new TldRuleSet(), blockExternal);
-tldDigesters[2].getParser();
-}
-digester = tldDigesters[2];
-} else {
-if (tldDigesters[3] == null) {
-tldDigesters[3] = DigesterFactory.newDigester(validation,
-true, new TldRuleSet(), blockExternal);
-tldDigesters[3].getParser();
-}
-digester = tldDigesters[3];
+
+Digester digester;
+int cacheIndex = 0;
+if (validation) {
+cacheIndex += 1;
+}
+if (blockExternal) {
+cacheIndex += 2;
+}
+digester = tldDigesters[cacheIndex];
+if (digester == null) {
+digester = DigesterFactory.newDigester(validation,
+true, new TldRuleSet(), blockExternal);
+digester.getParser();
+tldDigesters[cacheIndex] = digester;
 }
 return digester;
 }



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



svn commit: r1590041 - /tomcat/tc6.0.x/trunk/STATUS.txt

2014-04-25 Thread kkolinko
Author: kkolinko
Date: Fri Apr 25 14:35:52 2014
New Revision: 1590041

URL: http://svn.apache.org/r1590041
Log:
proposals

Modified:
tomcat/tc6.0.x/trunk/STATUS.txt

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1590041r1=1590040r2=1590041view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Fri Apr 25 14:35:52 2014
@@ -60,7 +60,19 @@ PATCHES PROPOSED TO BACKPORT:
 
 * Ensure TLD parser obtained from cache has correct value of blockExternal
   http://svn.apache.org/r1590036
-  +1: markt
+  +1: markt, kkolinko
+  -1:
+
+  Additional patch:
+  http://svn.apache.org/r1590040
+  +1: kkolinko
+  -1:
+
+* Followup to r1589635
+  To simplify code and align it with TC7  8.
+  (Discussed in Re:r1589635)
+  http://svn.apache.org/r1589737
+  +1: kkolinko
   -1:
 
 



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



svn commit: r1590060 - in /tomcat/trunk: java/org/apache/tomcat/websocket/WsWebSocketContainer.java webapps/docs/changelog.xml

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 15:38:00 2014
New Revision: 1590060

URL: http://svn.apache.org/r1590060
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56458
Report WebSocket sessions that are created over secure connections as secure 
rather than as not secure.

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1590060r1=1590059r2=1590060view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Fri 
Apr 25 15:38:00 2014
@@ -323,7 +323,7 @@ public class WsWebSocketContainer
 
 WsSession wsSession = new WsSession(endpoint, wsRemoteEndpointClient,
 this, null, null, null, null, null, subProtocol,
-Collections.String, String emptyMap(), false,
+Collections.String, String emptyMap(), secure,
 clientEndpointConfiguration);
 endpoint.onOpen(wsSession, clientEndpointConfiguration);
 registerSession(endpoint, wsSession);

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1590060r1=1590059r2=1590060view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Apr 25 15:38:00 2014
@@ -258,6 +258,10 @@
 message handlers are in place should the codeonOpen()/code method
 trigger the sending of any messages. (markt)
   /fix
+  fix
+bug56458/bug: Report WebSocket sessions that are created over 
secure
+connections as secure rather than as not secure. (markt)
+  /fix
 /changelog
   /subsection
   subsection name=Web applications



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



svn commit: r1590061 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/websocket/WsWebSocketContainer.java webapps/docs/changelog.xml

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 15:39:48 2014
New Revision: 1590061

URL: http://svn.apache.org/r1590061
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56458
Report WebSocket sessions that are created over secure connections as secure 
rather than as not secure.

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

tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1590060

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1590061r1=1590060r2=1590061view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java 
Fri Apr 25 15:39:48 2014
@@ -345,7 +345,7 @@ public class WsWebSocketContainer
 
 WsSession wsSession = new WsSession(endpoint, wsRemoteEndpointClient,
 this, null, null, null, null, null, subProtocol,
-Collections.String, String emptyMap(), false,
+Collections.String, String emptyMap(), secure,
 clientEndpointConfiguration);
 endpoint.onOpen(wsSession, clientEndpointConfiguration);
 registerSession(endpoint, wsSession);

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1590061r1=1590060r2=1590061view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Fri Apr 25 15:39:48 2014
@@ -211,6 +211,10 @@
 message handlers are in place should the codeonOpen()/code method
 trigger the sending of any messages. (markt)
   /fix
+  fix
+bug56458/bug: Report WebSocket sessions that are created over 
secure
+connections as secure rather than as not secure. (markt)
+  /fix
 /changelog
   /subsection
   subsection name=Web applications



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



[Bug 56458] session.isSecure() returning false when using SSL/TLS

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56458

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

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

--- Comment #1 from Mark Thomas ma...@apache.org ---
Thanks for the report and the analysis. Your analysis is spot on. I have fixed
this in 8.0.x for 8.0.6 onwards and in 7.0.x for 7.0.54 onwards.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



svn commit: r1590065 - /tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 15:55:49 2014
New Revision: 1590065

URL: http://svn.apache.org/r1590065
Log:
Use JLS recommended order

Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java?rev=1590065r1=1590064r2=1590065view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java Fri 
Apr 25 15:55:49 2014
@@ -85,7 +85,7 @@ public final class TldConfig  implements
  * Create (if necessary) and return a Digester configured to process the
  * tld.
  */
-private synchronized static Digester createTldDigester(boolean validation,
+private static synchronized Digester createTldDigester(boolean validation,
 boolean blockExternal) {
 
 Digester digester;



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



[Bug 56418] Manager incorrectly reports deployment as OK even though it failed

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56418

--- Comment #3 from Mark Thomas ma...@apache.org ---
(In reply to Sylvain Laurent from comment #2)
 OK, I renamed the method to checkAndOutputContextDeploymentStatus, see new
 patch attached.

I'm all for clear method names but that seems a little long

outputDeploymentResult()

should do.

 If this is OK, I can commit it since I should still have commit rights.
 But I did not follow much tomcat dev lately : should I commit on 8.x  then
 7.x ?

Yes. Commit to 8.0.x and then svn merge back to 7.0.x.

 Should I update the changelog in the same commit or different one ?

Ideally the same one.

 Or if you prefer to commit this yourself, be my guest ;-)

As I am looking at this now I'll do it (but you will get the credit/blame in
the changelog).

-- 
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: r1590076 - in /tomcat/trunk: java/org/apache/catalina/manager/ManagerServlet.java webapps/docs/changelog.xml

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 16:21:14 2014
New Revision: 1590076

URL: http://svn.apache.org/r1590076
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56418
Ensure that the Manager web application does not report success for a web 
application deployment that fails. Based on a patch by slaurent.

Modified:
tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java?rev=1590076r1=1590075r2=1590076view=diff
==
--- tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java (original)
+++ tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java Fri Apr 
25 16:21:14 2014
@@ -720,15 +720,7 @@ public class ManagerServlet extends Http
 return;
 }
 
-context = (Context) host.findChild(name);
-if (context != null  context.getConfigured()) {
-writer.println(smClient.getString(
-managerServlet.deployed, displayPath));
-} else {
-// Something failed
-writer.println(smClient.getString(
-managerServlet.deployFailed, displayPath));
-}
+writeDeployResult(writer, smClient, name, displayPath);
 }
 
 
@@ -786,16 +778,7 @@ public class ManagerServlet extends Http
 return;
 }
 
-context = (Context) host.findChild(name);
-if (context != null  context.getConfigured()) {
-writer.println(smClient.getString(managerServlet.deployed,
-displayPath));
-} else {
-// Something failed
-writer.println(smClient.getString(managerServlet.deployFailed,
-displayPath));
-}
-
+writeDeployResult(writer, smClient, name, displayPath);
 }
 
 
@@ -903,19 +886,7 @@ public class ManagerServlet extends Http
 removeServiced(name);
 }
 }
-context = (Context) host.findChild(name);
-if (context != null  context.getConfigured() 
-context.getState().isAvailable()) {
-writer.println(smClient.getString(
-managerServlet.deployed, displayPath));
-} else if (context!=null  !context.getState().isAvailable()) {
-writer.println(smClient.getString(
-managerServlet.deployedButNotStarted, displayPath));
-} else {
-// Something failed
-writer.println(smClient.getString(
-managerServlet.deployFailed, displayPath));
-}
+writeDeployResult(writer, smClient, name, displayPath);
 } catch (Throwable t) {
 ExceptionUtils.handleThrowable(t);
 log(ManagerServlet.install[ + displayPath + ], t);
@@ -926,6 +897,24 @@ public class ManagerServlet extends Http
 }
 
 
+private void writeDeployResult(PrintWriter writer, StringManager smClient,
+String name, String displayPath) {
+Context deployed = (Context) host.findChild(name);
+if (deployed != null  deployed.getConfigured() 
+deployed.getState().isAvailable()) {
+writer.println(smClient.getString(
+managerServlet.deployed, displayPath));
+} else if (deployed!=null  !deployed.getState().isAvailable()) {
+writer.println(smClient.getString(
+managerServlet.deployedButNotStarted, displayPath));
+} else {
+// Something failed
+writer.println(smClient.getString(
+managerServlet.deployFailed, displayPath));
+}
+}
+
+
 /**
  * Render a list of the currently active Contexts in our virtual host.
  *

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1590076r1=1590075r2=1590076view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Apr 25 16:21:14 2014
@@ -279,6 +279,10 @@
 Correct documentation on Windows service options, aligning it with
 Apache Commons Daemon documentation. (kkolinko)
   /fix
+  fix
+bug56418/bug: Ensure that the Manager web application does not
+report success for a web application deployment that fails. (slaurent)
+  /fix
 /changelog
   /subsection
   subsection name=Other



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



svn commit: r1590077 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/manager/ManagerServlet.java webapps/docs/changelog.xml

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 16:22:45 2014
New Revision: 1590077

URL: http://svn.apache.org/r1590077
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56418
Ensure that the Manager web application does not report success for a web 
application deployment that fails. Based on a patch by slaurent.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1590076

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java?rev=1590077r1=1590076r2=1590077view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java 
Fri Apr 25 16:22:45 2014
@@ -718,15 +718,7 @@ public class ManagerServlet extends Http
 return;
 }
 
-context = (Context) host.findChild(name);
-if (context != null  context.getConfigured()) {
-writer.println(smClient.getString(
-managerServlet.deployed, displayPath));
-} else {
-// Something failed
-writer.println(smClient.getString(
-managerServlet.deployFailed, displayPath));
-}
+writeDeployResult(writer, smClient, name, displayPath);
 }
 
 
@@ -784,16 +776,7 @@ public class ManagerServlet extends Http
 return;
 }
 
-context = (Context) host.findChild(name);
-if (context != null  context.getConfigured()) {
-writer.println(smClient.getString(managerServlet.deployed,
-displayPath));
-} else {
-// Something failed
-writer.println(smClient.getString(managerServlet.deployFailed,
-displayPath));
-}
-
+writeDeployResult(writer, smClient, name, displayPath);
 }
 
 
@@ -901,19 +884,7 @@ public class ManagerServlet extends Http
 removeServiced(name);
 }
 }
-context = (Context) host.findChild(name);
-if (context != null  context.getConfigured() 
-context.getState().isAvailable()) {
-writer.println(smClient.getString(
-managerServlet.deployed, displayPath));
-} else if (context!=null  !context.getState().isAvailable()) {
-writer.println(smClient.getString(
-managerServlet.deployedButNotStarted, displayPath));
-} else {
-// Something failed
-writer.println(smClient.getString(
-managerServlet.deployFailed, displayPath));
-}
+writeDeployResult(writer, smClient, name, displayPath);
 } catch (Throwable t) {
 ExceptionUtils.handleThrowable(t);
 log(ManagerServlet.install[ + displayPath + ], t);
@@ -924,6 +895,24 @@ public class ManagerServlet extends Http
 }
 
 
+private void writeDeployResult(PrintWriter writer, StringManager smClient,
+String name, String displayPath) {
+Context deployed = (Context) host.findChild(name);
+if (deployed != null  deployed.getConfigured() 
+deployed.getState().isAvailable()) {
+writer.println(smClient.getString(
+managerServlet.deployed, displayPath));
+} else if (deployed!=null  !deployed.getState().isAvailable()) {
+writer.println(smClient.getString(
+managerServlet.deployedButNotStarted, displayPath));
+} else {
+// Something failed
+writer.println(smClient.getString(
+managerServlet.deployFailed, displayPath));
+}
+}
+
+
 /**
  * Render a list of the currently active Contexts in our virtual host.
  *

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1590077r1=1590076r2=1590077view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Fri Apr 25 16:22:45 2014
@@ -232,6 +232,10 @@
 Correct documentation on Windows service options, aligning it with
 Apache Commons Daemon documentation. (kkolinko)
   /fix
+  fix
+bug56418/bug: Ensure that the Manager web application does not
+report success for a web application 

[Bug 56418] Manager incorrectly reports deployment as OK even though it failed

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56418

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

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

--- Comment #4 from Mark Thomas ma...@apache.org ---
Thanks.

Applied to 8.0.x for 8.0.6 and 7.0.x for 7.0.54.

-- 
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 56451] JNDI lookups under java:comp/Resources do not access Context aliases resources

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56451

--- Comment #1 from Konstantin Kolinko knst.koli...@gmail.com ---
1. Note that this API is not available in Tomcat 8,
but you can call

 ic.lookup(java:comp/Resources)

which will return StandardRoot.

2. Debugging Tomcat 7, the cause for this issue is different from what I
expected.

 ic.lookup(java:comp/Resources)

In Tomcat 7 is an instance of ProxyDirContext.

If use the OP way,
- The string name is parsed into CompositeName.
- There is a series of lookups, each obtaining a
org.apache.naming.NamingContext and looking up the name with first component
removed.  See NamingContext.lookup(Name, boolean resolveLinks:= true)
{ ... return ((Context) entry.value).lookup(name.getSuffix(1)) }
- It goes into ProxyDirContext.lookup(Name)
- It does cacheLookup(name.toString())
- The cacheLookup method creates CacheEntry and calls cacheLoad() to fill it.
- The cacheLoad method calls dirContext.getAttributes(entry.name).

The problem is that
1) name.toString() looks like some/path/myResource
2) when you call resource lookup the name will be /some/path/myResource with
leading /.

This results in
- Aliases in BaseDirContext/FileDirContext do not work, as all aliases start
with leading /.
- Inconsistency in cache keys in ProxyDirContext.

I wonder whether this is better be fixed by consistently adding '/' to the
start of the string, or by consistently removing starting '/'
from names and aliases.

The latter will be more effective (substring is cheaper that string
concatenation), and more correct from JNDI API point of view,
but it may be easy to miss some use case.


It is also possible to say that this is unsupported API and close as wontfix.

Note that the following works correctly:
((Context)
ic.lookup(java:comp/Resources).lookup(/someAlias/myOtherResource)

Note leading / in /someAlias.

-- 
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 56452] IPv6 address and log level debug caused crash

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56452

--- Comment #4 from Christopher Schultz ch...@christopherschultz.net ---
(In reply to Konstantin Kolinko from comment #3)
 (In reply to Christopher Schultz from comment #2)
  Created attachment 31557 [details]
  Proposed patch (against mod_jk/trunk)
  
  I have raised the size of buf from 64 to 100 characters. The message looks
  like it will need 96 bytes for a complete IPv6 message (e.g.
  2001:0db8::::ff00:0042:8329:65556 -
  2001:0db8::::ff00:0042:8329:65535 + \0), so I just rounded up to
  100 bytes.
  
  I've also added proper length-tracking to the buffer and more protection
  against overruns.
 
 The following discussion says that IPv6 address needs maximum 45 characters,
 not 39. So you would need 12 bytes more than 96 = 108.

Bah, I forgot about tunnelled-IPv4. However:

::::::192.168.0.1:65535 -
::::::192.168.0.1:65535

That's only 97 bytes plus a NULL-terminator. Where did you get the 39 from?

 http://stackoverflow.com/questions/166132/maximum-length-of-the-textual-
 representation-of-an-ipv6-address
 
 Also see tmp buffer size here:
 http://svn.apache.org/viewvc/apr/apr/trunk/network_io/unix/inet_ntop.
 c?revision=573491view=markup#l149

I did see that code in APR while researching. I suppose I could use that, but I
figured that buf might be used for other things so I didn't consider it. I
think it turns out that buf is really just for this purpose, so we could do
something like this if you'd prefer:

  char buf[sizeof ::::::192.168.0.1:65535 -
::::::192.168.0.1:65535 + 1];

-- 
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 56452] IPv6 address and log level debug caused crash

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56452

--- Comment #5 from Konstantin Kolinko knst.koli...@gmail.com ---
(In reply to Christopher Schultz from comment #4)
 That's only 97 bytes plus a NULL-terminator. Where did you get the 39 from?

39 is the size of IPv6 address in the form used in your example. You have two
IPv6 addresses in that string.

45-39 = 6 characters missing  x 2 IPv6 addresses = 12 more characters are
needed in the buffer.

 we
 could do something like this if you'd prefer:
 
   char buf[sizeof ::::::192.168.0.1:65535 -
 ::::::192.168.0.1:65535 + 1];

First, the above code has an error. The IPv4 address part can be longer by 4
decimal digits than the one written above.

Second, I do not care on the actual implementation. I mentioned APR code as an
example of their output.

The stackoverflow article mentioned INET6_ADDRSTRLEN constant, but I do not
know whether that is portable.

-- 
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: r1590120 - in /tomcat/trunk: java/javax/el/Util.java java/org/apache/el/util/ReflectionUtil.java test/javax/el/TestUtil.java webapps/docs/changelog.xml

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 19:49:46 2014
New Revision: 1590120

URL: http://svn.apache.org/r1590120
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56425
 Improve method matching for EL expressions. When looking for matching methods, 
an exact match between parameter types is preferred followed by an assignable 
match followed by a coercible match.

Modified:
tomcat/trunk/java/javax/el/Util.java
tomcat/trunk/java/org/apache/el/util/ReflectionUtil.java
tomcat/trunk/test/javax/el/TestUtil.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/javax/el/Util.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/Util.java?rev=1590120r1=1590119r2=1590120view=diff
==
--- tomcat/trunk/java/javax/el/Util.java (original)
+++ tomcat/trunk/java/javax/el/Util.java Fri Apr 25 19:49:46 2014
@@ -228,7 +228,7 @@ class Util {
 private static Wrapper findWrapper(Class? clazz, ListWrapper wrappers,
 String name, Class?[] paramTypes, Object[] paramValues) {
 
-MapWrapper,Integer candidates = new HashMap();
+MapWrapper,MatchResult candidates = new HashMap();
 
 int paramCount;
 if (paramTypes == null) {
@@ -255,6 +255,8 @@ class Util {
 
 // Check the parameters match
 int exactMatch = 0;
+int assignableMatch = 0;
+int coercibleMatch = 0;
 boolean noMatch = false;
 for (int i = 0; i  mParamCount; i++) {
 // Can't be null
@@ -263,12 +265,16 @@ class Util {
 } else if (i == (mParamCount - 1)  w.isVarArgs()) {
 Class? varType = mParamTypes[i].getComponentType();
 for (int j = i; j  paramCount; j++) {
-if (!isAssignableFrom(paramTypes[j], varType)) {
+if (isAssignableFrom(paramTypes[j], varType)) {
+assignableMatch++;
+} else {
 if (paramValues == null) {
 noMatch = true;
 break;
 } else {
-if (!isCoercibleFrom(paramValues[j], varType)) 
{
+if (isCoercibleFrom(paramValues[j], varType)) {
+coercibleMatch++;
+} else {
 noMatch = true;
 break;
 }
@@ -278,12 +284,16 @@ class Util {
 // lead to a varArgs method matching when the result
 // should be ambiguous
 }
-} else if (!isAssignableFrom(paramTypes[i], mParamTypes[i])) {
+} else if (isAssignableFrom(paramTypes[i], mParamTypes[i])) {
+assignableMatch++;
+} else {
 if (paramValues == null) {
 noMatch = true;
 break;
 } else {
-if (!isCoercibleFrom(paramValues[i], mParamTypes[i])) {
+if (isCoercibleFrom(paramValues[i], mParamTypes[i])) {
+coercibleMatch++;
+} else {
 noMatch = true;
 break;
 }
@@ -300,26 +310,26 @@ class Util {
 return w;
 }
 
-candidates.put(w, Integer.valueOf(exactMatch));
+candidates.put(w, new MatchResult(exactMatch, assignableMatch, 
coercibleMatch));
 }
 
 // Look for the method that has the highest number of parameters where
 // the type matches exactly
-int bestMatch = 0;
+MatchResult bestMatch = new MatchResult(0, 0, 0);
 Wrapper match = null;
 boolean multiple = false;
-for (Map.EntryWrapper, Integer entry : candidates.entrySet()) {
-if (entry.getValue().intValue()  bestMatch ||
-match == null) {
-bestMatch = entry.getValue().intValue();
+for (Map.EntryWrapper, MatchResult entry : candidates.entrySet()) {
+int cmp = entry.getValue().compareTo(bestMatch);
+if (cmp  0 || match == null) {
+bestMatch = entry.getValue();
 match = entry.getKey();
 multiple = false;
-} else if (entry.getValue().intValue() == bestMatch) {
+} else if (cmp == 0) {
 multiple = true;
 }
 }
 if (multiple) {
-if (bestMatch == paramCount - 1) {
+if (bestMatch.getExact() == paramCount - 1) {
 // Only one parameter is not an exact match - try using the
 // super 

svn commit: r1590121 - in /tomcat/tc7.0.x/trunk: ./ java/javax/el/Util.java java/org/apache/el/util/ReflectionUtil.java webapps/docs/changelog.xml

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 19:52:38 2014
New Revision: 1590121

URL: http://svn.apache.org/r1590121
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56425
Improve method matching for EL expressions. When looking for matching methods, 
an exact match between parameter types is preferred followed by an assignable 
match followed by a coercible match.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/javax/el/Util.java
tomcat/tc7.0.x/trunk/java/org/apache/el/util/ReflectionUtil.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1590120

Modified: tomcat/tc7.0.x/trunk/java/javax/el/Util.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/javax/el/Util.java?rev=1590121r1=1590120r2=1590121view=diff
==
--- tomcat/tc7.0.x/trunk/java/javax/el/Util.java (original)
+++ tomcat/tc7.0.x/trunk/java/javax/el/Util.java Fri Apr 25 19:52:38 2014
@@ -228,7 +228,7 @@ class Util {
 private static Wrapper findWrapper(Class? clazz, ListWrapper wrappers,
 String name, Class?[] paramTypes, Object[] paramValues) {
 
-MapWrapper,Integer candidates = new HashMapWrapper,Integer();
+MapWrapper,MatchResult candidates = new 
HashMapWrapper,MatchResult();
 
 int paramCount;
 if (paramTypes == null) {
@@ -255,6 +255,8 @@ class Util {
 
 // Check the parameters match
 int exactMatch = 0;
+int assignableMatch = 0;
+int coercibleMatch = 0;
 boolean noMatch = false;
 for (int i = 0; i  mParamCount; i++) {
 // Can't be null
@@ -263,12 +265,16 @@ class Util {
 } else if (i == (mParamCount - 1)  w.isVarArgs()) {
 Class? varType = mParamTypes[i].getComponentType();
 for (int j = i; j  paramCount; j++) {
-if (!isAssignableFrom(paramTypes[j], varType)) {
+if (isAssignableFrom(paramTypes[j], varType)) {
+assignableMatch++;
+} else {
 if (paramValues == null) {
 noMatch = true;
 break;
 } else {
-if (!isCoercibleFrom(paramValues[j], varType)) 
{
+if (isCoercibleFrom(paramValues[j], varType)) {
+coercibleMatch++;
+} else {
 noMatch = true;
 break;
 }
@@ -278,12 +284,16 @@ class Util {
 // lead to a varArgs method matching when the result
 // should be ambiguous
 }
-} else if (!isAssignableFrom(paramTypes[i], mParamTypes[i])) {
+} else if (isAssignableFrom(paramTypes[i], mParamTypes[i])) {
+assignableMatch++;
+} else {
 if (paramValues == null) {
 noMatch = true;
 break;
 } else {
-if (!isCoercibleFrom(paramValues[i], mParamTypes[i])) {
+if (isCoercibleFrom(paramValues[i], mParamTypes[i])) {
+coercibleMatch++;
+} else {
 noMatch = true;
 break;
 }
@@ -300,26 +310,26 @@ class Util {
 return w;
 }
 
-candidates.put(w, Integer.valueOf(exactMatch));
+candidates.put(w, new MatchResult(exactMatch, assignableMatch, 
coercibleMatch));
 }
 
 // Look for the method that has the highest number of parameters where
 // the type matches exactly
-int bestMatch = 0;
+MatchResult bestMatch = new MatchResult(0, 0, 0);
 Wrapper match = null;
 boolean multiple = false;
-for (Map.EntryWrapper, Integer entry : candidates.entrySet()) {
-if (entry.getValue().intValue()  bestMatch ||
-match == null) {
-bestMatch = entry.getValue().intValue();
+for (Map.EntryWrapper, MatchResult entry : candidates.entrySet()) {
+int cmp = entry.getValue().compareTo(bestMatch);
+if (cmp  0 || match == null) {
+bestMatch = entry.getValue();
 match = entry.getKey();
 multiple = false;
-} else if (entry.getValue().intValue() == bestMatch) {
+} else if (cmp == 0) {
 multiple = true;
 }
 }

[Bug 56425] Unable to find unambiguous method in class String

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56425

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

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

--- Comment #2 from Mark Thomas ma...@apache.org ---
Thanks for the report. This has been fixed in 8.0.x for 8.0.6 onwards and in
7.0.x for 7.0.54 onwards.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



svn commit: r1590128 - in /tomcat/trunk: java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java webapps/docs/changelog.xml

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 20:07:39 2014
New Revision: 1590128

URL: http://svn.apache.org/r1590128
Log:
Stop threads used for secure WebSocket client connections when they are no 
longer required and give them better names for easier debugging while they are 
running.

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java?rev=1590128r1=1590127r2=1590128view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java 
Fri Apr 25 20:07:39 2014
@@ -26,9 +26,11 @@ import java.util.concurrent.ExecutionExc
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
+import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.net.ssl.SSLEngine;
 import javax.net.ssl.SSLEngineResult;
@@ -57,7 +59,8 @@ public class AsyncChannelWrapperSecure i
 private final ByteBuffer socketReadBuffer;
 private final ByteBuffer socketWriteBuffer;
 // One thread for read, one for write
-private final ExecutorService executor = Executors.newFixedThreadPool(2);
+private final ExecutorService executor =
+Executors.newFixedThreadPool(2, new SecureIOThreadFactory());
 private AtomicBoolean writing = new AtomicBoolean(false);
 private AtomicBoolean reading = new AtomicBoolean(false);
 
@@ -148,6 +151,7 @@ public class AsyncChannelWrapperSecure i
 } catch (IOException e) {
 log.info(sm.getString(asyncChannelWrapperSecure.closeFail));
 }
+executor.shutdownNow();
 }
 
 @Override
@@ -552,4 +556,19 @@ public class AsyncChannelWrapperSecure i
 return new Integer(result.intValue());
 }
 }
+
+
+private static class SecureIOThreadFactory implements ThreadFactory {
+
+private AtomicInteger count = new AtomicInteger(0);
+
+@Override
+public Thread newThread(Runnable r) {
+Thread t = new Thread(r);
+t.setName(WebSocketClient-SecureIO- + count.incrementAndGet());
+t.setContextClassLoader(this.getClass().getClassLoader());
+t.setDaemon(true);
+return t;
+}
+}
 }

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1590128r1=1590127r2=1590128view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Apr 25 20:07:39 2014
@@ -268,6 +268,11 @@
 bug56458/bug: Report WebSocket sessions that are created over 
secure
 connections as secure rather than as not secure. (markt)
   /fix
+  fix
+Stop threads used for secure WebSocket client connections when they are
+no longer required and give them better names for easier debugging 
while
+they are running. (markt)
+  /fix
 /changelog
   /subsection
   subsection name=Web applications



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



svn commit: r1590135 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java webapps/docs/changelog.xml

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 20:39:27 2014
New Revision: 1590135

URL: http://svn.apache.org/r1590135
Log:
Stop threads used for secure WebSocket client connections when they are no 
longer required and give them better names for easier debugging while they are 
running.

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

tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1590128

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java?rev=1590135r1=1590134r2=1590135view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java
 Fri Apr 25 20:39:27 2014
@@ -26,9 +26,11 @@ import java.util.concurrent.ExecutionExc
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
+import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.net.ssl.SSLEngine;
 import javax.net.ssl.SSLEngineResult;
@@ -57,7 +59,8 @@ public class AsyncChannelWrapperSecure i
 private final ByteBuffer socketReadBuffer;
 private final ByteBuffer socketWriteBuffer;
 // One thread for read, one for write
-private final ExecutorService executor = Executors.newFixedThreadPool(2);
+private final ExecutorService executor =
+Executors.newFixedThreadPool(2, new SecureIOThreadFactory());
 private AtomicBoolean writing = new AtomicBoolean(false);
 private AtomicBoolean reading = new AtomicBoolean(false);
 
@@ -148,6 +151,7 @@ public class AsyncChannelWrapperSecure i
 } catch (IOException e) {
 log.info(sm.getString(asyncChannelWrapperSecure.closeFail));
 }
+executor.shutdownNow();
 }
 
 @Override
@@ -555,4 +559,19 @@ public class AsyncChannelWrapperSecure i
 return new Integer(result.intValue());
 }
 }
+
+
+private static class SecureIOThreadFactory implements ThreadFactory {
+
+private AtomicInteger count = new AtomicInteger(0);
+
+@Override
+public Thread newThread(Runnable r) {
+Thread t = new Thread(r);
+t.setName(WebSocketClient-SecureIO- + count.incrementAndGet());
+t.setContextClassLoader(this.getClass().getClassLoader());
+t.setDaemon(true);
+return t;
+}
+}
 }

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1590135r1=1590134r2=1590135view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Fri Apr 25 20:39:27 2014
@@ -221,6 +221,11 @@
 bug56458/bug: Report WebSocket sessions that are created over 
secure
 connections as secure rather than as not secure. (markt)
   /fix
+  fix
+Stop threads used for secure WebSocket client connections when they are
+no longer required and give them better names for easier debugging 
while
+they are running. (markt)
+  /fix
 /changelog
   /subsection
   subsection name=Web applications



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



RE: svn commit: r1590120 - in /tomcat/trunk: java/javax/el/Util.java java/org/apache/el/util/ReflectionUtil.java test/javax/el/TestUtil.java webapps/docs/changelog.xml

2014-04-25 Thread Konstantin Preißer
Hi Mark,

 -Original Message-
 From: ma...@apache.org [mailto:ma...@apache.org]
 Sent: Friday, April 25, 2014 9:50 PM

snip

 +@Override
 +public int compareTo(MatchResult o) {
 +if (this.getExact()  o.getExact()) {
 +return -1;
 +} else if (this.getExact()  o.getExact()) {
 +return 1;
 +} else {
 +if (this.getAssignable()  o.getAssignable()) {
 +return -1;
 +} else if (this.getAssignable()  o.getAssignable()) {
 +return 1;
 +} else {
 +if (this.getCoercible()  o.getCoercible()) {
 +return -1;
 +} else if (this.getCoercible()  o.getCoercible()) {
 +return 1;
 +} else {
 +return 0;
 +}
 +}
 +}
 +}

What about using Integer.compare(int, int), e.g.:

@Override
public int compareTo(MatchResult o) {
int cmp = Integer.compare(this.getExact(), o.getExact());
if (cmp == 0) {
cmp = Integer.compare(this.getAssignable(), o.getAssignable());
if (cmp == 0) {
cmp = Integer.compare(this.getCoercible(), 
o.getCoercible());
}
}
return cmp;
}

(but according to Java API documentation, Integer.compare(int, int) is only 
available since Java 1.7)


Regards,
Konstantin Preißer


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



Re: svn commit: r1590120 - in /tomcat/trunk: java/javax/el/Util.java java/org/apache/el/util/ReflectionUtil.java test/javax/el/TestUtil.java webapps/docs/changelog.xml

2014-04-25 Thread Mark Thomas
On 25/04/2014 21:41, Konstantin Preißer wrote:
 Hi Mark,

snip/

 What about using Integer.compare(int, int), e.g.:
 
 @Override
 public int compareTo(MatchResult o) {
 int cmp = Integer.compare(this.getExact(), o.getExact());
 if (cmp == 0) {
 cmp = Integer.compare(this.getAssignable(), 
 o.getAssignable());
 if (cmp == 0) {
 cmp = Integer.compare(this.getCoercible(), 
 o.getCoercible());
 }
 }
 return cmp;
 }
 
 (but according to Java API documentation, Integer.compare(int, int) is only 
 available since Java 1.7)

OK for Tomcat 8 then but not Tomcat 7.

You have commit privs. It is all yours.

Mark


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



svn commit: r1590138 - in /tomcat/trunk/java: javax/el/Util.java org/apache/el/util/ReflectionUtil.java

2014-04-25 Thread kpreisser
Author: kpreisser
Date: Fri Apr 25 20:53:22 2014
New Revision: 1590138

URL: http://svn.apache.org/r1590138
Log:
Follow-Up to r1590120:
Simplify code by using Integer.compare(int, int) which is available since Java 
1.7.

Modified:
tomcat/trunk/java/javax/el/Util.java
tomcat/trunk/java/org/apache/el/util/ReflectionUtil.java

Modified: tomcat/trunk/java/javax/el/Util.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/Util.java?rev=1590138r1=1590137r2=1590138view=diff
==
--- tomcat/trunk/java/javax/el/Util.java (original)
+++ tomcat/trunk/java/javax/el/Util.java Fri Apr 25 20:53:22 2014
@@ -741,25 +741,14 @@ class Util {
 
 @Override
 public int compareTo(MatchResult o) {
-if (this.getExact()  o.getExact()) {
-return -1;
-} else if (this.getExact()  o.getExact()) {
-return 1;
-} else {
-if (this.getAssignable()  o.getAssignable()) {
-return -1;
-} else if (this.getAssignable()  o.getAssignable()) {
-return 1;
-} else {
-if (this.getCoercible()  o.getCoercible()) {
-return -1;
-} else if (this.getCoercible()  o.getCoercible()) {
-return 1;
-} else {
-return 0;
-}
+int cmp = Integer.compare(this.getExact(), o.getExact());
+if (cmp == 0) {
+cmp = Integer.compare(this.getAssignable(), o.getAssignable());
+if (cmp == 0) {
+cmp = Integer.compare(this.getCoercible(), 
o.getCoercible());
 }
 }
+return cmp;
 }
 }
 }

Modified: tomcat/trunk/java/org/apache/el/util/ReflectionUtil.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/el/util/ReflectionUtil.java?rev=1590138r1=1590137r2=1590138view=diff
==
--- tomcat/trunk/java/org/apache/el/util/ReflectionUtil.java (original)
+++ tomcat/trunk/java/org/apache/el/util/ReflectionUtil.java Fri Apr 25 
20:53:22 2014
@@ -471,25 +471,14 @@ public class ReflectionUtil {
 
 @Override
 public int compareTo(MatchResult o) {
-if (this.getExact()  o.getExact()) {
-return -1;
-} else if (this.getExact()  o.getExact()) {
-return 1;
-} else {
-if (this.getAssignable()  o.getAssignable()) {
-return -1;
-} else if (this.getAssignable()  o.getAssignable()) {
-return 1;
-} else {
-if (this.getCoercible()  o.getCoercible()) {
-return -1;
-} else if (this.getCoercible()  o.getCoercible()) {
-return 1;
-} else {
-return 0;
-}
+int cmp = Integer.compare(this.getExact(), o.getExact());
+if (cmp == 0) {
+cmp = Integer.compare(this.getAssignable(), o.getAssignable());
+if (cmp == 0) {
+cmp = Integer.compare(this.getCoercible(), 
o.getCoercible());
 }
 }
+return cmp;
 }
 }
 



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



RE: svn commit: r1590120 - in /tomcat/trunk: java/javax/el/Util.java java/org/apache/el/util/ReflectionUtil.java test/javax/el/TestUtil.java webapps/docs/changelog.xml

2014-04-25 Thread Konstantin Preißer
Hi Mark,

 -Original Message-
 From: Mark Thomas [mailto:ma...@apache.org]
 Sent: Friday, April 25, 2014 10:43 PM

snip
 
 OK for Tomcat 8 then but not Tomcat 7.
 
 You have commit privs. It is all yours.

OK, done.


Regards,
Konstantin Preißer


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



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

2014-04-25 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.
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 8.x, a web server implementing the Java 
Servlet 3.1,
...


Full details are available at:

http://vmgump.apache.org/gump/public/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.apache.org/gump/public/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: 25 secs
Command Line: /usr/lib/jvm/java-7-oracle/bin/java -Djava.awt.headless=true 
-Dbuild.sysclasspath=only org.apache.tools.ant.Main 
-Dgump.merge=/srv/gump/public/gump/work/merge.xml 
-Dcheckstyle.jar=/srv/gump/public/workspace/checkstyle/target/checkstyle-5.7-SNAPSHOT.jar
 -Dexecute.validate=true validate 
[Working Directory: /srv/gump/public/workspace/tomcat-trunk]
CLASSPATH: 
/usr/lib/jvm/java-7-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/packages/antlr/antlr-3.1.3.jar:/srv/gump/public/workspace/checkstyle/target/checkstyle-5.7-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/beanutils/dist/commons-beanutils-20140425.jar:/srv/gump/public/workspace/apache-commons/cli/target/commons-cli-1.3-SNAPSHOT.jar:/srv/gump/public/workspace/commons-collections-3.x/target/commons-collections-3.3-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/exec/tar
 
get/commons-exec-1.3-SNAPSHOT.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-20140425.jar:/srv/gump/public/workspace/apache-commons/logging/target/commons-logging-api-20140425.jar:/srv/gump/public/workspace/apache-commons/validator/dist/commons-validator-20140425.jar:/srv/gump/public/workspace/google-guava/guava/target/guava-18.0-SNAPSHOT.jar:/srv/gump/packages/javamail-1.4/mail.jar:/srv/gump/packages/javamail-1.4/lib/mailapi.jar:/srv/gump/packages/jaf-1.1ea/activation.jar
-
Buildfile: /srv/gump/public/workspace/tomcat-trunk/build.xml

build-prepare:
   [delete] Deleting directory 
/srv/gump/public/workspace/tomcat-trunk/output/build/temp
[mkdir] Created dir: 
/srv/gump/public/workspace/tomcat-trunk/output/build/temp

compile-prepare:

download-validate:

proxyflags:

setproxy:

testexist:
 [echo] Testing  for 
/srv/gump/public/workspace/checkstyle/target/checkstyle-5.7-SNAPSHOT.jar

downloadzip:

validate:
[mkdir] Created dir: 
/srv/gump/public/workspace/tomcat-trunk/output/res/checkstyle
[checkstyle] Running Checkstyle 5.7-SNAPSHOT on 2780 files
[checkstyle] 
/srv/gump/public/workspace/tomcat-trunk/webapps/docs/config/valve.xml:346: Line 
matches the illegal pattern '\s+$'.
[checkstyle] 
/srv/gump/public/workspace/tomcat-trunk/webapps/docs/config/valve.xml:369: Line 
matches the illegal pattern '\s+$'.
[checkstyle] 
/srv/gump/public/workspace/tomcat-trunk/webapps/docs/config/valve.xml:377: Line 
matches the illegal pattern '\s+$'.

BUILD FAILED
/srv/gump/public/workspace/tomcat-trunk/build.xml:540: Got 3 errors and 0 
warnings.

Total time: 25 seconds
-

To subscribe to this information via syndicated feeds:
- RSS: 
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/rss.xml
- Atom: 
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate/atom.xml

== Gump Tracking Only ===
Produced by Apache Gump(TM) version 2.3.
Gump Run 20140425180004, vmgump.apache.org:vmgump:20140425180004
Gump E-mail Identifier (unique within run) #1.

--
Apache Gump
http://gump.apache.org/ [Instance: vmgump]

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

svn commit: r1590147 - /tomcat/trunk/webapps/docs/config/valve.xml

2014-04-25 Thread markt
Author: markt
Date: Fri Apr 25 21:10:51 2014
New Revision: 1590147

URL: http://svn.apache.org/r1590147
Log:
Whitespace police

Modified:
tomcat/trunk/webapps/docs/config/valve.xml

Modified: tomcat/trunk/webapps/docs/config/valve.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/valve.xml?rev=1590147r1=1590146r2=1590147view=diff
==
--- tomcat/trunk/webapps/docs/config/valve.xml (original)
+++ tomcat/trunk/webapps/docs/config/valve.xml Fri Apr 25 21:10:51 2014
@@ -343,7 +343,7 @@
 
   subsection name=Introduction
 
-pThe strongError Report Valve/strong is a simple error handler 
+pThe strongError Report Valve/strong is a simple error handler
 for HTTP status codes that will generate and return HTML error pages./p
 
 pstrongNOTE:/strong Disabling both showServerInfo and showReport will
@@ -366,7 +366,7 @@
 
   attribute name=showReport required=false
 pFlag to determine if the error report is presented when an error 
occurs.
-   If set to codefalse/code, then the error report is not in 
+   If set to codefalse/code, then the error report is not in
the HTML response.
Default value: codetrue/code
 /p
@@ -374,7 +374,7 @@
 
   attribute name=showServerInfo required=false
 pFlag to determine if server information is presented when an error 
occurs.
-   If set to codefalse/code, then the server version is not 
returned in 
+   If set to codefalse/code, then the server version is not 
returned in
the HTML response.
Default value: codetrue/code
 /p



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



[Bug 56452] IPv6 address and log level debug caused crash

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56452

--- Comment #6 from Christopher Schultz ch...@christopherschultz.net ---
(In reply to Konstantin Kolinko from comment #5)
 First, the above code has an error. The IPv4 address part can be longer by 4
 decimal digits than the one written above.

Aah, yes. Thanks for pointing that out.

 Second, I do not care on the actual implementation. I mentioned APR code as
 an example of their output.
 
 The stackoverflow article mentioned INET6_ADDRSTRLEN constant, but I do not
 know whether that is portable.

On Linux, I can see them here:
$ grep 'INET\(6\)\?_ADDRSTRLEN' `find /usr/include -name *.h`
/usr/include/netinet/in.h:#define INET_ADDRSTRLEN 16
/usr/include/netinet/in.h:#define INET6_ADDRSTRLEN 46

Mac OS X has them in comparable locations:
$  grep 'INET\(6\)\?_ADDRSTRLEN' `find /usr/include -name *.h`
/usr/include/netinet/in.h:#define INET_ADDRSTRLEN 16
/usr/include/netinet6/in6.h:#defineINET6_ADDRSTRLEN46

The Linux mac page for inet_ntop mentions both INET_ADDRSTRLEN and
INET6_ADDRSTRLEN, and the COMFORMING TO section says POSIX.1-2001 with no
caveats about those constants. If we like POSIX.1-2001 then I think we're all
set.

I like the use of INET_ADDRSTRLEN better than the sizeof thing for some reason,
so I'll use that. Anyone with a problem can file a bug; it's easy to fix if
someone has an old system. I'll update the patch.

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



[jira] [Updated] (MTOMCAT-238) Parameter staticContextDocbase cant be used

2014-04-25 Thread JIRA

 [ 
https://issues.apache.org/jira/browse/MTOMCAT-238?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Guillopé updated MTOMCAT-238:
-

Attachment: tomcat7-maven-plugin-2.2.diff

Hi,

I've attached the diff file based on Laurent Garcia's fix. Could you please 
have this patch integrated in the next version?
Our team recently switched to using this plugin but we had to manually override 
the jar as per Laurent's suggestion. It's helpful but not ideal.

Thanks

 Parameter staticContextDocbase cant be used
 ---

 Key: MTOMCAT-238
 URL: https://issues.apache.org/jira/browse/MTOMCAT-238
 Project: Apache Tomcat Maven Plugin
  Issue Type: Bug
  Components: tomcat6, tomcat7
Affects Versions: 2.0-beta-1, 2.1
Reporter: Michal Franc
Assignee: Olivier Lamy (*$^¨%`£)
 Fix For: moreinfo

 Attachments: AbstractRunMojo.java, tomcat7-maven-plugin-2.2.diff, 
 tomcat7-maven-plugin-2.2.jar.zip


 Attribute staticContextDocbase leads to IllegalArgumentException
 org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo#createStaticContext
 is context created from container and at the and added again to server which 
 leads to java.lang.IllegalArgumentException: addChild:  Child name '/' is not 
 unique



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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



svn commit: r1590159 - /tomcat/tc6.0.x/trunk/STATUS.txt

2014-04-25 Thread kkolinko
Author: kkolinko
Date: Fri Apr 25 21:56:35 2014
New Revision: 1590159

URL: http://svn.apache.org/r1590159
Log:
vote

Modified:
tomcat/tc6.0.x/trunk/STATUS.txt

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1590159r1=1590158r2=1590159view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Fri Apr 25 21:56:35 2014
@@ -55,7 +55,7 @@ PATCHES PROPOSED TO BACKPORT:
 * Defensive coding around some XML activities that are triggered by web
   applications and are therefore at potential risk of a memory leak.
   http://people.apache.org/~markt/patches/2014-04-25-memory-leak-tc6-v1.patch
-  +1: markt
+  +1: markt, kkolinko
   -1:
 
 * Ensure TLD parser obtained from cache has correct value of blockExternal
@@ -63,8 +63,9 @@ PATCHES PROPOSED TO BACKPORT:
   +1: markt, kkolinko
   -1:
 
-  Additional patch:
+  Additional patches:
   http://svn.apache.org/r1590040
+  http://svn.apache.org/r1590065
   +1: kkolinko
   -1:
 



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



svn commit: r1590163 - /tomcat/tc6.0.x/trunk/STATUS.txt

2014-04-25 Thread kkolinko
Author: kkolinko
Date: Fri Apr 25 22:08:20 2014
New Revision: 1590163

URL: http://svn.apache.org/r1590163
Log:
Propose combined patch

Modified:
tomcat/tc6.0.x/trunk/STATUS.txt

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1590163r1=1590162r2=1590163view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Fri Apr 25 22:08:20 2014
@@ -63,9 +63,9 @@ PATCHES PROPOSED TO BACKPORT:
   +1: markt, kkolinko
   -1:
 
-  Additional patches:
-  http://svn.apache.org/r1590040
-  http://svn.apache.org/r1590065
+  Alternative proposal:
+  (r1590036 + r1590040 + r1590065)
+  https://people.apache.org/~kkolinko/patches/2014-04-26_tc6_TldConfig.patch
   +1: kkolinko
   -1:
 



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



[Bug 55483] ELException when object has overloaded methods

2014-04-25 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55483

--- Comment #8 from Konstantin Kolinko knst.koli...@gmail.com ---
(In reply to Christopher Ng from comment #7)
 The fix for this has broken one of our EL expressions, we have an overloaded 
 method like so:
 
 doSomething(HttpServletRequest a, String b, String c, String d);
 doSomething(String a, String b, String c, String d);
 ...

This issue has already been reported and is tracked as bug 56425.
(It has been fixed in 8.0.x for 8.0.6 onwards and in 7.0.x for 7.0.54 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



Françoise Rebel est absente.

2014-04-25 Thread francoise . rebel




Je serai absent(e) du  26/04/2014 au 12/05/2014.

Je répondrai à votre message dès mon retour.
En cas d'urgence, vous pouvez contacter le BIJ au 05 61 02 86 10


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