From 4d13a207dd24fd39036c98f01ded3dd24dc76735 Mon Sep 17 00:00:00 2001 From: APriestman Date: Mon, 30 Mar 2015 14:04:23 -0400 Subject: [PATCH 1/8] Bug fixes for STIX module. Reset ID maps between files. Allow for multiple hash values in Hash Object. --- .../autopsy/modules/stix/EvalDomainObj.java | 4 ++-- .../autopsy/modules/stix/EvalFileObj.java | 16 +++++++++++++++- .../autopsy/modules/stix/STIXReportModule.java | 8 ++++++-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/stix/EvalDomainObj.java b/Core/src/org/sleuthkit/autopsy/modules/stix/EvalDomainObj.java index 18aaf37e8e..03a8041c1f 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/stix/EvalDomainObj.java +++ b/Core/src/org/sleuthkit/autopsy/modules/stix/EvalDomainObj.java @@ -55,8 +55,8 @@ class EvalDomainObj extends EvaluatableObject { // Since we have single URL artifacts, ALL and NONE conditions probably don't make sense to test if (!((obj.getValue().getApplyCondition() == null) || (obj.getValue().getApplyCondition() == ConditionApplicationEnum.ANY))) { - return new ObservableResult(id, "URIObject: Can not process apply condition " + obj.getValue().getApplyCondition().toString() //NON-NLS - + " on URI object", spacing, ObservableResult.ObservableState.INDETERMINATE, null); //NON-NLS + return new ObservableResult(id, "DomainObject: Can not process apply condition " + obj.getValue().getApplyCondition().toString() //NON-NLS + + " on Domain object", spacing, ObservableResult.ObservableState.INDETERMINATE, null); //NON-NLS } // If the condition is not "CONTAINS", add a warning that it's being ignored diff --git a/Core/src/org/sleuthkit/autopsy/modules/stix/EvalFileObj.java b/Core/src/org/sleuthkit/autopsy/modules/stix/EvalFileObj.java index 384d40a899..9f05e44e5c 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/stix/EvalFileObj.java +++ b/Core/src/org/sleuthkit/autopsy/modules/stix/EvalFileObj.java @@ -171,7 +171,21 @@ class EvalFileObj extends EvaluatableObject { for (HashType h : obj.getHashes().getHashes()) { if (h.getSimpleHashValue() != null) { if (h.getType().getValue().equals("MD5")) { //NON-NLS - String newClause = "md5=\'" + h.getSimpleHashValue().getValue().toString().toLowerCase() + "\'"; //NON-NLS + String newClause = ""; + if(h.getSimpleHashValue().getValue().toString().toLowerCase().contains("##comma##")){ + String[] parts = h.getSimpleHashValue().getValue().toString().toLowerCase().split("##comma##"); //NON-NLS + String hashList = ""; + for(String s:parts){ + if(!hashList.isEmpty()){ + hashList += ", "; + } + hashList += "\'" + s + "\'"; + } + newClause = "md5 IN (" + hashList + ")"; + } + else{ + newClause = "md5=\'" + h.getSimpleHashValue().getValue().toString().toLowerCase() + "\'"; //NON-NLS + } whereClause = addClause(whereClause, newClause); } else { addWarning("Could not process hash type " + h.getType().getValue().toString()); //NON-NLS diff --git a/Core/src/org/sleuthkit/autopsy/modules/stix/STIXReportModule.java b/Core/src/org/sleuthkit/autopsy/modules/stix/STIXReportModule.java index 6431f4ab87..e9f7bd4c43 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/stix/STIXReportModule.java +++ b/Core/src/org/sleuthkit/autopsy/modules/stix/STIXReportModule.java @@ -72,8 +72,8 @@ public class STIXReportModule implements GeneralReportModule { private String reportPath; private boolean reportAllResults; - private final Map idToObjectMap = new HashMap(); - private final Map idToResult = new HashMap(); + private Map idToObjectMap = new HashMap(); + private Map idToResult = new HashMap(); private List registryFileData = null; @@ -189,6 +189,10 @@ public class STIXReportModule implements GeneralReportModule { MessageNotifyUtil.MessageType.ERROR); hadErrors = true; } + + // Clear out the ID maps before loading the next file + idToObjectMap = new HashMap(); + idToResult = new HashMap(); } // Close the output file From 82207c31ad6cc0dd2d2b11bb3c4eafbfa376da39 Mon Sep 17 00:00:00 2001 From: sidheshenator Date: Tue, 31 Mar 2015 12:42:02 -0400 Subject: [PATCH 2/8] In file sorting. Additional file-sortedErrors.txt not created --- test/script/regression.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/test/script/regression.py b/test/script/regression.py index 08938f371b..ac3649d6ee 100755 --- a/test/script/regression.py +++ b/test/script/regression.py @@ -345,8 +345,8 @@ class TestRunner(object): if file_exists(test_data.get_sorted_data_path(DBType.OUTPUT)): shutil.copy(test_data.get_sorted_data_path(DBType.OUTPUT), dataoutpth) shutil.copy(dbdumpinpth, dbdumpoutpth) - error_pth = make_path(tmpdir, test_data.image_name+"SortedErrors.txt") - shutil.copy(test_data.sorted_log, error_pth) + error_pth = make_path(tmpdir, test_data.image_name+"Exceptions.txt") + shutil.copy(test_data.common_log_path, error_pth) except IOError as e: Errors.print_error(str(e)) print(str(e)) @@ -451,7 +451,6 @@ class TestData(object): antlog_dir: a pathto_File, the antlog.txt file test_dbdump: a pathto_File, the database dump, IMAGENAMEDump.txt common_log_path: a pathto_File, the IMAGE_NAMECOMMON_LOG file - sorted_log: a pathto_File, the IMAGENAMESortedErrors.txt file reports_dir: a pathto_Dir, the AutopsyTestCase/Reports folder gold_data_dir: a pathto_Dir, the gold standard directory gold_archive: a pathto_File, the gold standard archive @@ -500,7 +499,6 @@ class TestData(object): self.test_dbdump = make_path(self.output_path, self.image_name + "DBDump.txt") self.common_log_path = make_local_path(self.output_path, self.image_name + COMMON_LOG) - self.sorted_log = make_local_path(self.output_path, self.image_name + "SortedErrors.txt") self.reports_dir = make_path(self.output_path, AUTOPSY_TEST_CASE, "Reports") self.gold_data_dir = make_path(self.main_config.img_gold, self.image_name) self.gold_archive = make_path(self.main_config.gold, @@ -579,13 +577,13 @@ class TestData(object): return self._get_path_to_file(file_type, "BlackboardDump.txt") def get_sorted_errors_path(self, file_type): - """Get the path to the SortedErrors file that corresponds to the given + """Get the path to the Exceptions (SortedErrors) file that corresponds to the given DBType. Args: file_type: the DBType of the path to be generated """ - return self._get_path_to_file(file_type, "SortedErrors.txt") + return self._get_path_to_file(file_type, "Exceptions.txt") def get_db_dump_path(self, file_type): """Get the path to the DBDump file that corresponds to the given DBType. @@ -1261,9 +1259,6 @@ class Logs(object): logs_path = test_data.logs_dir common_log = codecs.open(test_data.common_log_path, "w", "utf_8") warning_log = codecs.open(test_data.warning_log, "w", "utf_8") - common_log.write("--------------------------------------------------\n") - common_log.write(test_data.image_name + "\n") - common_log.write("--------------------------------------------------\n") rep_path = make_local_path(test_data.main_config.output_dir) rep_path = rep_path.replace("\\\\", "\\") for file in os.listdir(logs_path): @@ -1281,8 +1276,8 @@ class Logs(object): log.close() common_log.write("\n") common_log.close() - print(test_data.sorted_log) - srtcmdlst = ["sort", test_data.common_log_path, "-o", test_data.sorted_log] + print(test_data.common_log_path) + srtcmdlst = ["sort", test_data.common_log_path, "-o", test_data.common_log_path] subprocess.call(srtcmdlst) except (OSError, IOError) as e: Errors.print_error("Error: Unable to generate the common log.") From e628ecf3f409e29fcac26f453333e67e1019872e Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Tue, 31 Mar 2015 13:19:55 -0400 Subject: [PATCH 3/8] Delete ingest_pipeline.png Identical files with differnt capitalization of the extension are checked in. This does not play well with Windows. --- docs/doxygen-user/images/ingest_pipeline.png | Bin 17268 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/doxygen-user/images/ingest_pipeline.png diff --git a/docs/doxygen-user/images/ingest_pipeline.png b/docs/doxygen-user/images/ingest_pipeline.png deleted file mode 100644 index a91b73f64273fc4a1a2680dc0649c4322c5bc295..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17268 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 Date: Tue, 31 Mar 2015 16:09:51 -0400 Subject: [PATCH 4/8] Remove ingest_pipeline.PNG --- docs/doxygen-user/images/ingest_pipeline.PNG | Bin 17268 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 docs/doxygen-user/images/ingest_pipeline.PNG diff --git a/docs/doxygen-user/images/ingest_pipeline.PNG b/docs/doxygen-user/images/ingest_pipeline.PNG deleted file mode 100755 index a91b73f64273fc4a1a2680dc0649c4322c5bc295..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17268 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 Date: Tue, 31 Mar 2015 16:11:47 -0400 Subject: [PATCH 5/8] Restore ingest_pipeline.PNG --- docs/doxygen-user/images/ingest_pipeline.PNG | Bin 0 -> 17268 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/doxygen-user/images/ingest_pipeline.PNG diff --git a/docs/doxygen-user/images/ingest_pipeline.PNG b/docs/doxygen-user/images/ingest_pipeline.PNG new file mode 100644 index 0000000000000000000000000000000000000000..a91b73f64273fc4a1a2680dc0649c4322c5bc295 GIT binary patch literal 17268 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 Date: Wed, 1 Apr 2015 14:41:44 -0400 Subject: [PATCH 6/8] added rule.UUID instead rule.hashCode() to the rules HashMap --- .../modules/interestingitems/InterestingItemDefsPanel.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/InterestingItemDefsPanel.java b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/InterestingItemDefsPanel.java index 70d7ec3d64..f85f0805b5 100755 --- a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/InterestingItemDefsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/InterestingItemDefsPanel.java @@ -256,8 +256,9 @@ final class InterestingItemDefsPanel extends IngestModuleGlobalSettingsPanel imp option = JOptionPane.showConfirmDialog(null, panel, NbBundle.getMessage(FilesSetPanel.class, "FilesSetPanel.title"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); } while (option == JOptionPane.OK_OPTION && !panel.isValidDefinition()); - // If rule set with same name already exists, do not add to the filesSets hashMap. - if(this.filesSets.containsKey(panel.getFilesSetName())) { + // While adding new ruleset(selectedSet == null), if rule set with same name already exists, do not add to the filesSets hashMap. + // In case of editing an existing ruleset(selectedSet != null), following check is not performed. + if(this.filesSets.containsKey(panel.getFilesSetName()) && selectedSet == null) { MessageNotifyUtil.Message.error(NbBundle.getMessage(this.getClass(), "InterestingItemDefsPanel.doFileSetsDialog.duplicateRuleSet.text", panel.getFilesSetName())); @@ -315,7 +316,7 @@ final class InterestingItemDefsPanel extends IngestModuleGlobalSettingsPanel imp rules.remove(selectedRule.getUuid()); } FilesSet.Rule newRule = new FilesSet.Rule(panel.getRuleName(), panel.getFileNameFilter(), panel.getMetaTypeFilter(), panel.getPathFilter()); - rules.put(Integer.toString(newRule.hashCode()), newRule); + rules.put(newRule.getUuid(), newRule); // Add the new/edited files set definition, replacing any previous // definition with the same name and refreshing the display. From 2069e9b9e88e1c50266f006a3537a8a1ac79813e Mon Sep 17 00:00:00 2001 From: Brian Carrier Date: Thu, 2 Apr 2015 12:10:38 -0400 Subject: [PATCH 7/8] Fix for image gallery to prevent infinite loop --- .../autopsy/imagegallery/gui/navpanel/NavPanel.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/navpanel/NavPanel.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/navpanel/NavPanel.java index 70601742bf..75f98c010c 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/navpanel/NavPanel.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/navpanel/NavPanel.java @@ -42,6 +42,8 @@ import javafx.scene.layout.Priority; import javafx.scene.layout.VBox; import org.apache.commons.lang3.StringUtils; import org.openide.util.Exceptions; +import org.sleuthkit.autopsy.coreutils.ThreadConfined; +import org.sleuthkit.autopsy.coreutils.ThreadConfined.ThreadType; import org.sleuthkit.autopsy.imagegallery.FXMLConstructor; import org.sleuthkit.autopsy.imagegallery.ImageGalleryController; import org.sleuthkit.autopsy.imagegallery.datamodel.DrawableAttribute; @@ -205,6 +207,7 @@ public class NavPanel extends TabPane { * * @param grouping */ + @ThreadConfined(type = ThreadType.JFX) public void setFocusedGroup(DrawableGroup grouping) { List path = groupingToPath(grouping); @@ -212,7 +215,12 @@ public class NavPanel extends TabPane { final GroupTreeItem treeItemForGroup = ((GroupTreeItem) activeTreeProperty.get().getRoot()).getTreeItemForPath(path); if (treeItemForGroup != null) { - Platform.runLater(() -> { + /* When we used to run the below code on the FX thread, it would + * get into infinite loops when the next group button was pressed quickly + * because the udpates became out of order and History could not keep + * track of what was current. Currently (4/2/15), this method is + * already on the FX thread, so it is OK. */ + //Platform.runLater(() -> { TreeItem ti = treeItemForGroup; while (ti != null) { ti.setExpanded(true); @@ -223,7 +231,7 @@ public class NavPanel extends TabPane { activeTreeProperty.get().getSelectionModel().select(treeItemForGroup); activeTreeProperty.get().scrollTo(row); } - }); + //}); } } From 7a51f102b35c40073719fe6c6b276486506967ae Mon Sep 17 00:00:00 2001 From: sidheshenator Date: Thu, 2 Apr 2015 12:16:18 -0400 Subject: [PATCH 8/8] timing test does not impact overall test --- test/script/regression.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/script/regression.py b/test/script/regression.py index ac3649d6ee..156a4f1b07 100755 --- a/test/script/regression.py +++ b/test/script/regression.py @@ -247,8 +247,8 @@ class TestRunner(object): if test_data.main_config.timing: print("Run time test passed: ", test_data.run_time_passed) test_data.overall_passed = (test_data.html_report_passed and - test_data.errors_diff_passed and test_data.db_diff_passed and - test_data.run_time_passed) + test_data.errors_diff_passed and test_data.db_diff_passed) + # test_data.run_time_passed not considered for test_data.overall_passed # otherwise, do the usual else: test_data.overall_passed = (test_data.html_report_passed and