mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-11 23:46:15 +00:00
5709: Email attachments.
- address review comments.
This commit is contained in:
parent
858d50765c
commit
a96e7d6859
@ -227,6 +227,7 @@ public class ExtractedContent implements AutopsyVisitableItem {
|
||||
// maps the artifact type to its child node
|
||||
private final HashMap<BlackboardArtifact.Type, TypeNode> typeNodeList = new HashMap<>();
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
TypeFactory() {
|
||||
super();
|
||||
|
||||
|
@ -259,17 +259,19 @@ public class DataResultFilterNode extends FilterNode {
|
||||
protected Node[] createNodes(Node key) {
|
||||
// if displaying the results from the Data Source tree
|
||||
// filter out artifacts
|
||||
// unless there are message artifacts with attachments as children
|
||||
|
||||
// In older versions of Autopsy, attachments were children of email/message artifacts
|
||||
// and hence email/messages with attachments are shown in the tree data source tree,
|
||||
BlackboardArtifact art = key.getLookup().lookup(BlackboardArtifact.class);
|
||||
if (art != null && filterArtifacts
|
||||
&& ((DirectoryTreeUtils.showMessagesInDirTree() == false)
|
||||
|| (DirectoryTreeUtils.showMessagesInDirTree()
|
||||
&& ((FilterNodeUtils.showMessagesInDatasourceTree() == false)
|
||||
|| (FilterNodeUtils.showMessagesInDatasourceTree()
|
||||
&& art.getArtifactTypeID() != BlackboardArtifact.ARTIFACT_TYPE.TSK_EMAIL_MSG.getTypeID()
|
||||
&& art.getArtifactTypeID() != BlackboardArtifact.ARTIFACT_TYPE.TSK_MESSAGE.getTypeID()))) {
|
||||
return new Node[]{};
|
||||
}
|
||||
|
||||
return new Node[]{new DataResultFilterNode(key, sourceEm)};
|
||||
return new Node[]{new DataResultFilterNode(key, sourceEm)};
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -132,7 +132,7 @@ class DirectoryTreeFilterNode extends FilterNode {
|
||||
}
|
||||
} else if (child instanceof BlackboardArtifact) {
|
||||
|
||||
if (DirectoryTreeUtils.showMessagesInDirTree()) {
|
||||
if (FilterNodeUtils.showMessagesInDatasourceTree()) {
|
||||
// In older versions of Autopsy, attachments were children of email/message artifacts
|
||||
// and hence email/messages with attachments are shown in the directory tree.
|
||||
BlackboardArtifact bba = (BlackboardArtifact) child;
|
||||
|
@ -26,7 +26,7 @@ import org.sleuthkit.datamodel.CaseDbSchemaVersionNumber;
|
||||
* Utility class for Directory tree.
|
||||
*
|
||||
*/
|
||||
final class DirectoryTreeUtils {
|
||||
final class FilterNodeUtils {
|
||||
|
||||
private static final int ATTACHMENT_CHILDOF_MSG_MAX_DB_MAJOR_VER = 8;
|
||||
private static final int ATTACHMENT_CHILDOF_MSG_MAX_DB_MINOR_VER = 4;
|
||||
@ -34,7 +34,7 @@ final class DirectoryTreeUtils {
|
||||
/**
|
||||
* Empty private constructor
|
||||
*/
|
||||
private DirectoryTreeUtils() {
|
||||
private FilterNodeUtils() {
|
||||
|
||||
}
|
||||
|
||||
@ -43,8 +43,8 @@ final class DirectoryTreeUtils {
|
||||
* hence messages with any attachment children are shown in the directory
|
||||
* tree.
|
||||
*
|
||||
* At 8.4, attachments are tracked as an attribute, and the message artifact
|
||||
* don't need to be shown in the directory tree.
|
||||
* At 8.4 and later, attachments are tracked as an attribute, and the message
|
||||
* artifacts don't need to be shown in the directory tree.
|
||||
*
|
||||
* This method may be used to check the schema version and behave
|
||||
* accordingly, in order to maintain backward compatibility.
|
||||
@ -52,15 +52,15 @@ final class DirectoryTreeUtils {
|
||||
* @return True if messages with attachment children should be shown in
|
||||
* directory tree.
|
||||
*/
|
||||
static boolean showMessagesInDirTree() {
|
||||
boolean showMessagesInDirTree = true;
|
||||
static boolean showMessagesInDatasourceTree() {
|
||||
boolean showMessagesInDatasourceTree = true;
|
||||
if (Case.isCaseOpen()) {
|
||||
CaseDbSchemaVersionNumber version = Case.getCurrentCase().getSleuthkitCase().getDBSchemaCreationVersion();
|
||||
showMessagesInDirTree
|
||||
showMessagesInDatasourceTree
|
||||
= ((version.getMajor() < ATTACHMENT_CHILDOF_MSG_MAX_DB_MAJOR_VER)
|
||||
|| (version.getMajor() == ATTACHMENT_CHILDOF_MSG_MAX_DB_MAJOR_VER && version.getMinor() < ATTACHMENT_CHILDOF_MSG_MAX_DB_MINOR_VER));
|
||||
}
|
||||
return showMessagesInDirTree;
|
||||
return showMessagesInDatasourceTree;
|
||||
}
|
||||
|
||||
}
|
@ -138,7 +138,7 @@ public final class ThunderbirdMboxFileIngestModule implements FileIngestModule {
|
||||
communicationArtifactsHelper = new CommunicationArtifactsHelper(currentCase.getSleuthkitCase(),
|
||||
EmailParserModuleFactory.getModuleName(), abstractFile, Account.Type.EMAIL);
|
||||
} catch (TskCoreException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Failed to create CommunicationArtifactsHelper for file %s", abstractFile.getName()), ex);
|
||||
logger.log(Level.SEVERE, String.format("Failed to create CommunicationArtifactsHelper for file with object id = %d", abstractFile.getId()), ex);
|
||||
return ProcessResult.ERROR;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user