svn commit: r1559662 - /tomcat/trunk/java/org/apache/catalina/connector/Request.java
Author: markt Date: Mon Jan 20 10:00:31 2014 New Revision: 1559662 URL: http://svn.apache.org/r1559662 Log: Remove unused code Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1559662&r1=1559661&r2=1559662&view=diff == --- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Mon Jan 20 10:00:31 2014 @@ -202,11 +202,6 @@ public class Request */ protected boolean sslAttributesParsed = false; -/** - * List of read only attributes for this Request. - */ -private final HashMap readOnlyAttributes = new HashMap<>(); - /** * The preferred Locales associated with this Request. @@ -1413,12 +1408,6 @@ public class Request @Override public void removeAttribute(String name) { // Remove the specified attribute -// Check for read only attribute -// requests are per thread so synchronization unnecessary -if (readOnlyAttributes.containsKey(name)) { -return; -} - // Pass special attributes to the native layer if (name.startsWith("org.apache.tomcat.")) { coyoteRequest.getAttributes().remove(name); @@ -1466,12 +1455,6 @@ public class Request } // Add or replace the specified attribute -// Check for read only attribute -// requests are per thread so synchronization unnecessary -if (readOnlyAttributes.containsKey(name)) { -return; -} - // Do the security check before any updates are made if (Globals.IS_SECURITY_ENABLED && name.equals(Globals.SENDFILE_FILENAME_ATTR)) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1559663 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/connector/Request.java
Author: markt Date: Mon Jan 20 10:03:00 2014 New Revision: 1559663 URL: http://svn.apache.org/r1559663 Log: Remove unused code Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1559662 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java?rev=1559663&r1=1559662&r2=1559663&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java Mon Jan 20 10:03:00 2014 @@ -203,12 +203,6 @@ public class Request */ protected boolean sslAttributesParsed = false; -/** - * List of read only attributes for this Request. - */ -private final HashMap readOnlyAttributes = -new HashMap(); - /** * The preferred Locales associated with this Request. @@ -1468,12 +1462,6 @@ public class Request @Override public void removeAttribute(String name) { // Remove the specified attribute -// Check for read only attribute -// requests are per thread so synchronization unnecessary -if (readOnlyAttributes.containsKey(name)) { -return; -} - // Pass special attributes to the native layer if (name.startsWith("org.apache.tomcat.")) { coyoteRequest.getAttributes().remove(name); @@ -1521,12 +1509,6 @@ public class Request } // Add or replace the specified attribute -// Check for read only attribute -// requests are per thread so synchronization unnecessary -if (readOnlyAttributes.containsKey(name)) { -return; -} - // Do the security check before any updates are made if (Globals.IS_SECURITY_ENABLED && name.equals(Globals.SENDFILE_FILENAME_ATTR)) { - 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/5417 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1559662 Blamelist: markt BUILD FAILED: failed compile_1 sincerely, -The Buildbot
[Bug 56029] Ternary operator doesn't work as expected inside attributes in jspx pages
https://issues.apache.org/bugzilla/show_bug.cgi?id=56029 --- Comment #8 from Konstantin Kolinko --- Created attachment 31231 --> https://issues.apache.org/bugzilla/attachment.cgi?id=31231&action=edit test.jspx - Failure to trim leading space from fn prefix Re: r1559555 Not yet. Testing current 7.0.x (at r1559663) I see the following error 1. Place attached test.jspx into webapps/examples 2. Access http://localhost:8080/examples/test.jspx 3. Expected: "[1]". Actual: org.apache.jasper.JasperException: /test.jspx (line: 7, column: 63) The attribute prefix fn does not correspond to any imported tag library org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:149) org.apache.jasper.compiler.Validator$ValidateVisitor$1FVVisitor.visit(Validator.java:1563) ... org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2375) org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1817) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217) ... In the message the prefix is printed as " fn" with leading whitespace. The expression on the page is ${1 + fn:length(list)} -- 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: r1559697 - in /tomcat/trunk: java/org/apache/catalina/ java/org/apache/catalina/filters/ java/org/apache/catalina/manager/ java/org/apache/catalina/valves/ java/org/apache/coyote/ webapps/
Author: markt Date: Mon Jan 20 14:02:45 2014 New Revision: 1559697 URL: http://svn.apache.org/r1559697 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55956 Make the forwarded remote IP available on the Manager status page Modified: tomcat/trunk/java/org/apache/catalina/Globals.java tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java tomcat/trunk/java/org/apache/coyote/Constants.java tomcat/trunk/java/org/apache/coyote/RequestInfo.java tomcat/trunk/webapps/docs/config/filter.xml tomcat/trunk/webapps/docs/config/valve.xml Modified: tomcat/trunk/java/org/apache/catalina/Globals.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Globals.java?rev=1559697&r1=1559696&r2=1559697&view=diff == --- tomcat/trunk/java/org/apache/catalina/Globals.java (original) +++ tomcat/trunk/java/org/apache/catalina/Globals.java Mon Jan 20 14:02:45 2014 @@ -221,6 +221,19 @@ public final class Globals { /** + * The request attribute set by the RemoteIpFilter, RemoteIpValve (and may + * be set by other similar components) that identifies for the connector the + * remote IP address claimed to be associated with this request when a + * request is received via one or more proxies. It is typically provided via + * the X-Forwarded-For HTTP header. + * + * Duplicated here for neater code in the catalina packages. + */ +public static final String REMOTE_ADDR_ATTRIBUTE = +org.apache.coyote.Constants.REMOTE_ADDR_ATTRIBUTE; + + +/** * */ public static final String ASYNC_SUPPORTED_ATTR = Modified: tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java?rev=1559697&r1=1559696&r2=1559697&view=diff == --- tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java (original) +++ tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java Mon Jan 20 14:02:45 2014 @@ -42,6 +42,7 @@ import javax.servlet.http.HttpServletReq import javax.servlet.http.HttpServletResponse; import org.apache.catalina.AccessLog; +import org.apache.catalina.Globals; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; @@ -827,6 +828,8 @@ public class RemoteIpFilter implements F if (requestAttributesEnabled) { request.setAttribute(AccessLog.REMOTE_ADDR_ATTRIBUTE, xRequest.getRemoteAddr()); +request.setAttribute(Globals.REMOTE_ADDR_ATTRIBUTE, +xRequest.getRemoteAddr()); request.setAttribute(AccessLog.REMOTE_HOST_ATTRIBUTE, xRequest.getRemoteHost()); request.setAttribute(AccessLog.PROTOCOL_ATTRIBUTE, @@ -1114,6 +1117,7 @@ public class RemoteIpFilter implements F * org.apache.catalina.AccessLog.RemoteHost * org.apache.catalina.AccessLog.Protocol * org.apache.catalina.AccessLog.ServerPort + * org.apache.tomcat.remoteAddr * * * @param requestAttributesEnabled true causes the attributes Modified: tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java?rev=1559697&r1=1559696&r2=1559697&view=diff == --- tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java (original) +++ tomcat/trunk/java/org/apache/catalina/manager/StatusTransformer.java Mon Jan 20 14:02:45 2014 @@ -336,7 +336,7 @@ public class StatusTransformer { (grpName, "bytesSent"), true)); writer.print(""); -writer.print("StageTimeB SentB RecvClientVHostRequest"); +writer.print("StageTimeB SentB RecvClient (Forwarded)Client (Actual)VHostRequest"); enumeration = requestProcessors.elements(); while (enumeration.hasMoreElements()) { @@ -485,6 +485,10 @@ public class StatusTransformer { writer.write(""); writer.write(""); writer.print(filter(mBeanServer.getAttribute +(pName, "remoteAddrForwarded"))); +writer.write(""); +writer.write(""); +writer.print(filter(mBeanServer.getAttribute (pName, "remoteAddr"))); writer.write(""); writer.write(""); Modified: tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java URL: h
svn commit: r1559699 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/ java/org/apache/catalina/filters/ java/org/apache/catalina/manager/ java/org/apache/catalina/valves/ java/org/apache/coyot
Author: markt Date: Mon Jan 20 14:06:01 2014 New Revision: 1559699 URL: http://svn.apache.org/r1559699 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55956 Make the forwarded remote IP available on the Manager status page Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/Globals.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/StatusTransformer.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/RemoteIpValve.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/Constants.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/RequestInfo.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml tomcat/tc7.0.x/trunk/webapps/docs/config/filter.xml tomcat/tc7.0.x/trunk/webapps/docs/config/valve.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1559697 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/Globals.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/Globals.java?rev=1559699&r1=1559698&r2=1559699&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/Globals.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/Globals.java Mon Jan 20 14:06:01 2014 @@ -258,6 +258,19 @@ public final class Globals { /** + * The request attribute set by the RemoteIpFilter, RemoteIpValve (and may + * be set by other similar components) that identifies for the connector the + * remote IP address claimed to be associated with this request when a + * request is received via one or more proxies. It is typically provided via + * the X-Forwarded-For HTTP header. + * + * Duplicated here for neater code in the catalina packages. + */ +public static final String REMOTE_ADDR_ATTRIBUTE = +org.apache.coyote.Constants.REMOTE_ADDR_ATTRIBUTE; + + +/** * */ public static final String ASYNC_SUPPORTED_ATTR = Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java?rev=1559699&r1=1559698&r2=1559699&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java Mon Jan 20 14:06:01 2014 @@ -42,6 +42,7 @@ import javax.servlet.http.HttpServletReq import javax.servlet.http.HttpServletResponse; import org.apache.catalina.AccessLog; +import org.apache.catalina.Globals; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; @@ -821,6 +822,8 @@ public class RemoteIpFilter implements F if (requestAttributesEnabled) { request.setAttribute(AccessLog.REMOTE_ADDR_ATTRIBUTE, xRequest.getRemoteAddr()); +request.setAttribute(Globals.REMOTE_ADDR_ATTRIBUTE, +xRequest.getRemoteAddr()); request.setAttribute(AccessLog.REMOTE_HOST_ATTRIBUTE, xRequest.getRemoteHost()); request.setAttribute(AccessLog.PROTOCOL_ATTRIBUTE, @@ -1108,6 +,7 @@ public class RemoteIpFilter implements F * org.apache.catalina.AccessLog.RemoteHost * org.apache.catalina.AccessLog.Protocol * org.apache.catalina.AccessLog.ServerPort + * org.apache.tomcat.remoteAddr * * * @param requestAttributesEnabled true causes the attributes Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/StatusTransformer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/StatusTransformer.java?rev=1559699&r1=1559698&r2=1559699&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/StatusTransformer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/StatusTransformer.java Mon Jan 20 14:06:01 2014 @@ -337,7 +337,7 @@ public class StatusTransformer { (grpName, "bytesSent"), true)); writer.print(""); -writer.print("StageTimeB SentB RecvClientVHostRequest"); +writer.print("StageTimeB SentB RecvClient (Forwarded)Client (Actual)VHostRequest"); enumeration = requestProcessors.elements(); while (enumeration.hasMoreElements()) { @@ -486,6 +486,10 @@ public class StatusTransformer { writer.write(""); writer.write(""); writer.print(filter(mBeanServer.getAttribute +
[Bug 55956] Regarding Tomcat Manager Application Status
https://issues.apache.org/bugzilla/show_bug.cgi?id=55956 Mark Thomas changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED --- Comment #7 from Mark Thomas --- This has now been fixed in 8.0.x for 8.0.0 onwards and 7.0.x for 7.0.51 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: r1559707 - in /tomcat/trunk: java/org/apache/jasper/compiler/ELParser.java java/org/apache/jasper/resources/LocalStrings.properties test/org/apache/el/TestELInJsp.java test/webapp/bug5nnnn
Author: markt Date: Mon Jan 20 14:22:49 2014 New Revision: 1559707 URL: http://svn.apache.org/r1559707 Log: Additional fix for bug 56029. Now whitespace is not skipped, make sure it is trimmed before the function name is used. Includes a test case based on a jspx file by kkolinko. Added: tomcat/trunk/test/webapp/bug5/bug56029.jspx Modified: tomcat/trunk/java/org/apache/jasper/compiler/ELParser.java tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties tomcat/trunk/test/org/apache/el/TestELInJsp.java Modified: tomcat/trunk/java/org/apache/jasper/compiler/ELParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/ELParser.java?rev=1559707&r1=1559706&r2=1559707&view=diff == --- tomcat/trunk/java/org/apache/jasper/compiler/ELParser.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/ELParser.java Mon Jan 20 14:22:49 2014 @@ -161,7 +161,7 @@ public class ELParser { } } if (curToken.toChar() == '(') { -ELexpr.add(new ELNode.Function(s1, s2)); +ELexpr.add(new ELNode.Function(s1.trim(), s2.trim())); return true; } curToken = original; Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties?rev=1559707&r1=1559706&r2=1559707&view=diff == --- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties Mon Jan 20 14:22:49 2014 @@ -330,7 +330,7 @@ jsp.error.tagfile.badSuffix=Missing \".t jsp.error.tagfile.illegalPath=Illegal tag file path: {0}, must start with \"/WEB-INF/tags\" or \"/META-INF/tags\" jsp.error.tagfile.missingPath=Path not specified to tag file jsp.error.plugin.wrongRootElement=Name of root element in {0} different from {1} -jsp.error.attribute.invalidPrefix=The attribute prefix {0} does not correspond to any imported tag library +jsp.error.attribute.invalidPrefix=The attribute prefix [{0}] does not correspond to any imported tag library jsp.error.nested.jspattribute=A jsp:attribute standard action cannot be nested within another jsp:attribute standard action jsp.error.nested.jspbody=A jsp:body standard action cannot be nested within another jsp:body or jsp:attribute standard action jsp.error.variable.either.name=Either name-given or name-from-attribute attribute must be specified in a variable directive Modified: tomcat/trunk/test/org/apache/el/TestELInJsp.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/el/TestELInJsp.java?rev=1559707&r1=1559706&r2=1559707&view=diff == --- tomcat/trunk/test/org/apache/el/TestELInJsp.java (original) +++ tomcat/trunk/test/org/apache/el/TestELInJsp.java Mon Jan 20 14:22:49 2014 @@ -21,10 +21,14 @@ import java.io.File; import static org.junit.Assert.assertTrue; +import org.junit.Assert; import org.junit.Test; +import org.apache.catalina.Context; +import org.apache.catalina.WebResourceRoot; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; +import org.apache.catalina.webresources.StandardRoot; import org.apache.tomcat.util.buf.ByteChunk; /** @@ -446,6 +450,32 @@ public class TestELInJsp extends TomcatB assertEcho(result, "05-Hello JUnit from Tomcat"); } +@Test +public void testBug56029() throws Exception { +Tomcat tomcat = getTomcatInstance(); + +File appDir = new File("test/webapp"); +// app dir is relative to server home +Context ctxt = tomcat.addWebapp(null, "/test", appDir.getAbsolutePath()); + +// This test needs the JSTL libraries +File lib = new File("webapps/examples/WEB-INF/lib"); +ctxt.setResources(new StandardRoot(ctxt)); +ctxt.getResources().createWebResourceSet( +WebResourceRoot.ResourceSetType.POST, "/WEB-INF/lib", +lib.getAbsolutePath(), null, "/"); + +tomcat.start(); + +ByteChunk res = getUrl("http://localhost:"; + getPort() + +"/test/bug5/bug56029.jspx"); + +String result = res.toString(); + +Assert.assertTrue(result.contains("[1]")); +} + + // Assertion for text contained with , e.g. printed by tags:echo private static void assertEcho(String result, String expected) { assertTrue(result.indexOf("" + expected + "") > 0); Added: tomcat/trunk/test/webapp/bug5/bug56029.jspx URL: http://svn.apache.org/viewvc/tomcat/trunk/test/webapp/bug5/bug56029.jspx?rev=1559707&view=auto
svn commit: r1559708 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/jasper/compiler/ELParser.java java/org/apache/jasper/resources/LocalStrings.properties test/org/apache/el/TestELInJsp.java test/weba
Author: markt Date: Mon Jan 20 14:30:48 2014 New Revision: 1559708 URL: http://svn.apache.org/r1559708 Log: Additional fix for bug 56029. Now whitespace is not skipped, make sure it is trimmed before the function name is used. Includes a test case based on a jspx file by kkolinko. Added: tomcat/tc7.0.x/trunk/test/webapp-3.0/bug5/bug56029.jspx - copied unchanged from r1559707, tomcat/trunk/test/webapp/bug5/bug56029.jspx Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings.properties tomcat/tc7.0.x/trunk/test/org/apache/el/TestELInJsp.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1559707 Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java?rev=1559708&r1=1559707&r2=1559708&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java Mon Jan 20 14:30:48 2014 @@ -163,7 +163,7 @@ public class ELParser { } } if (curToken.toChar() == '(') { -ELexpr.add(new ELNode.Function(s1, s2)); +ELexpr.add(new ELNode.Function(s1.trim(), s2.trim())); return true; } curToken = original; Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings.properties?rev=1559708&r1=1559707&r2=1559708&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings.properties (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings.properties Mon Jan 20 14:30:48 2014 @@ -433,7 +433,7 @@ jsp.error.attributes.not.allowed = {0} m jsp.error.tagfile.badSuffix=Missing \".tag\" suffix in tag file path {0} jsp.error.tagfile.illegalPath=Illegal tag file path: {0}, must start with \"/WEB-INF/tags\" or \"/META-INF/tags\" jsp.error.plugin.wrongRootElement=Name of root element in {0} different from {1} -jsp.error.attribute.invalidPrefix=The attribute prefix {0} does not correspond to any imported tag library +jsp.error.attribute.invalidPrefix=The attribute prefix [{0}] does not correspond to any imported tag library jsp.error.nested.jspattribute=A jsp:attribute standard action cannot be nested within another jsp:attribute standard action jsp.error.nested.jspbody=A jsp:body standard action cannot be nested within another jsp:body or jsp:attribute standard action jsp.error.variable.either.name=Either name-given or name-from-attribute attribute must be specified in a variable directive Modified: tomcat/tc7.0.x/trunk/test/org/apache/el/TestELInJsp.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/el/TestELInJsp.java?rev=1559708&r1=1559707&r2=1559708&view=diff == --- tomcat/tc7.0.x/trunk/test/org/apache/el/TestELInJsp.java (original) +++ tomcat/tc7.0.x/trunk/test/org/apache/el/TestELInJsp.java Mon Jan 20 14:30:48 2014 @@ -14,15 +14,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.el; import java.io.File; import static org.junit.Assert.assertTrue; +import org.junit.Assert; import org.junit.Test; +import org.apache.catalina.core.StandardContext; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.util.buf.ByteChunk; @@ -440,6 +441,30 @@ public class TestELInJsp extends TomcatB assertEcho(result, "05-Hello JUnit from Tomcat"); } +@Test +public void testBug56029() throws Exception { +Tomcat tomcat = getTomcatInstance(); + +File appDir = new File("test/webapp-3.0"); +// app dir is relative to server home +StandardContext ctxt = (StandardContext) tomcat.addWebapp( +null, "/test", appDir.getAbsolutePath()); + +// This test needs the JSTL libraries +File lib = new File("webapps/examples/WEB-INF/lib"); +ctxt.setAliases("/WEB-INF/lib=" + lib.getCanonicalPath()); + +tomcat.start(); + +ByteChunk res = getUrl("http://localhost:"; + getPort() + +"/test/bug5/bug56029.jspx"); + +String result = res.toString(); + +Assert.assertTrue(result.contains("[1]")); +} + + // Assertion for text contained with , e
[Bug 56029] Ternary operator doesn't work as expected inside attributes in jspx pages
https://issues.apache.org/bugzilla/show_bug.cgi?id=56029 --- Comment #9 from Mark Thomas --- If fixed the white space issue in 8.0.x and 7.0.x and added it to the proposal for 6.0.x -- 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: r1559710 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: markt Date: Mon Jan 20 14:32:00 2014 New Revision: 1559710 URL: http://svn.apache.org/r1559710 Log: Update 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=1559710&r1=1559709&r2=1559710&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Jan 20 14:32:00 2014 @@ -39,11 +39,11 @@ PATCHES PROPOSED TO BACKPORT: * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56029 Regression in fix for BZ55198 broke parsing of some ternary expressions https://svn.apache.org/r1559555 + https://svn.apache.org/r1559708 (excluding test case) +1: markt -1: - PATCHES/ISSUES THAT ARE STALLED: None - 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-7-trunk
The Buildbot has detected a new failure on builder tomcat-7-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-7-trunk/builds/1698 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1559708 Blamelist: markt BUILD FAILED: failed compile_1 sincerely, -The Buildbot
[jira] [Created] (MTOMCAT-257) Classpathes separation between plugin and application is broken (can't use slf4j-jcl in app)
Brendan Le Ny created MTOMCAT-257: - Summary: Classpathes separation between plugin and application is broken (can't use slf4j-jcl in app) Key: MTOMCAT-257 URL: https://issues.apache.org/jira/browse/MTOMCAT-257 Project: Apache Tomcat Maven Plugin Issue Type: Bug Components: tomcat7 Affects Versions: 2.1 Reporter: Brendan Le Ny Assignee: Olivier Lamy (*$^¨%`£) Attachments: MTOMCAT-227-2.zip, MTOMCAT-227.tgz I use in my war the slf4j-jcl, which is not compatible with the jcl-over-slf4j used in the plugin dependencies. I give you a little project that show the problem. -- This message was sent by Atlassian JIRA (v6.1.5#6160) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[jira] [Commented] (MTOMCAT-257) Classpathes separation between plugin and application is broken (can't use slf4j-jcl in app)
[ https://issues.apache.org/jira/browse/MTOMCAT-257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13876600#comment-13876600 ] Brendan Le Ny commented on MTOMCAT-257: --- true doesn't solve the issue. It seems that the classpaths are not separated. I've created a project to show the whole issue. The problem appeared when i added shiro as a dependency to my project. Shiro depends on slf4j-api. I also use commons-codec 1.8. My project use log4j to log and slf4j-jcl to gather slf4j logs (so i will get Shiro's log). Log4j and slf4j-jcl are in scope runtime. Here is the whole thing: if I do a tomcat:run, the application breaks, because tomcat-plugin put jcl-over-slf4j in classpath and slf4j initialization fail because you can't have both jcl-over-slf4j and slf4j-jcl in the same classpath. The application works when deployed in a tomcat, but it doesn't work in tomcat:run. That's the exact problem Tony raised. If I add true in plugin config, it solve the issue because jcl-over-slf4j and slf4j-jcl But ! it raise another issue: in my application, I use commons-codec 1.8 and when the time come when the class is loaded, I get a linkage error saying that DigestUtils#sha1hex method doesn't exists. It exists in commons-codec 1.8 but not in commons-codec version declared in tomcat-plugin. So it seems that even with useSeparateTomcatClassLoader=true, the actual classpath of the application running in tomcat7:run is not the same that the one given by mvn package, ie with the exact dependencies and exact version defined in the project's pom. For now, the only workaround i've found is to leave useSeparateTomcatClassLoader = false and add a maven profile to put slf4j-jcl in scope runtime, I use the profile only when doing a tomcat7:run. I don't know if useSeparateTomcatClassLoader = true is buggy or what occurs actually but it's sure that the application's classpath is not sane. > Classpathes separation between plugin and application is broken (can't use > slf4j-jcl in app) > > > Key: MTOMCAT-257 > URL: https://issues.apache.org/jira/browse/MTOMCAT-257 > Project: Apache Tomcat Maven Plugin > Issue Type: Bug > Components: tomcat7 >Affects Versions: 2.1 >Reporter: Brendan Le Ny >Assignee: Olivier Lamy (*$^¨%`£) > Attachments: MTOMCAT-227-2.zip, MTOMCAT-227.tgz > > > I use in my war the slf4j-jcl, which is not compatible with the > jcl-over-slf4j used in the plugin dependencies. > I give you a little project that show the problem. -- This message was sent by Atlassian JIRA (v6.1.5#6160) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1559798 - /tomcat/trunk/java/org/apache/jasper/compiler/ELParser.java
Author: jboynes Date: Mon Jan 20 18:22:16 2014 New Revision: 1559798 URL: http://svn.apache.org/r1559798 Log: Fix for NPE introduced by r1559707 that caused ELParser test to fail. Modified: tomcat/trunk/java/org/apache/jasper/compiler/ELParser.java Modified: tomcat/trunk/java/org/apache/jasper/compiler/ELParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/ELParser.java?rev=1559798&r1=1559797&r2=1559798&view=diff == --- tomcat/trunk/java/org/apache/jasper/compiler/ELParser.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/ELParser.java Mon Jan 20 18:22:16 2014 @@ -152,7 +152,7 @@ public class ELParser { if (hasNext()) { Token t2 = nextToken(); if (t2 instanceof Id) { -s1 = s2; +s1 = s2.trim(); s2 = t2.toString(); if (hasNext()) { curToken = nextToken(); @@ -161,7 +161,7 @@ public class ELParser { } } if (curToken.toChar() == '(') { -ELexpr.add(new ELNode.Function(s1.trim(), s2.trim())); +ELexpr.add(new ELNode.Function(s1, s2.trim())); return true; } curToken = original; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1559707 - in /tomcat/trunk: java/org/apache/jasper/compiler/ELParser.java java/org/apache/jasper/resources/LocalStrings.properties test/org/apache/el/TestELInJsp.java test/webapp/bug5
On Jan 20, 2014, at 6:22 AM, ma...@apache.org wrote: > Author: markt > Date: Mon Jan 20 14:22:49 2014 > New Revision: 1559707 > > URL: http://svn.apache.org/r1559707 > Log: > Additional fix for bug 56029. Now whitespace is not skipped, make sure it is > trimmed before the function name is used. > Includes a test case based on a jspx file by kkolinko. I think this caused TestELParser to start failing. I committed a change http://svn.apache.org/r1559798 that I think fixes that but would appreciate a second set of eyes before back-porting to 7.0.x. Thanks Jeremy signature.asc Description: Message signed with OpenPGP using GPGMail
svn commit: r1559801 - /tomcat/trunk/java/javax/servlet/http/Cookie.java
Author: jboynes Date: Mon Jan 20 18:30:13 2014 New Revision: 1559801 URL: http://svn.apache.org/r1559801 Log: Refactor cookie name validation into a helper class to prepare for enabling RFC6265. This should have no functional change. Modified: tomcat/trunk/java/javax/servlet/http/Cookie.java Modified: tomcat/trunk/java/javax/servlet/http/Cookie.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/Cookie.java?rev=1559801&r1=1559800&r2=1559801&view=diff == --- tomcat/trunk/java/javax/servlet/http/Cookie.java (original) +++ tomcat/trunk/java/javax/servlet/http/Cookie.java Mon Jan 20 18:30:13 2014 @@ -54,53 +54,26 @@ import java.util.ResourceBundle; */ public class Cookie implements Cloneable, Serializable { -private static final BitSet allowed; +private static final CookieNameValidator validation; static { -boolean STRICT_SERVLET_COMPLIANCE = - Boolean.getBoolean("org.apache.catalina.STRICT_SERVLET_COMPLIANCE"); - -boolean STRICT_NAMING = - getBoolean("org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING", -STRICT_SERVLET_COMPLIANCE); - -String separators; -if (STRICT_NAMING) { -separators = "()<>@,;:\\\"/[]?={} \t"; // separators as defined by RFC2616 2.2 -} -else { -separators = ",; "; // semi-colon, comma and space as defined by Netscape -} - -allowed = new BitSet(128); -allowed.set(0x20, 0x7f); // any CHAR except CTLs or separators -for (int i = 0; i < separators.length(); i++) { -char ch = separators.charAt(i); -allowed.clear(ch); +boolean strictNaming; +String prop = System.getProperty("org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING"); +if (prop != null) { +strictNaming = Boolean.parseBoolean(prop); +} else { +strictNaming = Boolean.getBoolean("org.apache.catalina.STRICT_SERVLET_COMPLIANCE"); } -// special treatment to allow for FWD_SLASH_IS_SEPARATOR property -if (STRICT_NAMING) { -boolean FWD_SLASH_IS_SEPARATOR = - getBoolean("org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR", - STRICT_SERVLET_COMPLIANCE); -allowed.set('/', !FWD_SLASH_IS_SEPARATOR); +if (strictNaming) { +validation = new RFC2109Validator(); } -} - -private static boolean getBoolean(String prop, boolean def) { -String value = System.getProperty(prop); -if (value == null) { -return def; -} else { -return Boolean.parseBoolean(value); +else { +validation = new NetscapeValidator(); } } private static final long serialVersionUID = 1L; -private static final String LSTRING_FILE = "javax.servlet.http.LocalStrings"; -private static final ResourceBundle lStrings = ResourceBundle.getBundle(LSTRING_FILE); - private final String name; private String value; @@ -144,39 +117,11 @@ public class Cookie implements Cloneable * @see #setVersion */ public Cookie(String name, String value) { -if (name == null || name.length() == 0) { -throw new IllegalArgumentException(lStrings.getString("err.cookie_name_blank")); -} -if (!isToken(name) || -name.equalsIgnoreCase("Comment") || -name.equalsIgnoreCase("Discard") || -name.equalsIgnoreCase("Domain") || -name.equalsIgnoreCase("Expires") || -name.equalsIgnoreCase("Max-Age") || -name.equalsIgnoreCase("Path") || -name.equalsIgnoreCase("Secure") || -name.equalsIgnoreCase("Version") || -name.startsWith("$")) { -String errMsg = lStrings.getString("err.cookie_name_is_token"); -throw new IllegalArgumentException(MessageFormat.format(errMsg, name)); -} - +validation.validate(name); this.name = name; this.value = value; } -private boolean isToken(String possibleToken) { -int len = possibleToken.length(); - -for (int i = 0; i < len; i++) { -char c = possibleToken.charAt(i); -if (!allowed.get(c)) { -return false; -} -} -return true; -} - /** * Specifies a comment that describes a cookie's purpose. The comment is * useful if the browser presents the cookie to the user. Comments are not @@ -435,3 +380,79 @@ public class Cookie implements Cloneable return httpOnly; } } + + +class CookieNameValidator { +private static final String LSTRING_FILE = "javax.servlet.http.LocalStrings"; +private static final Resou
Re: svn commit: r1559707 - in /tomcat/trunk: java/org/apache/jasper/compiler/ELParser.java java/org/apache/jasper/resources/LocalStrings.properties test/org/apache/el/TestELInJsp.java test/webapp/bug5
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 20/01/2014 18:25, Jeremy Boynes wrote: > On Jan 20, 2014, at 6:22 AM, ma...@apache.org wrote: > >> Author: markt Date: Mon Jan 20 14:22:49 2014 New Revision: >> 1559707 >> >> URL: http://svn.apache.org/r1559707 Log: Additional fix for bug >> 56029. Now whitespace is not skipped, make sure it is trimmed >> before the function name is used. Includes a test case based on a >> jspx file by kkolinko. > > I think this caused TestELParser to start failing. I committed a > change http://svn.apache.org/r1559798 that I think fixes that but > would appreciate a second set of eyes before back-porting to > 7.0.x. Thanks. Eclipse was nagging me about that but I missed it.# The fix looks good to me. Mark -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJS3XwpAAoJEBDAHFovYFnnaNoP/1NAp7qmYALt+URrAPJk9MOs CQvcC7inkjDhHmOoNConJUO9Jq9AVMLDfZFYrqqmk0+fWLCUyoembER+j7PcYa1T 0MtRbpuYfwjkVfwMQxLZfWrnp8IhUVGEndgkCsX5J53P3heZnfb1kMj+ySU2iz0T ap4fBr4sQKullHCea0FK9wXMojNzmWn0IyommyCONod6AgCEKPg5LnmGv4BXEMWx EmhThybVzWjVO00iiNLuIT9cyGYIAh01iBeB/vQFwbfcB/vFmfT3ypdhb+h7JpM4 fkM4DWChfRmmSXNk8+4oDndxYq3oLB+fnQAx+kqIfIaz448Foad4n7EQRBguXUWz VBmGwhnNHPMnEgoui7XJ6/1+6+nNE0wcJjfGGyA675zkH90eUhDc7ViRgPaUUZPu dpQn95WDVDQVXCBH0sIrOVAT1TOb0hY/EALx0QMixqnpLS8iEgMbWLxZMqzn6Ebw nkxoGiHITNzOQ5WlNUXcTMB22XDJTlmmiy1ELywRg6tSzyh5iqkkTKqdXc90QTIF B18rH69bMAaG6onhHEya4cAgb7va0aKOhuvsIHb65cuaJpZYwrHQHMnZkzAaQbyq yT/ia0tytDnEr875DceVJS8+xzLRGtubUlNB7i/ExDgUKJWE1cUiRV6eXHSa57mv 1rZHbUXV1T7spvDiTRD0 =K7z+ -END PGP SIGNATURE- - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot success in ASF Buildbot on tomcat-trunk
The Buildbot has detected a restored build on builder tomcat-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-trunk/builds/5420 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1559798 Blamelist: jboynes Build succeeded! sincerely, -The Buildbot
svn commit: r1559820 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/jasper/compiler/ELParser.java
Author: jboynes Date: Mon Jan 20 20:07:23 2014 New Revision: 1559820 URL: http://svn.apache.org/r1559820 Log: merge fix for potential NPE Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1559798 Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java?rev=1559820&r1=1559819&r2=1559820&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ELParser.java Mon Jan 20 20:07:23 2014 @@ -154,7 +154,7 @@ public class ELParser { if (hasNext()) { Token t2 = nextToken(); if (t2 instanceof Id) { -s1 = s2; +s1 = s2.trim(); s2 = t2.toString(); if (hasNext()) { curToken = nextToken(); @@ -163,7 +163,7 @@ public class ELParser { } } if (curToken.toChar() == '(') { -ELexpr.add(new ELNode.Function(s1.trim(), s2.trim())); +ELexpr.add(new ELNode.Function(s1, s2.trim())); return true; } curToken = original; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56039] New: JmxRemoteLifecycleListener does not work with SSL
https://issues.apache.org/bugzilla/show_bug.cgi?id=56039 Bug ID: 56039 Summary: JmxRemoteLifecycleListener does not work with SSL Product: Tomcat 7 Version: 7.0.50 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: esengst...@gmail.com Created attachment 31242 --> https://issues.apache.org/bugzilla/attachment.cgi?id=31242&action=edit Patch against http://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk Using JmxRemoteLifecycleListener with SSL results in the following error on startup: Jan 16, 2014 4:34:20 PM org.apache.catalina.mbeans.JmxRemoteLifecycleListener createServer SEVERE: The JMX connector server could not be created or failed to start for the Platform server java.io.IOException: Cannot bind to URL [rmi://localhost:1900/jmxrmi]: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: non-JRMP server at remote endpoint] at javax.management.remote.rmi.RMIConnectorServer.newIOException(Unknown Source) at javax.management.remote.rmi.RMIConnectorServer.start(Unknown Source) at org.apache.catalina.mbeans.JmxRemoteLifecycleListener.createServer(JmxRemoteLifecycleListener.java:304) at org.apache.catalina.mbeans.JmxRemoteLifecycleListener.lifecycleEvent(JmxRemoteLifecycleListener.java:258) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402) at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:347) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:725) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.startup.Catalina.start(Catalina.java:691) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:243) Caused by: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: non-JRMP server at remote endpoint] at com.sun.jndi.rmi.registry.RegistryContext.bind(Unknown Source) at com.sun.jndi.toolkit.url.GenericURLContext.bind(Unknown Source) at javax.naming.InitialContext.bind(Unknown Source) at javax.management.remote.rmi.RMIConnectorServer.bind(Unknown Source) ... 20 more Caused by: java.rmi.ConnectIOException: non-JRMP server at remote endpoint at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source) at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source) at sun.rmi.server.UnicastRef.newCall(Unknown Source) at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source) ... 24 more The relevant configuration from server.xml: and java properties: -Djavax.net.ssl.keyStore=$KEYSTORE -Djavax.net.ssl.keyStorePassword=$KEY_PASS -Dcom.sun.management.jmxremote.ssl.need.client.auth=true -Djavax.net.ssl.trustStore=$TRUSTSTORE -Djavax.net.ssl.trustStorePassword=$TRUST_PASS -Dcom.sun.management.jmxremote.registry.ssl=true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=$HOST_IP -Dcom.sun.management.jmxremote.ssl=true If com.sun.management.jmxremote.ssl is changed to false everything works as expected except without SSL. Looking at the source code, I there is a property missing from the environment: env.put("com.sun.jndi.rmi.factory.socket", csf); Adding this to JmxRemoteLifecycleListener allows SSL to work properly. Patch attatched. -- 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 56032] WebSocket Endpoint onClose method not called when channel closed by thread interruption
https://issues.apache.org/bugzilla/show_bug.cgi?id=56032 --- Comment #1 from Mark Thomas --- Do you have some unit tests or some sample code to demonstrate 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
buildbot success in ASF Buildbot on tomcat-7-trunk
The Buildbot has detected a restored build on builder tomcat-7-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-7-trunk/builds/1699 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1559820 Blamelist: jboynes Build succeeded! sincerely, -The Buildbot
Using HttpParser for Cookie header?
I started to look at using HttpParser for the Cookie header but there are some differences in the way it works compared to the existing parser in Cookies that I wanted to check direction before getting too far in. The area I’m concerned about is the need to copy the bytes in order to parse the header. The Cookies parser relies heavily on MessageBytes and avoids copying to a String as far as possible. HttpParser, however, operates on a StringReader which requires converting to a String before parsing. After digging into the usage of Cookies I think there are only two places that read them: 1) Request#getCookies(), which needs to copy to Strings anyway in order to create the Cookie instances it returns 2) CoyoteAdapter#parseSessionCookiesId(), which parses the header and compares names as MessageBytes, only allocating a String for the value if the session cookie is found It’s this second one that has me concerned about switching to HttpParser as this gets called for every request. If we switch then there is going to be allocation and copying of the header that we currently don’t do. Having said that, the current parse relies heavily on the assumption that the header is US-ASCII encoded and that it is only dealing with 7-bit characters (it freely casts bytes to chars). The cookie change proposal has us supporting UTF-8 as specified by HTML5 which means a more robust decoder will be needed and the copy may not be avoidable. My plan here is to KISS and implement a parser similar to the others in HttpParser assuming the header has already been decoded so it can just deal with the chars. Then if we notice any performance degradation we can focus on improving HttpParser which will have the benefit of working for the other header parsers as well. I’ll implement this alongside the existing code (actually, in the parser package) to make it easier to do an A-B comparison. There would likely be some follow-on changes from such a change. Cookies and ServerCookie are recyclable objects associated with the request. By moving away from MessageBytes these could be replaced by basic String values and may not be needed e.g. Request already caches the array of Cookie values returned from getCookies() and that could be now populated directly from the parse. These classes may end up going away. Thanks Jeremy signature.asc Description: Message signed with OpenPGP using GPGMail
Re: Using HttpParser for Cookie header?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 20/01/2014 21:38, Jeremy Boynes wrote: > I started to look at using HttpParser for the Cookie header but > there are some differences in the way it works compared to the > existing parser in Cookies that I wanted to check direction before > getting too far in. > > The area I’m concerned about is the need to copy the bytes in > order to parse the header. The Cookies parser relies heavily on > MessageBytes and avoids copying to a String as far as possible. > HttpParser, however, operates on a StringReader which requires > converting to a String before parsing. > > After digging into the usage of Cookies I think there are only two > places that read them: 1) Request#getCookies(), which needs to > copy to Strings anyway in order to create the Cookie instances it > returns 2) CoyoteAdapter#parseSessionCookiesId(), which parses the > header and compares names as MessageBytes, only allocating a String > for the value if the session cookie is found > > It’s this second one that has me concerned about switching to > HttpParser as this gets called for every request. If we switch > then there is going to be allocation and copying of the header that > we currently don’t do. I share your concern. Worst case, we'll need to do a specific MessageBytes based parse just for the session cookie. Assuming that the session cookie name and value will remain US-ASCII (see no reason why this should not be the case), we could get away with this as long as we are mindful that there might be some UTF-8 we need to skip over. No objections here to you continuing as per you plan. Mark -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJS3Zu7AAoJEBDAHFovYFnnYS8P/ihRKZ1VgAbwGG4f1fu8w232 IecFGCXRRuW48SZuj3ADX/rUwab+yoj/1N4QQetS7LRVhnQWDmNdZuQ596d8vsA0 HXHkAmtw4Et/s9r8QH+2UGabt65BjAsIlMU6OXJWn2Ph/N3b18sh0vHyW248WUs5 ck21WC8dAj4faqaJR9VI0N99Asq9Q6SoMswP7KYn7LhoLRA4oo3MtzGv7jW4m0BL aDAlS13JqzO4dImo4MBsm5fevvuVhXppRBglkHuqVTYDrZ6hI4HGZ4VtoNcs352x tNsDZU82LAxzL4Ix3Lsdxa7xOHxa6Dlffwh6YitwEERUhRYG0i//xLHER7lac83d D+x5A2JFCvGxIN/jvLR5Up56+IzxhnVfPsiFpoa9ABtjxVvoiHzqGZu3ltBFdwbt TEwG7uUD3L0pZ3yN1vGkDnEy7e15Aju5tMhd9PzCctSW1+ytPJv6psnxYucL+u6u VlN8+wEmXFl3OIM9NhPtmW1qgu42zlWZl48RSfkoBMGmIUeE8FVS6uDsCZEHLmF3 +R/EiKPkDk+AkooCY5l3pEvM5WCPZpRj/8qCITEZJ0ETurmQ885Mn1sevK1oZQuX tkKIG+3ICbDewwaFqGDwvy3lKOYOMK+D6xlt5If6iPqGgHjXIVC8LrtXfoX+wh44 g/+QPXHlVkX5eOlvi5Qb =xnh9 -END PGP SIGNATURE- - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56032] WebSocket Endpoint onClose method not called when channel closed by thread interruption
https://issues.apache.org/bugzilla/show_bug.cgi?id=56032 --- Comment #2 from Mark Thomas --- I've been looking at the WebSocket code and (by tweaking a unit tests an using a few break points) I can create a situation where the server times out trying to write a WebSocket message to the client. The behavior in this case should be the same as if the thread waiting for the write to complete was interrupted. I see the onError() call to the Endpoint but the connection is not closed. That does not seem right to me. Generally any call to onError() should be followed by the closure of the session unless we are sure that the situation is recoverable (and the nature of the protocol is that it almost certainly is not recoverable). There are a few things I still want to check but I should be in a position to apply the fix for this tomorrow. -- 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 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/5421 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1559801 Blamelist: jboynes BUILD FAILED: failed compile_1 sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GUMP@vmgump]: Project tomcat-trunk-validate-eoln (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-eoln 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-eoln : 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-eoln/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -INFO- Failed with reason build failed The following work was performed: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate-eoln/gump_work/build_tomcat-trunk_tomcat-trunk-validate-eoln.html Work Name: build_tomcat-trunk_tomcat-trunk-validate-eoln (Type: Build) Work ended in a state of : Failed Elapsed: 9 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 validate-eoln [Working Directory: /srv/gump/public/workspace/tomcat-trunk] CLASSPATH: /usr/lib/jvm/java-7-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-trunk/output/classes:/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 - Buildfile: /srv/gump/public/workspace/tomcat-trunk/build.xml build-prepare: [mkdir] Created dir: /srv/gump/public/workspace/tomcat-trunk/output/classes [mkdir] Created dir: /srv/gump/public/workspace/tomcat-trunk/output/build [mkdir] Created dir: /srv/gump/public/workspace/tomcat-trunk/output/build/bin [mkdir] Created dir: /srv/gump/public/workspace/tomcat-trunk/output/build/conf [mkdir] Created dir: /srv/gump/public/workspace/tomcat-trunk/output/build/lib [mkdir] Created dir: /srv/gump/public/workspace/tomcat-trunk/output/build/logs [mkdir] Created dir: /srv/gump/public/workspace/tomcat-trunk/output/build/temp [mkdir] Created dir: /srv/gump/public/workspace/tomcat-trunk/output/build/webapps compile-prepare: [copy] Copying 1 file to /srv/gump/public/workspace/tomcat-trunk/java/org/apache/catalina/startup [copy] Copying 1 file to /srv/gump/public/workspace/tomcat-trunk/webapps/docs validate-eoln: [javac] Compiling 1 source file to /srv/gump/public/workspace/tomcat-trunk/output/classes [checkeol] Checking line ends in 2691 file(s) [checkeol] Checking line ends in 87 file(s) [checkeol] Done line ends check in 2778 file(s), 1 error(s) found. [checkeol] The following files have wrong line ends: [ [checkeol] /srv/gump/public/workspace/tomcat-trunk/test/webapp/bug5/bug56029.jspx: uses CRLF on line 1] BUILD FAILED /srv/gump/public/workspace/tomcat-trunk/build.xml:586: The following files have wrong line ends: [ /srv/gump/public/workspace/tomcat-trunk/test/webapp/bug5/bug56029.jspx: uses CRLF on line 1] Total time: 9 seconds - To subscribe to this information via syndicated feeds: - RSS: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate-eoln/rss.xml - Atom: http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-validate-eoln/atom.xml == Gump Tracking Only === Produced by Apache Gump(TM) version 2.3. Gump Run 2014012106, vmgump.apache.org:vmgump:2014012106 Gump E-mail Identifier (unique within run) #2. -- Apache Gump http://gump.apache.org/ [Instance: vmgump] - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GUMP@vmgump]: Project tomcat-tc7.0.x-validate-eoln (in module tomcat-7.0.x) 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-tc7.0.x-validate-eoln 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-tc7.0.x-validate-eoln : Tomcat 7.x, a web server implementing Java Servlet 3.0, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-validate-eoln/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -INFO- Failed with reason build failed The following work was performed: http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-validate-eoln/gump_work/build_tomcat-7.0.x_tomcat-tc7.0.x-validate-eoln.html Work Name: build_tomcat-7.0.x_tomcat-tc7.0.x-validate-eoln (Type: Build) Work ended in a state of : Failed Elapsed: 7 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 validate-eoln [Working Directory: /srv/gump/public/workspace/tomcat-7.0.x] CLASSPATH: /usr/lib/jvm/java-7-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/classes:/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 - Buildfile: /srv/gump/public/workspace/tomcat-7.0.x/build.xml build-prepare: [mkdir] Created dir: /srv/gump/public/workspace/tomcat-7.0.x/output/classes [mkdir] Created dir: /srv/gump/public/workspace/tomcat-7.0.x/output/build [mkdir] Created dir: /srv/gump/public/workspace/tomcat-7.0.x/output/build/bin [mkdir] Created dir: /srv/gump/public/workspace/tomcat-7.0.x/output/build/conf [mkdir] Created dir: /srv/gump/public/workspace/tomcat-7.0.x/output/build/lib [mkdir] Created dir: /srv/gump/public/workspace/tomcat-7.0.x/output/build/logs [mkdir] Created dir: /srv/gump/public/workspace/tomcat-7.0.x/output/build/temp [mkdir] Created dir: /srv/gump/public/workspace/tomcat-7.0.x/output/build/webapps compile-prepare: [copy] Copying 1 file to /srv/gump/public/workspace/tomcat-7.0.x/java/org/apache/catalina/startup [copy] Copying 1 file to /srv/gump/public/workspace/tomcat-7.0.x/webapps/docs validate-eoln: [javac] Compiling 1 source file to /srv/gump/public/workspace/tomcat-7.0.x/output/classes [checkeol] Checking line ends in 2510 file(s) [checkeol] Checking line ends in 87 file(s) [checkeol] Done line ends check in 2597 file(s), 1 error(s) found. [checkeol] The following files have wrong line ends: [ [checkeol] /srv/gump/public/workspace/tomcat-7.0.x/test/webapp-3.0/bug5/bug56029.jspx: uses CRLF on line 1] BUILD FAILED /srv/gump/public/workspace/tomcat-7.0.x/build.xml:552: The following files have wrong line ends: [ /srv/gump/public/workspace/tomcat-7.0.x/test/webapp-3.0/bug5/bug56029.jspx: uses CRLF on line 1] Total time: 7 seconds - To subscribe to this information via syndicated feeds: - RSS: http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-validate-eoln/rss.xml - Atom: http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-validate-eoln/atom.xml == Gump Tracking Only === Produced by Apache Gump(TM) version 2.3. Gump Run 2014012106, vmgump.apache.org:vmgump:2014012106 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...@tomcat.apache.org
[Bug 56042] New: java.lang.IllegalStateException: Calling [asyncComplete()] is not valid for a request with Async state [MUST_DISPATCH]
https://issues.apache.org/bugzilla/show_bug.cgi?id=56042 Bug ID: 56042 Summary: java.lang.IllegalStateException: Calling [asyncComplete()] is not valid for a request with Async state [MUST_DISPATCH] Product: Tomcat 7 Version: 7.0.50 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: rstoyanc...@yahoo.com The issue appears if the response has been set before startAsync: response.setStatus(HttpServletResponse.SC_BAD_REQUEST); AsyncContext asyncContext = request.startAsync(request, response); asyncContext.dispatch(); You might wonder why would anyone do that? The actual scenario is a bit more complex. It involves a separate thread that completes very fast, even before startAsync is called. The resulting stack trace: java.lang.IllegalStateException: Calling [asyncComplete()] is not valid for a request with Async state [MUST_DISPATCH] at org.apache.coyote.AsyncStateMachine.asyncComplete(AsyncStateMachine.java:227) at org.apache.coyote.http11.Http11Processor.actionInternal(Http11Processor.java:358) at org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:871) at org.apache.coyote.Request.action(Request.java:344) at org.apache.catalina.core.AsyncContextImpl.complete(AsyncContextImpl.java:92) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:140) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:744) The Servlet spec says: "It is illegal to call startAsync if ..., or if the response has been committed and closed, ...". If that is indeed the reason, a clear error should be raised, and startAsync not be allowed to proceed. Or perhaps it is an issue that can be fixed? For what it's worth it actually works in Jetty even though the spec says it is illegal. -- 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
Notes from review of BZ 56029 and ELParser patches
Hi! Reviewing the patches for https://issues.apache.org/bugzilla/show_bug.cgi?id=56029 (r1559555, r1559708, r1559820) Important: 1. The test "org.apache.jasper.compiler.TestELParser" tests success of a roundtrip: - parsing a String into EL expression - recreating original String with ELParser$TextBuilder The method ELParser$TextBuilder.visit(Function n) reconstructs function call as prefix + ':' + name + '(' To reconstruct original string it has to know whitespaces of 4 tokens: prefix, name and ':' and '('. Starting with r1559708 both prefix and name are trimmed, and character tokens do not know their whitespace either. Thus it does not fly. Test TestELParser.testTernary07() is a valid test, but it is a bit misleading. It works because '$ {' does not start an EL expression. If I remove the whitespace between '$ {' characters, its starts to fail. The following 3 new tests fail: doTestParser(" ${ do:it( a eq 1 ? true : false, y ) } "); doTestParser(" ${ do:it ( a eq 1 ? true : false, y ) } "); doTestParser(" ${!empty my:link(foo)} "); (If reconstruction were not necessary then I think BZ 56029 could be fixed by simply returning ' ' + prefix + ':' + name + '(' there. The leading whitespace can be conditioned on whether preceding character is a symbol.) Performance notes: Performance of this code is not important, as it runs at JSP compilation time only. I think compilation of the java code is the main consumer of time here. With such disclaimer, here are some notes. 2. The code that resets StringBuilder in methods parseEL() and getAndResetWhiteSpace() of ELParser. Currently it is done via "new StringBuilder()" call. It can be done by calling buf.setLength(0). I see no need to create a new buffer each time. 3. The input here is a String. When parsing a whitespace or a token it would be better to call substring() method on the original String rather than manipulating a StringBuilder. A StringBuilder is needed only when some unescaping is performed and thus substring() cannot be used. 4. Calling ELParser$Id.toString().trim() performs string concatenation (whiteSpace+id) followed by trimming. The string manipulations can be avoided by adding a new method that returns trimmed text (the value of id). The prefix + ':' + name + '(' concatenation in ELParser$TextBuilder could be avoided if one had a substring() from the original input String that contains all those spaces and tokens. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56043] New: Adding Admin control for default page
https://issues.apache.org/bugzilla/show_bug.cgi?id=56043 Bug ID: 56043 Summary: Adding Admin control for default page Product: Tomcat 7 Version: 7.0.50 Hardware: PC OS: Windows NT Status: NEW Severity: major Priority: P2 Component: Manager Assignee: dev@tomcat.apache.org Reporter: t...@chinasystems-me.com Kindly advise how we can limit end user from accessing Apache manual ? Ie if user access default page ie http://localhost:9080 , how we can force user to input user name and password? Thanks -- 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 56043] Adding Admin control for default page
https://issues.apache.org/bugzilla/show_bug.cgi?id=56043 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #1 from Mark Thomas --- Bugzilla is not a support forum. Please use the Tomcat users mailing list. -- 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 56043] Adding Admin control for default page
https://issues.apache.org/bugzilla/show_bug.cgi?id=56043 Tinu changed: What|Removed |Added Status|RESOLVED|CLOSED -- 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