This is an automated email from the ASF dual-hosted git repository.

tallison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/main by this push:
     new 03b6baf  TIKA-3392 -- allow insecure parsing in MimeTypesReader; log a 
warning
03b6baf is described below

commit 03b6baf1efdb43b299cbe025184cf24cca9a8847
Author: tallison <[email protected]>
AuthorDate: Wed May 12 13:38:06 2021 -0400

    TIKA-3392 -- allow insecure parsing in MimeTypesReader; log a warning
---
 .../src/main/java/org/apache/tika/mime/MimeTypesReader.java   | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java 
b/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java
index 7d53ab9..c4e3b9d 100644
--- a/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java
+++ b/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java
@@ -36,6 +36,8 @@ import javax.xml.transform.TransformerException;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.sax.SAXResult;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.xml.sax.Attributes;
 import org.xml.sax.InputSource;
@@ -115,7 +117,7 @@ public class MimeTypesReader extends DefaultHandler 
implements MimeTypesReaderMe
      */
     private static int POOL_SIZE = 10;
     private static ArrayBlockingQueue<SAXParser> SAX_PARSERS = new 
ArrayBlockingQueue<>(POOL_SIZE);
-
+    static Logger LOG = LoggerFactory.getLogger(MimeTypesReader.class);
     static {
         try {
             setPoolSize(POOL_SIZE);
@@ -213,9 +215,14 @@ public class MimeTypesReader extends DefaultHandler 
implements MimeTypesReaderMe
         factory.setNamespaceAware(false);
         try {
             factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+        } catch (ParserConfigurationException | SAXException e) {
+            LOG.warn("can't set secure processing feature on: " + 
factory.getClass() +
+                    ". User assumes responsibility for consequences.");
+        }
+        try {
             return factory.newSAXParser();
         } catch (ParserConfigurationException | SAXException e) {
-            throw new TikaException("problem creating SAX parser factory", e);
+            throw new TikaException("Can't create new sax parser", e);
         }
     }
 

Reply via email to