Merge pull request #100 from coheigea/parser-doctypes

Disallow DocTypes in the Blueprint Parser
diff --git a/blueprint/blueprint-parser/src/main/java/org/apache/aries/blueprint/parser/Parser.java b/blueprint/blueprint-parser/src/main/java/org/apache/aries/blueprint/parser/Parser.java
index 10a9b39..3afcf50 100644
--- a/blueprint/blueprint-parser/src/main/java/org/apache/aries/blueprint/parser/Parser.java
+++ b/blueprint/blueprint-parser/src/main/java/org/apache/aries/blueprint/parser/Parser.java
@@ -22,6 +22,7 @@
 import javax.xml.namespace.QName;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.validation.Schema;
 import javax.xml.validation.Validator;
@@ -1461,6 +1462,12 @@
         if (documentBuilderFactory == null) {
             DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
             dbf.setNamespaceAware(true);
+            try {
+                dbf.setFeature(javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING, true);
+                dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
+            } catch (ParserConfigurationException ex) {
+                throw new ComponentDefinitionException("Unable to create the document builder", ex);
+            }
             documentBuilderFactory = dbf;
         }
         return documentBuilderFactory;