You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2014/08/19 12:12:09 UTC

[1/2] git commit: CAMEL-7719 Set the XMLReader for the SAXSource in XmlConverter

Repository: camel
Updated Branches:
  refs/heads/camel-2.12.x b5629d844 -> a6a68e453
  refs/heads/camel-2.13.x 5a47eefb4 -> 3cc7870a7


CAMEL-7719 Set the XMLReader for the SAXSource in XmlConverter


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/a6a68e45
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a6a68e45
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a6a68e45

Branch: refs/heads/camel-2.12.x
Commit: a6a68e453962d6c61b78bed12609f0f0939b6954
Parents: b5629d8
Author: Willem Jiang <wi...@gmail.com>
Authored: Tue Aug 19 15:17:46 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Tue Aug 19 15:18:48 2014 +0800

----------------------------------------------------------------------
 .../camel/converter/jaxp/XmlConverter.java       | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/a6a68e45/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java b/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
index 37cf7f4..0532011 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
@@ -36,6 +36,8 @@ import java.util.Properties;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.transform.OutputKeys;
@@ -59,6 +61,7 @@ import org.w3c.dom.NodeList;
 
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
 
 import org.apache.camel.BytesSource;
 import org.apache.camel.Converter;
@@ -567,7 +570,21 @@ public class XmlConverter {
         }
         inputSource.setSystemId(source.getSystemId());
         inputSource.setPublicId(source.getPublicId());
-        return new SAXSource(inputSource);
+        XMLReader xmlReader = null;
+        //Need to setup XMLReader security feature by default
+        try {
+            SAXParserFactory sfactory = SAXParserFactory.newInstance();
+            try {
+                sfactory.setFeature(javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING, true);
+            } catch (Exception e) {
+                LOG.warn("SAXParser doesn't support the feature {} with value {}, due to {}.", new Object[]{javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING, "true", e});
+            }
+            SAXParser parser = sfactory.newSAXParser();
+            xmlReader = parser.getXMLReader();
+        } catch (Exception ex) {
+            LOG.warn("Cannot create the SAXParser XMLReader, due to {}", ex);
+        }
+        return new SAXSource(xmlReader, inputSource);
     }
 
     /**


[2/2] git commit: CAMEL-7719 Set the XMLReader for the SAXSource in XmlConverter

Posted by ni...@apache.org.
CAMEL-7719 Set the XMLReader for the SAXSource in XmlConverter


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3cc7870a
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3cc7870a
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3cc7870a

Branch: refs/heads/camel-2.13.x
Commit: 3cc7870a79479951a0a4335d7687d9ef112c484a
Parents: 5a47eef
Author: Willem Jiang <wi...@gmail.com>
Authored: Tue Aug 19 15:17:46 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Tue Aug 19 15:19:03 2014 +0800

----------------------------------------------------------------------
 .../camel/converter/jaxp/XmlConverter.java       | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/3cc7870a/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java b/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
index 37cf7f4..0532011 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
@@ -36,6 +36,8 @@ import java.util.Properties;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.transform.OutputKeys;
@@ -59,6 +61,7 @@ import org.w3c.dom.NodeList;
 
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
 
 import org.apache.camel.BytesSource;
 import org.apache.camel.Converter;
@@ -567,7 +570,21 @@ public class XmlConverter {
         }
         inputSource.setSystemId(source.getSystemId());
         inputSource.setPublicId(source.getPublicId());
-        return new SAXSource(inputSource);
+        XMLReader xmlReader = null;
+        //Need to setup XMLReader security feature by default
+        try {
+            SAXParserFactory sfactory = SAXParserFactory.newInstance();
+            try {
+                sfactory.setFeature(javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING, true);
+            } catch (Exception e) {
+                LOG.warn("SAXParser doesn't support the feature {} with value {}, due to {}.", new Object[]{javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING, "true", e});
+            }
+            SAXParser parser = sfactory.newSAXParser();
+            xmlReader = parser.getXMLReader();
+        } catch (Exception ex) {
+            LOG.warn("Cannot create the SAXParser XMLReader, due to {}", ex);
+        }
+        return new SAXSource(xmlReader, inputSource);
     }
 
     /**