diff --git a/Core/ivy.xml b/Core/ivy.xml index 55468a600f..d40831b773 100644 --- a/Core/ivy.xml +++ b/Core/ivy.xml @@ -15,7 +15,7 @@ - + diff --git a/Core/nbproject/project.properties b/Core/nbproject/project.properties index e3895cc49d..ddb1df5848 100644 --- a/Core/nbproject/project.properties +++ b/Core/nbproject/project.properties @@ -12,7 +12,7 @@ file.reference.sevenzipjbinding-AllPlatforms.jar=release/modules/ext/sevenzipjbi file.reference.sevenzipjbinding.jar=release/modules/ext/sevenzipjbinding.jar file.reference.sqlite-jdbc-3.8.11.jar=release/modules/ext/sqlite-jdbc-3.8.11.jar file.reference.StixLib.jar=release/modules/ext/StixLib.jar -file.reference.tika-core-1.5.jar=release/modules/ext/tika-core-1.5.jar +file.reference.tika-core-1.14.jar=release/modules/ext/tika-core-1.14.jar file.reference.Tsk_DataModel_PostgreSQL.jar=release/modules/ext/Tsk_DataModel_PostgreSQL.jar file.reference.xmpcore-5.1.2.jar=release/modules/ext/xmpcore-5.1.2.jar file.reference.curator-client-2.8.0.jar=release/modules/ext/curator-client-2.8.0.jar diff --git a/Core/nbproject/project.xml b/Core/nbproject/project.xml index d2328273c1..eb4739d209 100644 --- a/Core/nbproject/project.xml +++ b/Core/nbproject/project.xml @@ -327,8 +327,8 @@ release/modules/ext/sevenzipjbinding-AllPlatforms.jar - ext/tika-core-1.5.jar - release/modules/ext/tika-core-1.5.jar + ext/tika-core-1.14.jar + release/modules/ext/tika-core-1.14.jar ext/metadata-extractor-2.8.1.jar diff --git a/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/ImageExtractor.java b/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/ImageExtractor.java index 9df9927ad8..335bdc0a91 100755 --- a/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/ImageExtractor.java +++ b/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/ImageExtractor.java @@ -27,12 +27,13 @@ import java.util.List; import java.util.logging.Level; import org.apache.poi.OldFileFormatException; import org.apache.poi.POIXMLException; -import org.apache.poi.hslf.model.Picture; -import org.apache.poi.hslf.usermodel.PictureData; -import org.apache.poi.hslf.usermodel.SlideShow; +import org.apache.poi.hwpf.usermodel.Picture; +import org.apache.poi.hslf.usermodel.HSLFPictureData; +import org.apache.poi.hslf.usermodel.HSLFSlideShow; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.model.PicturesTable; +import org.apache.poi.sl.usermodel.PictureData.PictureType; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xslf.usermodel.XMLSlideShow; import org.apache.poi.xslf.usermodel.XSLFPictureData; @@ -209,7 +210,7 @@ class ImageExtractor { * extracted. */ private List extractImagesFromDoc(AbstractFile af) { - List listOfAllPictures; + List listOfAllPictures; try { HWPFDocument doc = new HWPFDocument(new ReadContentInputStream(af)); @@ -241,7 +242,7 @@ class ImageExtractor { } List listOfExtractedImages = new ArrayList<>(); byte[] data = null; - for (org.apache.poi.hwpf.usermodel.Picture picture : listOfAllPictures) { + for (Picture picture : listOfAllPictures) { String fileName = picture.suggestFullFileName(); try { data = picture.getContent(); @@ -319,10 +320,10 @@ class ImageExtractor { * extracted. */ private List extractImagesFromPpt(AbstractFile af) { - PictureData[] listOfAllPictures = null; + List listOfAllPictures = null; try { - SlideShow ppt = new SlideShow(new ReadContentInputStream(af)); + HSLFSlideShow ppt = new HSLFSlideShow(new ReadContentInputStream(af)); listOfAllPictures = ppt.getPictureData(); } catch (OldFileFormatException | IOException ex) { // OldFileFormatException: @@ -341,7 +342,7 @@ class ImageExtractor { // if no images are extracted from the PPT, return null, else initialize // the output folder for image extraction. String outputFolderPath; - if (listOfAllPictures.length == 0) { + if (listOfAllPictures.isEmpty()) { return null; } else { outputFolderPath = getOutputFolderPath(this.parentFileName); @@ -355,26 +356,26 @@ class ImageExtractor { int i = 0; List listOfExtractedImages = new ArrayList<>(); byte[] data = null; - for (PictureData pictureData : listOfAllPictures) { + for (HSLFPictureData pictureData : listOfAllPictures) { // Get image extension, generate image name, write image to the module // output folder, add it to the listOfExtractedImageAbstractFiles - int type = pictureData.getType(); + PictureType type = pictureData.getType(); String ext; switch (type) { - case Picture.JPEG: + case JPEG: ext = ".jpg"; //NON-NLS break; - case Picture.PNG: + case PNG: ext = ".png"; //NON-NLS break; - case Picture.WMF: + case WMF: ext = ".wmf"; //NON-NLS break; - case Picture.EMF: + case EMF: ext = ".emf"; //NON-NLS break; - case Picture.PICT: + case PICT: ext = ".pict"; //NON-NLS break; default: @@ -406,7 +407,7 @@ class ImageExtractor { try { XMLSlideShow pptx = new XMLSlideShow(new ReadContentInputStream(af)); - listOfAllPictures = pptx.getAllPictures(); + listOfAllPictures = pptx.getPictureData(); } catch (POIXMLException | IOException ex) { // POIXMLException: // Thrown when document fails to load. diff --git a/Core/src/org/sleuthkit/autopsy/report/ReportExcel.java b/Core/src/org/sleuthkit/autopsy/report/ReportExcel.java index c1cffc9243..56de46f04d 100644 --- a/Core/src/org/sleuthkit/autopsy/report/ReportExcel.java +++ b/Core/src/org/sleuthkit/autopsy/report/ReportExcel.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2013-2014 Basis Technology Corp. + * Copyright 2013-2017 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -80,15 +80,15 @@ class ReportExcel implements TableReportModule { Font titleFont = wb.createFont(); titleFont.setFontHeightInPoints((short) 12); titleStyle.setFont(titleFont); - titleStyle.setAlignment(CellStyle.ALIGN_LEFT); + titleStyle.setAlignment(HorizontalAlignment.LEFT); titleStyle.setWrapText(true); setStyle = wb.createCellStyle(); Font setFont = wb.createFont(); setFont.setFontHeightInPoints((short) 14); - setFont.setBoldweight((short) 10); + setFont.setBold(true); setStyle.setFont(setFont); - setStyle.setAlignment(CellStyle.ALIGN_LEFT); + setStyle.setAlignment(HorizontalAlignment.LEFT); setStyle.setWrapText(true); elementStyle = wb.createCellStyle(); @@ -96,7 +96,7 @@ class ReportExcel implements TableReportModule { Font elementFont = wb.createFont(); elementFont.setFontHeightInPoints((short) 14); elementStyle.setFont(elementFont); - elementStyle.setAlignment(CellStyle.ALIGN_LEFT); + elementStyle.setAlignment(HorizontalAlignment.LEFT); elementStyle.setWrapText(true); writeSummaryWorksheet(); diff --git a/CoreLibs/ivy.xml b/CoreLibs/ivy.xml index c0ca478735..8043007b52 100644 --- a/CoreLibs/ivy.xml +++ b/CoreLibs/ivy.xml @@ -28,8 +28,8 @@ - - + + diff --git a/CoreLibs/nbproject/project.properties b/CoreLibs/nbproject/project.properties index 3f1452877a..62c4d535e6 100644 --- a/CoreLibs/nbproject/project.properties +++ b/CoreLibs/nbproject/project.properties @@ -6,7 +6,8 @@ file.reference.avalon-framework-4.1.5.jar=release/modules/ext/avalon-framework-4 file.reference.common-image-3.2.jar=release/modules/ext/common-image-3.2.jar file.reference.common-io-3.2.jar=release/modules/ext/common-io-3.2.jar file.reference.common-lang-3.2.jar=release/modules/ext/common-lang-3.2.jar -file.reference.commons-codec-1.5.jar=release/modules/ext/commons-codec-1.5.jar +file.reference.commons-codec-1.10.jar=release/modules/ext/commons-codec-1.10.jar +file.reference.commons-collections4-4.1.jar=release/modules/ext/commons-collections4-4.1.jar file.reference.commons-csv-1.4.jar=release/modules/ext/commons-csv-1.4.jar file.reference.commons-io-2.4.jar=release/modules/ext/commons-io-2.4.jar file.reference.commons-lang-2.6.jar=release/modules/ext/commons-lang-2.6.jar @@ -56,11 +57,11 @@ file.reference.logkit-1.0.1.jar=release/modules/ext/logkit-1.0.1.jar file.reference.mail-1.4.3.jar=release/modules/ext/mail-1.4.3.jar file.reference.openjfx-dialogs-1.0.2.jar=release/modules/ext/openjfx-dialogs-1.0.3.jar file.reference.platform-3.4.0.jar=release/modules/ext/platform-3.4.0.jar -file.reference.poi-3.8.jar=release/modules/ext/poi-3.8.jar -file.reference.poi-excelant-3.8.jar=release/modules/ext/poi-excelant-3.8.jar -file.reference.poi-ooxml-3.8.jar=release/modules/ext/poi-ooxml-3.8.jar -file.reference.poi-ooxml-schemas-3.8.jar=release/modules/ext/poi-ooxml-schemas-3.8.jar -file.reference.poi-scratchpad-3.8.jar=release/modules/ext/poi-scratchpad-3.8.jar +file.reference.poi-3.15.jar=release/modules/ext/poi-3.15.jar +file.reference.poi-excelant-3.15.jar=release/modules/ext/poi-excelant-3.15.jar +file.reference.poi-ooxml-3.15.jar=release/modules/ext/poi-ooxml-3.15.jar +file.reference.poi-ooxml-schemas-3.15.jar=release/modules/ext/poi-ooxml-schemas-3.15.jar +file.reference.poi-scratchpad-3.15.jar=release/modules/ext/poi-scratchpad-3.15.jar file.reference.reflections-0.9.8.jar=release/modules/ext/reflections-0.9.8.jar file.reference.servlet-api-2.5.jar=release/modules/ext/servlet-api-2.5.jar file.reference.sigar-1.6.4-sources.jar=release/modules/ext/sigar-1.6.4-sources.jar @@ -69,7 +70,7 @@ file.reference.slf4j-api-1.6.1.jar=release/modules/ext/slf4j-api-1.6.1.jar file.reference.slf4j-simple-1.6.1.jar=release/modules/ext/slf4j-simple-1.6.1.jar file.reference.stax-api-1.0.1.jar=release/modules/ext/stax-api-1.0.1.jar file.reference.xml-apis-1.0.b2.jar=release/modules/ext/xml-apis-1.0.b2.jar -file.reference.xmlbeans-2.3.0.jar=release/modules/ext/xmlbeans-2.3.0.jar +file.reference.xmlbeans-2.6.0.jar=release/modules/ext/xmlbeans-2.6.0.jar javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial javadoc.reference.commons-csv-1.4.jar=release/modules/ext/commons-csv-1.4-javadoc.jar diff --git a/CoreLibs/nbproject/project.xml b/CoreLibs/nbproject/project.xml index 358637d979..23a41edaf1 100644 --- a/CoreLibs/nbproject/project.xml +++ b/CoreLibs/nbproject/project.xml @@ -700,16 +700,16 @@ release/modules/ext/sigar-1.6.4.jar - ext/xmlbeans-2.3.0.jar - release/modules/ext/xmlbeans-2.3.0.jar + ext/xmlbeans-2.6.0.jar + release/modules/ext/xmlbeans-2.6.0.jar ext/jna-3.4.0.jar release/modules/ext/jna-3.4.0.jar - ext/poi-ooxml-schemas-3.8.jar - release/modules/ext/poi-ooxml-schemas-3.8.jar + ext/poi-ooxml-schemas-3.15.jar + release/modules/ext/poi-ooxml-schemas-3.15.jar ext/gson-1.4.jar @@ -768,8 +768,8 @@ release/modules/ext/jcalendarbutton-1.4.6.jar - ext/poi-ooxml-3.8.jar - release/modules/ext/poi-ooxml-3.8.jar + ext/poi-ooxml-3.15.jar + release/modules/ext/poi-ooxml-3.15.jar ext/imageio-psd-3.2.jar @@ -779,13 +779,17 @@ ext/stax-api-1.0.1.jar release/modules/ext/stax-api-1.0.1.jar + + ext/commons-collections4-4.1.jar + release/modules/ext/commons-collections4-4.1.jar + ext/servlet-api-2.5.jar release/modules/ext/servlet-api-2.5.jar - ext/poi-excelant-3.8.jar - release/modules/ext/poi-excelant-3.8.jar + ext/poi-excelant-3.15.jar + release/modules/ext/poi-excelant-3.15.jar ext/imageio-pcx-3.2.jar @@ -824,8 +828,8 @@ release/modules/ext/geronimo-jms_1.1_spec-1.0.jar - ext/poi-scratchpad-3.8.jar - release/modules/ext/poi-scratchpad-3.8.jar + ext/poi-scratchpad-3.15.jar + release/modules/ext/poi-scratchpad-3.15.jar ext/joda-time-2.4-sources.jar @@ -876,8 +880,8 @@ release/modules/ext/ant-1.8.2.jar - ext/commons-codec-1.5.jar - release/modules/ext/commons-codec-1.5.jar + ext/commons-codec-1.10.jar + release/modules/ext/commons-codec-1.10.jar ext/javassist-3.12.1.GA.jar @@ -896,8 +900,8 @@ release/modules/ext/commons-io-2.4.jar - ext/poi-3.8.jar - release/modules/ext/poi-3.8.jar + ext/poi-3.15.jar + release/modules/ext/poi-3.15.jar ext/controlsfx-8.40.11.jar diff --git a/Experimental/ivy.xml b/Experimental/ivy.xml index 5934399ba3..658e7e5948 100644 --- a/Experimental/ivy.xml +++ b/Experimental/ivy.xml @@ -7,7 +7,7 @@ - + diff --git a/Experimental/nbproject/project.properties b/Experimental/nbproject/project.properties index 34d831c12a..d47542bdb5 100644 --- a/Experimental/nbproject/project.properties +++ b/Experimental/nbproject/project.properties @@ -3,7 +3,7 @@ file.reference.jackson-core-2.7.0.jar=release/modules/ext/jackson-core-2.7.0.jar file.reference.LGoodDatePicker-4.3.1.jar=release/modules/ext/LGoodDatePicker-4.3.1.jar file.reference.mchange-commons-java-0.2.9.jar=release/modules/ext/mchange-commons-java-0.2.9.jar file.reference.postgresql-9.4-1201-jdbc41.jar=release/modules/ext/postgresql-9.4-1201-jdbc41.jar -file.reference.tika-core-1.5.jar=release/modules/ext/tika-core-1.5.jar +file.reference.tika-core-1.14.jar=release/modules/ext/tika-core-1.14.jar javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial javadoc.reference.LGoodDatePicker-4.3.1.jar=release/modules/ext/LGoodDatePicker-4.3.1-javadoc.jar diff --git a/Experimental/nbproject/project.xml b/Experimental/nbproject/project.xml index 714d6e4028..f0e1b77527 100644 --- a/Experimental/nbproject/project.xml +++ b/Experimental/nbproject/project.xml @@ -132,8 +132,8 @@ release/modules/ext/LGoodDatePicker-4.3.1.jar - ext/tika-core-1.5.jar - release/modules/ext/tika-core-1.5.jar + ext/tika-core-1.14.jar + release/modules/ext/tika-core-1.14.jar ext/jackson-core-2.7.0.jar diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/ManifestFileParser.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/ManifestFileParser.java index 00fb2b9a5f..863155afcc 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/ManifestFileParser.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/ManifestFileParser.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2015 Basis Technology Corp. + * Copyright 2015-2017 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,9 +20,28 @@ package org.sleuthkit.autopsy.experimental.autoingest; import java.nio.file.Path; +/** + * Responsible for parsing the manifest files that + * describe cases, devices, and data sources. + * These are used by autoingest to create cases and add + * data sources to the correct case. + */ public interface ManifestFileParser { + /** + * Checks if a file is this type of manifest file + * @param filePath Path to potential manifest file + * @return True if the file is a manifest that this parser supports + */ boolean fileIsManifest(Path filePath); + + /** + * Parses the given file. Will only be called if + * fileIsManifest() previously returned true. + * @param filePath Path to manifest file + * @return Parsed results + * @throws org.sleuthkit.autopsy.experimental.autoingest.ManifestFileParser.ManifestFileParserException + */ Manifest parse(Path filePath) throws ManifestFileParserException; public final static class ManifestFileParserException extends Exception {