From d34c963644ba20a4ab5394a5b14070f9b1c3335b Mon Sep 17 00:00:00 2001 From: adam-m Date: Tue, 26 Mar 2013 11:50:41 -0400 Subject: [PATCH 1/2] refine tika formats, send to tika file formats only it claims to support, minus archives. Otherwise, it could result in tika returning no text for some unsupported files, and skipping string extraction. --- .../AbstractFileTikaTextExtract.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AbstractFileTikaTextExtract.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AbstractFileTikaTextExtract.java index eb09cf0c7f..a7cf23459e 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AbstractFileTikaTextExtract.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/AbstractFileTikaTextExtract.java @@ -22,10 +22,12 @@ import java.io.IOException; import java.io.InputStream; import java.io.Reader; import java.nio.charset.Charset; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; @@ -38,6 +40,8 @@ import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.ReadContentInputStream; import org.apache.tika.Tika; import org.apache.tika.metadata.Metadata; +import org.apache.tika.mime.MediaType; +import org.apache.tika.parser.ParseContext; import org.sleuthkit.autopsy.coreutils.StringExtract; import org.sleuthkit.autopsy.keywordsearch.Ingester.IngesterException; @@ -66,11 +70,18 @@ public class AbstractFileTikaTextExtract implements AbstractFileExtract { private int numChunks = 0; //private static final String UTF16BOM = "\uFEFF"; disabled prepending of BOM private final ExecutorService tikaParseExecutor = Executors.newSingleThreadExecutor(); + private final List TIKA_SUPPORTED_TYPES = new ArrayList(); AbstractFileTikaTextExtract() { this.module = KeywordSearchIngestModule.getDefault(); ingester = Server.getIngester(); + Set mediaTypes = new Tika().getParser().getSupportedTypes(new ParseContext()); + for (MediaType mt : mediaTypes) { + TIKA_SUPPORTED_TYPES.add(mt.getType() + "/" + mt.getSubtype()); + } + logger.log(Level.INFO, "Tika supported media types: " + TIKA_SUPPORTED_TYPES); + } @Override @@ -272,12 +283,11 @@ public class AbstractFileTikaTextExtract implements AbstractFileExtract { return false; } + //TODO might need to add more mime-types to ignore - //default to true, which includes - //text, docs, pdf and others - - return true; + //then accept all formats supported by Tika + return TIKA_SUPPORTED_TYPES.contains(detectedFormat); } From ec66dbd6a7041f25ebbd3b74c6a7fd02cec0cb3c Mon Sep 17 00:00:00 2001 From: Tim McIver Date: Tue, 26 Mar 2013 12:09:34 -0400 Subject: [PATCH 2/2] Commented out line that deletes autopsy.zip in build-zip Ant target in build.xml. --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index 9542a3f27b..7f183c9e1b 100644 --- a/build.xml +++ b/build.xml @@ -106,7 +106,7 @@ - +