Skip to content

Commit

Permalink
Revert r1137753 - I have a better soution in mind
Browse files Browse the repository at this point in the history
Fix part 2 of 3 for CVE-2011-2481

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1138776 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
markt-asf committed Jun 23, 2011
1 parent c9ab445 commit 279e445
Showing 1 changed file with 25 additions and 27 deletions.
52 changes: 25 additions & 27 deletions java/org/apache/catalina/startup/ContextConfig.java
Expand Up @@ -229,32 +229,6 @@ public class ContextConfig
new LoginConfig("NONE", null, null, null);


static {
webDigesters[0] = DigesterFactory.newDigester(false, false, webRuleSet);
webDigesters[0].getParser();
webFragmentDigesters[0] = DigesterFactory.newDigester(false, false,
webFragmentRuleSet);
webFragmentDigesters[0].getParser();

webDigesters[1] = DigesterFactory.newDigester(true, false, webRuleSet);
webDigesters[1].getParser();
webFragmentDigesters[1] = DigesterFactory.newDigester(true, false,
webFragmentRuleSet);
webFragmentDigesters[1].getParser();

webDigesters[2] = DigesterFactory.newDigester(false, true, webRuleSet);
webDigesters[2].getParser();
webFragmentDigesters[2] = DigesterFactory.newDigester(false, true,
webFragmentRuleSet);
webFragmentDigesters[2].getParser();

webDigesters[3] = DigesterFactory.newDigester(true, true, webRuleSet);
webDigesters[3].getParser();
webFragmentDigesters[3] = DigesterFactory.newDigester(true, true,
webFragmentRuleSet);
webFragmentDigesters[3].getParser();
}

// ------------------------------------------------------------- Properties


Expand Down Expand Up @@ -501,22 +475,46 @@ protected synchronized void authenticatorConfig() {
* Create (if necessary) and return a Digester configured to process the
* web application deployment descriptor (web.xml).
*/
protected void createWebXmlDigester(boolean namespaceAware,
public void createWebXmlDigester(boolean namespaceAware,
boolean validation) {

if (!namespaceAware && !validation) {
if (webDigesters[0] == null) {
webDigesters[0] = DigesterFactory.newDigester(validation,
namespaceAware, webRuleSet);
webFragmentDigesters[0] = DigesterFactory.newDigester(validation,
namespaceAware, webFragmentRuleSet);
}
webDigester = webDigesters[0];
webFragmentDigester = webFragmentDigesters[0];

} else if (!namespaceAware && validation) {
if (webDigesters[1] == null) {
webDigesters[1] = DigesterFactory.newDigester(validation,
namespaceAware, webRuleSet);
webFragmentDigesters[1] = DigesterFactory.newDigester(validation,
namespaceAware, webFragmentRuleSet);
}
webDigester = webDigesters[1];
webFragmentDigester = webFragmentDigesters[1];

} else if (namespaceAware && !validation) {
if (webDigesters[2] == null) {
webDigesters[2] = DigesterFactory.newDigester(validation,
namespaceAware, webRuleSet);
webFragmentDigesters[2] = DigesterFactory.newDigester(validation,
namespaceAware, webFragmentRuleSet);
}
webDigester = webDigesters[2];
webFragmentDigester = webFragmentDigesters[2];

} else {
if (webDigesters[3] == null) {
webDigesters[3] = DigesterFactory.newDigester(validation,
namespaceAware, webRuleSet);
webFragmentDigesters[3] = DigesterFactory.newDigester(validation,
namespaceAware, webFragmentRuleSet);
}
webDigester = webDigesters[3];
webFragmentDigester = webFragmentDigesters[3];
}
Expand Down

0 comments on commit 279e445

Please sign in to comment.