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 97274fd  allow setting config, and remove security before transforming
97274fd is described below

commit 97274fd96b78e0b8aba6497c7498f4f1c9ee459b
Author: tballison <[email protected]>
AuthorDate: Wed Nov 24 12:43:18 2021 -0500

    allow setting config, and remove security before transforming
---
 .../main/java/org/apache/tika/fuzzing/pdf/PDFTransformer.java    | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/pdf/PDFTransformer.java 
b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/pdf/PDFTransformer.java
index 4e10cd9..fffdcd2 100644
--- a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/pdf/PDFTransformer.java
+++ b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/pdf/PDFTransformer.java
@@ -33,7 +33,7 @@ import org.apache.tika.mime.MediaType;
 public class PDFTransformer implements Transformer {
     private static final Set<MediaType> SUPPORTED_TYPES =
             Collections.singleton(MediaType.application("pdf"));
-    private final PDFTransformerConfig config = new PDFTransformerConfig();
+    private PDFTransformerConfig config = new PDFTransformerConfig();
 
     @Override
     public Set<MediaType> getSupportedTypes() {
@@ -43,6 +43,9 @@ public class PDFTransformer implements Transformer {
     @Override
     public void transform(InputStream is, OutputStream os) throws IOException, 
TikaException {
         try (PDDocument pdDocument = PDDocument.load(is)) {
+            //some docs have security which prevents mods and writing
+            //given our purposes here, we should remove security
+            pdDocument.setAllSecurityToBeRemoved(true);
             try (EvilCOSWriter cosWriter = new EvilCOSWriter(os, config)) {
                 cosWriter.write(pdDocument);
             }
@@ -50,4 +53,8 @@ public class PDFTransformer implements Transformer {
             throw new CantFuzzException("encrypted doc");
         }
     }
+
+    public void setConfig(PDFTransformerConfig pdfTransformerConfig) {
+        this.config = pdfTransformerConfig;
+    }
 }

Reply via email to