[Bug 56456] Suggesting lock-free endpoint state machine
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
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
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
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
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
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
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
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
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
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
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
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]
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
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
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
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
Hi, Can you give me permissions to edit the wiki. User: VioletaGeorgieva Thanks Violeta
[Tomcat Wiki] Update of AdminGroup by KonstantinKolinko
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
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
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 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
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
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
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
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
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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
[ 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
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
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
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.
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