From e921b7a245c6405b49359b7ef413abc213e50beb Mon Sep 17 00:00:00 2001 From: adam-m Date: Tue, 11 Sep 2012 15:36:21 -0400 Subject: [PATCH 01/19] minor string extract optimization --- .../src/org/sleuthkit/autopsy/coreutils/StringExtract.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CoreUtils/src/org/sleuthkit/autopsy/coreutils/StringExtract.java b/CoreUtils/src/org/sleuthkit/autopsy/coreutils/StringExtract.java index 12e0c1ecf8..62cf8c18a2 100644 --- a/CoreUtils/src/org/sleuthkit/autopsy/coreutils/StringExtract.java +++ b/CoreUtils/src/org/sleuthkit/autopsy/coreutils/StringExtract.java @@ -237,7 +237,7 @@ public class StringExtract { byteVal += b[0]; //skip if beyond range - if (byteVal > StringExtractUnicodeTable.getUnicodeTableSize() - 1) { + if (byteVal > StringExtractUnicodeTable.UNICODE_TABLE_SIZE - 1) { break; } @@ -421,7 +421,7 @@ public class StringExtract { curOffset += chBytes; //skip if beyond range - if (ch > StringExtractUnicodeTable.getUnicodeTableSize() - 1) { + if (ch > StringExtractUnicodeTable.UNICODE_TABLE_SIZE - 1) { break; } From 2b1de8f77f3787dc33c7008d3ec30f3127b75b7f Mon Sep 17 00:00:00 2001 From: Brian Carrier Date: Wed, 12 Sep 2012 14:01:16 -0400 Subject: [PATCH 02/19] Updated docs to have more structure in pages. --- docs/doxygen/Doxyfile | 5 +++-- docs/doxygen/blackboard.dox | 11 +++++++++++ docs/doxygen/main.dox | 7 +++++++ docs/doxygen/modContent.dox | 6 ++++++ docs/doxygen/modDev.dox | 9 +++++++++ docs/doxygen/modIngest.dox | 6 ++++++ docs/doxygen/modReport.dox | 6 ++++++ docs/doxygen/modResult.dox | 6 ++++++ docs/doxygen/platformConcepts.dox | 6 ++++++ docs/doxygen/{design.dox => workflow.dox} | 2 +- 10 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 docs/doxygen/blackboard.dox create mode 100644 docs/doxygen/modContent.dox create mode 100644 docs/doxygen/modDev.dox create mode 100644 docs/doxygen/modIngest.dox create mode 100644 docs/doxygen/modReport.dox create mode 100644 docs/doxygen/modResult.dox create mode 100644 docs/doxygen/platformConcepts.dox rename docs/doxygen/{design.dox => workflow.dox} (99%) diff --git a/docs/doxygen/Doxyfile b/docs/doxygen/Doxyfile index 03cb3a7543..a9f0eb074c 100644 --- a/docs/doxygen/Doxyfile +++ b/docs/doxygen/Doxyfile @@ -655,8 +655,9 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = main.dox \ - design.dox \ +INPUT = main.dox blackboard.dox workflow.dox \ + modContent.dox modDev.dox modIngest.dox modReport.dox \ + modResult.dox platformConcepts.dox \ regressionTesting.dox \ ../../Case/src \ ../../CoreComponentInterfaces/src \ diff --git a/docs/doxygen/blackboard.dox b/docs/doxygen/blackboard.dox new file mode 100644 index 0000000000..06c68019dd --- /dev/null +++ b/docs/doxygen/blackboard.dox @@ -0,0 +1,11 @@ +/*! \page blackboard_page The Blackboard + +What is the blackboard + +What is it used for + +How do modules get access to it. + +Refer to C++ page to reduce duplication. + +*/ diff --git a/docs/doxygen/main.dox b/docs/doxygen/main.dox index 843e440b1d..7e361a2ad0 100644 --- a/docs/doxygen/main.dox +++ b/docs/doxygen/main.dox @@ -4,6 +4,13 @@ Autopsy has been designed as a platform for open source tools besides just The Sleuth Kit. This document is for developers who want to add functionality into Autopsy. This could be in the form of enhancing the existing functionality or by making a module that plugs into it and you may distribute from your own site or push it back into the base distribution. - \subpage design_page +- \subpage framework_page (Basic concepts of framework and types of modules) +- \subpage blackboard_page (what is the blackboard) +- \subpage mod_dev_page (Developing modules:get dev env setup, getting sersvices, properties etc.) +- \subpage mod_ingest_page (developing ingest modules) +- \subpage mod_report_page (developing report modules) +- \subpage mod_content_page (Developing content viewer modules) +- \subpage mod_result_page (developing result viewers) - \subpage regression_test_page */ diff --git a/docs/doxygen/modContent.dox b/docs/doxygen/modContent.dox new file mode 100644 index 0000000000..472b4e3023 --- /dev/null +++ b/docs/doxygen/modContent.dox @@ -0,0 +1,6 @@ +/*! \page mod_content_page Developing Content Viewer Modules + + +How to write a content viewer module. + +*/ diff --git a/docs/doxygen/modDev.dox b/docs/doxygen/modDev.dox new file mode 100644 index 0000000000..ff364ead83 --- /dev/null +++ b/docs/doxygen/modDev.dox @@ -0,0 +1,9 @@ +/*! \page mod_dev_page Developing Module Overview + +How to get dev env setup (platform, etc.) + +How to get access to services and what services exist. + +How to set properties, etc. + +*/ diff --git a/docs/doxygen/modIngest.dox b/docs/doxygen/modIngest.dox new file mode 100644 index 0000000000..34eac2541d --- /dev/null +++ b/docs/doxygen/modIngest.dox @@ -0,0 +1,6 @@ +/*! \page mod_ingest_page Developing Ingest Modules + + +How to write an ingest module. + +*/ diff --git a/docs/doxygen/modReport.dox b/docs/doxygen/modReport.dox new file mode 100644 index 0000000000..89cf46f9aa --- /dev/null +++ b/docs/doxygen/modReport.dox @@ -0,0 +1,6 @@ +/*! \page mod_report_page Developing Report Modules + + +How to write a report module. + +*/ diff --git a/docs/doxygen/modResult.dox b/docs/doxygen/modResult.dox new file mode 100644 index 0000000000..c03691d6a1 --- /dev/null +++ b/docs/doxygen/modResult.dox @@ -0,0 +1,6 @@ +/*! \page mod_result_page Developing Result Viewer Modules + + +How to write a result viewer module. + +*/ diff --git a/docs/doxygen/platformConcepts.dox b/docs/doxygen/platformConcepts.dox new file mode 100644 index 0000000000..e7178dd996 --- /dev/null +++ b/docs/doxygen/platformConcepts.dox @@ -0,0 +1,6 @@ +/*! \page framework_page Autopsy Platform Concepts + +What frameworks / modules exist + + +*/ diff --git a/docs/doxygen/design.dox b/docs/doxygen/workflow.dox similarity index 99% rename from docs/doxygen/design.dox rename to docs/doxygen/workflow.dox index 63b56e9c08..2791900a21 100644 --- a/docs/doxygen/design.dox +++ b/docs/doxygen/workflow.dox @@ -1,4 +1,4 @@ -/*! \page design_page General Design +/*! \page design_page General Workflow and Design \section design_overview Overview This section outlines Autopsy design from the typical analysis work flow perspective. From 9961887ef1e8c8ac16135784fd16f9bc56e4abe6 Mon Sep 17 00:00:00 2001 From: adam-m Date: Wed, 12 Sep 2012 14:47:14 -0400 Subject: [PATCH 03/19] Add user option to extract utf8/16 in ingest. Add option API to extractor. --- .../autopsy/coreutils/StringExtract.java | 70 ++++++++++--- .../keywordsearch/AbstractFileExtract.java | 21 ++++ .../AbstractFileHtmlExtract.java | 11 +++ .../AbstractFileStringExtract.java | 23 ++++- .../AbstractFileStringIntStream.java | 18 +++- .../AbstractFileTikaTextExtract.java | 11 +++ .../autopsy/keywordsearch/Bundle.properties | 2 + .../KeywordSearchConfigurationPanel.java | 2 +- .../KeywordSearchConfigurationPanel3.form | 48 +++++++-- .../KeywordSearchConfigurationPanel3.java | 99 +++++++++++++++++-- .../KeywordSearchIngestModule.java | 31 ++++++ 11 files changed, 302 insertions(+), 34 deletions(-) diff --git a/CoreUtils/src/org/sleuthkit/autopsy/coreutils/StringExtract.java b/CoreUtils/src/org/sleuthkit/autopsy/coreutils/StringExtract.java index 62cf8c18a2..2018c9811a 100644 --- a/CoreUtils/src/org/sleuthkit/autopsy/coreutils/StringExtract.java +++ b/CoreUtils/src/org/sleuthkit/autopsy/coreutils/StringExtract.java @@ -50,6 +50,8 @@ public class StringExtract { * currently enabled scripts */ private List