mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 16:06:15 +00:00
Merge pull request #7157 from rcordovano/restore-posting-of-exif-results
Restore posting of EXIF analysis results to blackboard
This commit is contained in:
commit
22537bc818
@ -1,2 +1 @@
|
|||||||
ExifProcessor.indexError.message=Failed to post EXIF Metadata artifact(s).
|
|
||||||
ExifProcessor.userContent.description=EXIF metadata data exists for this file.
|
ExifProcessor.userContent.description=EXIF metadata data exists for this file.
|
||||||
|
@ -31,7 +31,6 @@ import java.io.IOException;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@ -46,7 +45,6 @@ import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
|||||||
import org.sleuthkit.autopsy.ingest.IngestJobContext;
|
import org.sleuthkit.autopsy.ingest.IngestJobContext;
|
||||||
import org.sleuthkit.datamodel.AbstractFile;
|
import org.sleuthkit.datamodel.AbstractFile;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
|
|
||||||
import org.sleuthkit.autopsy.modules.pictureanalyzer.PictureAnalyzerIngestModuleFactory;
|
import org.sleuthkit.autopsy.modules.pictureanalyzer.PictureAnalyzerIngestModuleFactory;
|
||||||
import org.sleuthkit.datamodel.Blackboard;
|
import org.sleuthkit.datamodel.Blackboard;
|
||||||
import org.sleuthkit.datamodel.BlackboardArtifact;
|
import org.sleuthkit.datamodel.BlackboardArtifact;
|
||||||
@ -58,8 +56,6 @@ import org.sleuthkit.datamodel.Image;
|
|||||||
import org.sleuthkit.datamodel.ReadContentInputStream;
|
import org.sleuthkit.datamodel.ReadContentInputStream;
|
||||||
import org.sleuthkit.datamodel.TskCoreException;
|
import org.sleuthkit.datamodel.TskCoreException;
|
||||||
import org.sleuthkit.autopsy.modules.pictureanalyzer.spi.PictureProcessor;
|
import org.sleuthkit.autopsy.modules.pictureanalyzer.spi.PictureProcessor;
|
||||||
import org.sleuthkit.datamodel.AnalysisResult;
|
|
||||||
import org.sleuthkit.datamodel.DataArtifact;
|
|
||||||
import org.sleuthkit.datamodel.Score;
|
import org.sleuthkit.datamodel.Score;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -76,7 +72,6 @@ public class EXIFProcessor implements PictureProcessor {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@NbBundle.Messages({
|
@NbBundle.Messages({
|
||||||
"ExifProcessor.indexError.message=Failed to post EXIF Metadata artifact(s).",
|
|
||||||
"ExifProcessor.userContent.description=EXIF metadata data exists for this file."
|
"ExifProcessor.userContent.description=EXIF metadata data exists for this file."
|
||||||
})
|
})
|
||||||
public void process(IngestJobContext context, AbstractFile file) {
|
public void process(IngestJobContext context, AbstractFile file) {
|
||||||
@ -159,10 +154,16 @@ public class EXIFProcessor implements PictureProcessor {
|
|||||||
Score.SCORE_NONE,
|
Score.SCORE_NONE,
|
||||||
null, null, null,
|
null, null, null,
|
||||||
attributes)).getAnalysisResult();
|
attributes)).getAnalysisResult();
|
||||||
|
artifacts.add(exifArtifact);
|
||||||
|
|
||||||
final BlackboardArtifact userSuspectedArtifact = file.newAnalysisResult(
|
final BlackboardArtifact userSuspectedArtifact = file.newAnalysisResult(
|
||||||
BlackboardArtifact.Type.TSK_USER_CONTENT_SUSPECTED, Score.SCORE_UNKNOWN, null, null, null,
|
BlackboardArtifact.Type.TSK_USER_CONTENT_SUSPECTED,
|
||||||
Arrays.asList(new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_COMMENT, MODULE_NAME, Bundle.ExifProcessor_userContent_description())))
|
Score.SCORE_UNKNOWN,
|
||||||
|
null, null, null,
|
||||||
|
Arrays.asList(new BlackboardAttribute(
|
||||||
|
BlackboardAttribute.ATTRIBUTE_TYPE.TSK_COMMENT,
|
||||||
|
MODULE_NAME,
|
||||||
|
Bundle.ExifProcessor_userContent_description())))
|
||||||
.getAnalysisResult();
|
.getAnalysisResult();
|
||||||
artifacts.add(userSuspectedArtifact);
|
artifacts.add(userSuspectedArtifact);
|
||||||
|
|
||||||
@ -170,19 +171,14 @@ public class EXIFProcessor implements PictureProcessor {
|
|||||||
blackboard.postArtifacts(artifacts, MODULE_NAME);
|
blackboard.postArtifacts(artifacts, MODULE_NAME);
|
||||||
} catch (Blackboard.BlackboardException ex) {
|
} catch (Blackboard.BlackboardException ex) {
|
||||||
logger.log(Level.SEVERE, String.format("Error posting TSK_METADATA_EXIF and TSK_USER_CONTENT_SUSPECTED artifacts for %s (object ID = %d)", file.getName(), file.getId()), ex); //NON-NLS
|
logger.log(Level.SEVERE, String.format("Error posting TSK_METADATA_EXIF and TSK_USER_CONTENT_SUSPECTED artifacts for %s (object ID = %d)", file.getName(), file.getId()), ex); //NON-NLS
|
||||||
MessageNotifyUtil.Notify.error(
|
|
||||||
Bundle.ExifProcessor_indexError_message(), exifArtifact.getDisplayName());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
logger.log(Level.WARNING, "Failed to create blackboard artifact for " //NON-NLS
|
logger.log(Level.SEVERE, String.format("Error creating TSK_METADATA_EXIF and TSK_USER_CONTENT_SUSPECTED artifacts for %s (object ID = %d)", file.getName(), file.getId()), ex); //NON-NLS
|
||||||
+ "exif metadata ({0}).", ex.getLocalizedMessage()); //NON-NLS
|
} catch (IOException | ImageProcessingException ex) {
|
||||||
} catch (IOException | ImageProcessingException unused) {
|
logger.log(Level.WARNING, String.format("Error parsing %s (object ID = %d), presumed corrupt", file.getName(), file.getId()), ex); //NON-NLS
|
||||||
// In this case the stack trace is not needed in the log.
|
|
||||||
logger.log(Level.WARNING, String.format("Error parsing " //NON-NLS
|
|
||||||
+ "image file '%s/%s' (id=%d).", file.getParentPath(), file.getName(), file.getId())); //NON-NLS
|
|
||||||
} catch (NoCurrentCaseException ex) {
|
} catch (NoCurrentCaseException ex) {
|
||||||
logger.log(Level.INFO, "Exception while getting open case.", ex); //NON-NLS
|
logger.log(Level.SEVERE, String.format("Error processing %s (object ID = %d)", file.getName(), file.getId()), ex); //NON-NLS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user