Author: markt Date: Fri Nov 22 15:51:57 2013 New Revision: 1544585 URL: http://svn.apache.org/r1544585 Log: Reinstate the TLD validation option
Modified: tomcat/trunk/java/org/apache/catalina/Context.java tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java tomcat/trunk/java/org/apache/catalina/core/StandardContext.java tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java tomcat/trunk/test/org/apache/catalina/core/TesterContext.java tomcat/trunk/webapps/docs/config/context.xml Modified: tomcat/trunk/java/org/apache/catalina/Context.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Context.java?rev=1544585&r1=1544584&r2=1544585&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/Context.java (original) +++ tomcat/trunk/java/org/apache/catalina/Context.java Fri Nov 22 15:51:57 2013 @@ -599,8 +599,8 @@ public interface Context extends Contain /** - * Will the parsing of web.xml, web-fragment.xml and *.tld files for this - * Context be performed by a validating parser? + * Will the parsing of web.xml and web-fragment.xml files for this Context + * be performed by a validating parser? * * @return true if validation is enabled. */ @@ -608,7 +608,7 @@ public interface Context extends Contain /** - * Controls whether the parsing of web.xml, web-fragment.xml and *.tld files + * Controls whether the parsing of web.xml and web-fragment.xml files * for this Context will be performed by a validating parser. * * @param xmlValidation true to enable xml validation @@ -617,6 +617,24 @@ public interface Context extends Contain /** + * Will the parsing of *.tld files for this Context be performed by a + * validating parser? + * + * @return true if validation is enabled. + */ + public boolean getTldValidation(); + + + /** + * Controls whether the parsing of *.tld files for this Context will be + * performed by a validating parser. + * + * @param tldValidation true to enable xml validation + */ + public void setTldValidation(boolean tldValidation); + + + /** * Will the parsing of *.jspx and *.tagx files for this Context be performed * by a validating parser? * Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=1544585&r1=1544584&r2=1544585&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java Fri Nov 22 15:51:57 2013 @@ -220,15 +220,16 @@ public class ApplicationContext */ @Override public Object getAttribute(String name) { - // Special handling for XML validation as the context setting must // always override anything that might have been set by an application. if (Globals.JASPER_XML_VALIDATION_ATTR.equals(name) && - context.getXmlValidation()) { + context.getTldValidation()) { + return Boolean.TRUE; + } else if (Globals.JASPER_XML_VALIDATION_DOC_ATTR.equals(name) && + context.getXmlValidationJspDoc()) { return Boolean.TRUE; } return (attributes.get(name)); - } @@ -242,9 +243,12 @@ public class ApplicationContext names.addAll(attributes.keySet()); // Special handling for XML validation as this attribute will always be // available if validation has been enabled on the context - if (context.getXmlValidation()) { + if (context.getTldValidation()) { names.add(Globals.JASPER_XML_VALIDATION_ATTR); } + if (context.getXmlValidationJspDoc()) { + names.add(Globals.JASPER_XML_VALIDATION_DOC_ATTR); + } return Collections.enumeration(names); } Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1544585&r1=1544584&r2=1544585&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Fri Nov 22 15:51:57 2013 @@ -688,10 +688,10 @@ public class StandardContext extends Con /** - * Attribute value used to turn on/off XML validation for web.xml, - * web-fragment.xml and *.tld files. + * Attribute value used to turn on/off XML validation for web.xml and + * web-fragment.xml files. */ - private boolean xmlValidation = Globals.STRICT_SERVLET_COMPLIANCE; + private boolean webXmlValidation = Globals.STRICT_SERVLET_COMPLIANCE; /** @@ -704,7 +704,12 @@ public class StandardContext extends Con /** * Attribute value used to turn on/off XML namespace validation */ - private boolean xmlNamespaceAware = Globals.STRICT_SERVLET_COMPLIANCE; + private boolean webXmlNamespaceAware = Globals.STRICT_SERVLET_COMPLIANCE; + + /** + * Attribute value used to turn on/off XML validation + */ + private boolean tldValidation = Globals.STRICT_SERVLET_COMPLIANCE; /** @@ -6372,38 +6377,50 @@ public class StandardContext extends Con @Override - public void setXmlValidation(boolean xmlValidation){ - this.xmlValidation = xmlValidation; + public boolean getXmlNamespaceAware() { + return webXmlNamespaceAware; } @Override - public boolean getXmlValidation(){ - return xmlValidation; + public void setXmlNamespaceAware(boolean webXmlNamespaceAware) { + this.webXmlNamespaceAware = webXmlNamespaceAware; } @Override - public void setXmlValidationJspDoc(boolean xmlValidationJspDoc){ - this.xmlValidationJspDoc = xmlValidationJspDoc; + public void setXmlValidation(boolean webXmlValidation) { + this.webXmlValidation = webXmlValidation; } @Override - public boolean getXmlValidationJspDoc(){ - return xmlValidationJspDoc; + public boolean getXmlValidation() { + return webXmlValidation; } @Override - public boolean getXmlNamespaceAware(){ - return xmlNamespaceAware; + public void setTldValidation(boolean tldValidation) { + this.tldValidation = tldValidation; } @Override - public void setXmlNamespaceAware(boolean xmlNamespaceAware){ - this.xmlNamespaceAware = xmlNamespaceAware; + public boolean getTldValidation() { + return tldValidation; + } + + + @Override + public void setXmlValidationJspDoc(boolean webXmlValidationJspDoc) { + this.xmlValidationJspDoc = webXmlValidationJspDoc; + } + + + @Override + public boolean getXmlValidationJspDoc() { + return xmlValidationJspDoc; } Modified: tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java?rev=1544585&r1=1544584&r2=1544585&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java Fri Nov 22 15:51:57 2013 @@ -456,6 +456,11 @@ public class FailedContext extends Lifec public void setXmlValidation(boolean xmlValidation) { /* NO-OP */ } @Override + public boolean getTldValidation() { return false; } + @Override + public void setTldValidation(boolean tldValidation){ /* NO-OP */ } + + @Override public boolean getXmlValidationJspDoc() { return false; } @Override public void setXmlValidationJspDoc(boolean xmlValidationJspDoc) { /* NO-OP */ } Modified: tomcat/trunk/test/org/apache/catalina/core/TesterContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TesterContext.java?rev=1544585&r1=1544584&r2=1544585&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/core/TesterContext.java (original) +++ tomcat/trunk/test/org/apache/catalina/core/TesterContext.java Fri Nov 22 15:51:57 2013 @@ -650,6 +650,16 @@ public class TesterContext implements Co } @Override + public boolean getTldValidation(){ + return false; + } + + @Override + public void setTldValidation(boolean tldValidation){ + // NO-OP + } + + @Override public void setXmlNamespaceAware(boolean xmlNamespaceAware) { // NO-OP } Modified: tomcat/trunk/webapps/docs/config/context.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/context.xml?rev=1544585&r1=1544584&r2=1544585&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/config/context.xml (original) +++ tomcat/trunk/webapps/docs/config/context.xml Fri Nov 22 15:51:57 2013 @@ -501,6 +501,17 @@ of the flag is <code>false</code>.</p> </attribute> + <attribute name="tldValidation" required="false"> + <p>If the value of this flag is <code>true</code>, the TLD files + will be XML validated on context startup. If the + <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code> + <a href="systemprops.html">system property</a> is set to + <code>true</code>, the default value of this attribute will be + <code>true</code>, else the default value will be <code>false</code>. + Setting this attribute to <code>true</code> will incur a performance + penalty.</p> + </attribute> + <attribute name="useHttpOnly" required="false"> <p>Should the HttpOnly flag be set on session cookies to prevent client side script from accessing the session ID? Defaults to @@ -532,13 +543,8 @@ <attribute name="xmlValidation" required="false"> <p>If the value of this flag is <code>true</code>, the parsing of - <code>web.xml</code>, <code>web-fragment.xml</code> and - <code>*.tld</code> files for this web application will use a validating - parser. Note that validation of <code>*.jspx</code> and - <code>*.tagx</code> files is controlled separately by the - <strong>xmlValidationJspDoc</strong> attribute and that - <code>tagPlugins.xml</code> files (if any) are never parsed using a - validating parser. If the + <code>web.xml</code> and <code>web-fragment.xml</code> files for this + web application will use a validating parser. If the <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code> <a href="systemprops.html">system property</a> is set to <code>true</code>, the default value of this attribute will be @@ -556,7 +562,6 @@ <code>true</code> will incur a performance penalty.</p> </attribute> - </attributes> </subsection> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org