diff --git a/Core/manifest.mf b/Core/manifest.mf index 795341b86d..260c73c542 100644 --- a/Core/manifest.mf +++ b/Core/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.sleuthkit.autopsy.core/10 OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/core/Bundle.properties OpenIDE-Module-Layer: org/sleuthkit/autopsy/core/layer.xml -OpenIDE-Module-Implementation-Version: 21 +OpenIDE-Module-Implementation-Version: 22 OpenIDE-Module-Requires: org.openide.windows.WindowManager AutoUpdate-Show-In-Client: true AutoUpdate-Essential-Module: true diff --git a/Core/nbproject/project.properties b/Core/nbproject/project.properties index 9adbad3e9a..e4903c6ab3 100644 --- a/Core/nbproject/project.properties +++ b/Core/nbproject/project.properties @@ -32,5 +32,5 @@ nbm.homepage=http://www.sleuthkit.org/ nbm.module.author=Brian Carrier nbm.needs.restart=true source.reference.curator-recipes-2.8.0.jar=release/modules/ext/curator-recipes-2.8.0-sources.jar -spec.version.base=10.9 +spec.version.base=10.10 diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties index 1aecff7348..5f43502f8f 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties @@ -27,7 +27,7 @@ Format_OperatingSystem_Value={0} version {1} running on {2} LBL_Copyright=
Autopsy™ is a digital forensics platform based on The Sleuth Kit™ and other tools.
Copyright © 2003-2017.
URL_ON_IMG=http://www.sleuthkit.org/ -URL_ON_HELP=http://sleuthkit.org/autopsy/docs/user-docs/4.5.0/ +URL_ON_HELP=http://sleuthkit.org/autopsy/docs/user-docs/4.6.0/ FILE_FOR_LOCAL_HELP=file:/// INDEX_FOR_LOCAL_HELP=/docs/index.html diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Installer.java b/Core/src/org/sleuthkit/autopsy/corecomponents/Installer.java index c908f3b35d..0ecfec0b30 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Installer.java @@ -31,6 +31,7 @@ import org.openide.modules.ModuleInstall; import org.openide.windows.WindowManager; import org.sleuthkit.autopsy.casemodule.StartupWindowProvider; import org.sleuthkit.autopsy.coreutils.Logger; +import org.sleuthkit.autopsy.coreutils.ModuleSettings; /** * Manages this module's life cycle. Opens the startup dialog during startup. @@ -72,6 +73,8 @@ public class Installer extends ModuleInstall { private void setLookAndFeel() { if (System.getProperty("os.name").toLowerCase().contains("mac")) { //NON-NLS setOSXLookAndFeel(); + }else if (System.getProperty("os.name").toLowerCase().contains("nux")){ + setUnixLookAndFeel(); } } @@ -111,4 +114,24 @@ public class Installer extends ModuleInstall { UIManager.put(entry.getKey(), entry.getValue()); }); } + + private void setModuleSettings(String value) { + if (ModuleSettings.configExists("timeline")) { + ModuleSettings.setConfigSetting("timeline", "enable_timeline", value); + } else { + ModuleSettings.makeConfigFile("timeline"); + ModuleSettings.setConfigSetting("timeline", "enable_timeline", value); + } + } + + private void setUnixLookAndFeel(){ + try { + UIManager.put("swing.boldMetal", Boolean.FALSE); + UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); + setModuleSettings("true"); + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { + logger.log(Level.WARNING, "Error setting crossplatform look-and-feel, setting default look-and-feel",ex); + setModuleSettings("false"); + } + } } diff --git a/Core/src/org/sleuthkit/autopsy/timeline/OpenTimelineAction.java b/Core/src/org/sleuthkit/autopsy/timeline/OpenTimelineAction.java index 4d81571db0..aca5c4e7f7 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/OpenTimelineAction.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/OpenTimelineAction.java @@ -36,6 +36,7 @@ import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.core.Installer; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil; +import org.sleuthkit.autopsy.coreutils.ModuleSettings; import org.sleuthkit.autopsy.coreutils.ThreadConfined; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.BlackboardArtifact; @@ -97,7 +98,10 @@ public final class OpenTimelineAction extends CallableSystemAction { } } setEnabled(false); - } else { + }else if("false".equals(ModuleSettings.getConfigSetting("timeline", "enable_timeline"))) { + Platform.runLater(PromptDialogManager::showTimeLineDisabledMessage); + setEnabled(false); + }else { showTimeline(); } } diff --git a/Core/src/org/sleuthkit/autopsy/timeline/PromptDialogManager.java b/Core/src/org/sleuthkit/autopsy/timeline/PromptDialogManager.java index a216c9366a..a379fc7d8d 100644 --- a/Core/src/org/sleuthkit/autopsy/timeline/PromptDialogManager.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/PromptDialogManager.java @@ -222,5 +222,20 @@ public final class PromptDialogManager { dialog.setHeaderText(Bundle.PromptDialogManager_showTooManyFiles_headerText()); dialog.showAndWait(); } + + @NbBundle.Messages({ + "PromptDialogManager.showTimeLineDisabledMessage.contentText=" + + "Timeline functionality is not available for Linux yet." + + " Timeline will be disabled. ", + "PromptDialogManager.showTimeLineDisabledMessage.headerText="}) + static void showTimeLineDisabledMessage() { + Alert dialog = new Alert(Alert.AlertType.INFORMATION, + Bundle.PromptDialogManager_showTimeLineDisabledMessage_contentText(), ButtonType.OK); + dialog.initModality(Modality.APPLICATION_MODAL); + dialog.setTitle(Bundle.Timeline_dialogs_title()); + setDialogIcons(dialog); + dialog.setHeaderText(Bundle.PromptDialogManager_showTimeLineDisabledMessage_headerText()); + dialog.showAndWait(); + } } diff --git a/Experimental/nbproject/project.xml b/Experimental/nbproject/project.xml index f2bf6d1996..dbd5a31c4c 100644 --- a/Experimental/nbproject/project.xml +++ b/Experimental/nbproject/project.xml @@ -119,7 +119,7 @@ 10 - 10.9 + 10.10 diff --git a/ImageGallery/nbproject/project.xml b/ImageGallery/nbproject/project.xml index 4c961c2a5b..eb907611cf 100644 --- a/ImageGallery/nbproject/project.xml +++ b/ImageGallery/nbproject/project.xml @@ -127,7 +127,7 @@ 10 - 10.9 + 10.10 diff --git a/KeywordSearch/manifest.mf b/KeywordSearch/manifest.mf index 56e7a721f2..60d5379544 100644 --- a/KeywordSearch/manifest.mf +++ b/KeywordSearch/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.sleuthkit.autopsy.keywordsearch/6 -OpenIDE-Module-Implementation-Version: 17 +OpenIDE-Module-Implementation-Version: 18 OpenIDE-Module-Install: org/sleuthkit/autopsy/keywordsearch/Installer.class OpenIDE-Module-Layer: org/sleuthkit/autopsy/keywordsearch/layer.xml OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/keywordsearch/Bundle.properties diff --git a/KeywordSearch/nbproject/project.properties b/KeywordSearch/nbproject/project.properties index ddc825b4d4..600396fb43 100644 --- a/KeywordSearch/nbproject/project.properties +++ b/KeywordSearch/nbproject/project.properties @@ -142,4 +142,4 @@ license.file=../LICENSE-2.0.txt nbm.homepage=http://www.sleuthkit.org/autopsy/ nbm.needs.restart=true source.reference.commons-validator-1.5.1.jar=release/modules/ext/commons-validator-1.5.1-sources.jar -spec.version.base=6.3 +spec.version.base=6.4 diff --git a/KeywordSearch/nbproject/project.xml b/KeywordSearch/nbproject/project.xml index db9ada1b1b..a8b49012cf 100644 --- a/KeywordSearch/nbproject/project.xml +++ b/KeywordSearch/nbproject/project.xml @@ -119,7 +119,7 @@ 10 - 10.9 + 10.10 diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java index 8ce322876a..c9b3a9d8e6 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentViewer.java @@ -54,7 +54,7 @@ public class ExtractedContentViewer implements DataContentViewer { private static final Logger logger = Logger.getLogger(ExtractedContentViewer.class.getName()); private static final BlackboardAttribute.Type TSK_ASSOCIATED_ARTIFACT_TYPE = new BlackboardAttribute.Type(TSK_ASSOCIATED_ARTIFACT); - public static final BlackboardAttribute.Type TSK_ACCOUNT_TYPE = new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ACCOUNT_TYPE); + private static final BlackboardAttribute.Type TSK_ACCOUNT_TYPE = new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ACCOUNT_TYPE); private ExtractedContentPanel panel; private volatile Node currentNode = null; diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Server.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Server.java index dca39b469c..0e9b804757 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Server.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Server.java @@ -56,6 +56,7 @@ import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrInputDocument; +import org.apache.solr.common.params.CoreAdminParams; import org.apache.solr.common.util.NamedList; import org.openide.modules.InstalledFileLocator; import org.openide.modules.Places; @@ -600,7 +601,7 @@ public class Server { // making a status request here instead of just doing solrServer.ping(), because // that doesn't work when there are no cores //TODO handle timeout in cases when some other type of server on that port - CoreAdminRequest.getStatus(null, localSolrServer); + connectToSolrServer(localSolrServer); logger.log(Level.INFO, "Solr server is running"); //NON-NLS } catch (SolrServerException ex) { @@ -1180,7 +1181,11 @@ public class Server { * @throws IOException */ void connectToSolrServer(HttpSolrServer solrServer) throws SolrServerException, IOException { - CoreAdminRequest.getStatus(null, solrServer); + CoreAdminRequest statusRequest = new CoreAdminRequest(); + statusRequest.setCoreName( null ); + statusRequest.setAction( CoreAdminParams.CoreAdminAction.STATUS ); + statusRequest.setIndexInfoNeeded(false); + statusRequest.process(solrServer); } /** diff --git a/NEWS.txt b/NEWS.txt index deb4d42cba..54e0acb883 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,3 +1,33 @@ +---------------- VERSION 4.6.0 -------------- +New Features: +- A new Message content viewer was added to make it easier to view email message contents. +- A new Communications interface was added to make it easier to find messages and relationships. +- Hash sets can be centrally stored and shared in the Central Repository. +- New Encryption Detection module that will flag possibly encrypted files. +- Can more easily run Autopsy from a USB drive and leave few traces on target system. +- Tag definitions now have a "notable" property. The Central Repository uses this to mark files as notable. +- Large slack files are now file typed. +- The maximum number of Solr connections and ingest threads have increased. +- Periodic keyword search will dynamically change based on how long queries are taking. +- Users can change the amount of memory allocated to the application. +- The amount of memory required for processing keyword hits has been reduced. +- Layout of HTML reports has been modified make it easier to open. +- "Databases" was added to File Type by Extension view. +- Users can now enter more information about cases including examiner, organization, etc. +- New dialog to open multi-user cases that allows for searching. +- Auto ingest metrics are collected and displayed in dashboard. +- Auto ingest module that extracts disk images from archive files. +- Keyword search has been made more responsive to both search and ingest job cancellation. +- Number of log files to keep before rollover is now configurable. +- Preliminary changes to make Linux and OS X builds easier. + +Bug Fixes: +- Memory leaks and other issues revealed by fuzzing the SleuthKit have +been fixed. +- Memory issues caused by Tika are fixed (by upgrading to 1.17) +- Assorted small enhancements and bug fixes are included. + + ---------------- VERSION 4.5.0 -------------- - Memory usage has been reduced to improve support for very large cases. - The central repository and correlation engine introduced in version 4.4.1 have diff --git a/RecentActivity/nbproject/project.xml b/RecentActivity/nbproject/project.xml index 07961ef4c1..4b173c70c1 100644 --- a/RecentActivity/nbproject/project.xml +++ b/RecentActivity/nbproject/project.xml @@ -60,7 +60,7 @@ 10 - 10.9 + 10.10 diff --git a/Testing/manifest.mf b/Testing/manifest.mf index e6829a2a04..5134bcc561 100644 --- a/Testing/manifest.mf +++ b/Testing/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.sleuthkit.autopsy.testing/3 -OpenIDE-Module-Implementation-Version: 10 +OpenIDE-Module-Implementation-Version: 11 OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/testing/Bundle.properties diff --git a/Testing/nbproject/project.properties b/Testing/nbproject/project.properties index 7ec0a803eb..2b963e0724 100644 --- a/Testing/nbproject/project.properties +++ b/Testing/nbproject/project.properties @@ -3,4 +3,4 @@ javac.compilerargs=-Xlint -Xlint:-serial license.file=../LICENSE-2.0.txt nbm.homepage=http://www.sleuthkit.org/autopsy/ nbm.needs.restart=true -spec.version.base=1.2 +spec.version.base=1.3 diff --git a/Testing/nbproject/project.xml b/Testing/nbproject/project.xml index e8adf58403..597a356046 100644 --- a/Testing/nbproject/project.xml +++ b/Testing/nbproject/project.xml @@ -47,7 +47,7 @@ 10 - 10.9 + 10.10 diff --git a/docs/doxygen-user/Doxyfile b/docs/doxygen-user/Doxyfile index 858a9bf81a..f2f31448a0 100755 --- a/docs/doxygen-user/Doxyfile +++ b/docs/doxygen-user/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = "Autopsy User Documentation" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 4.5.0 +PROJECT_NUMBER = 4.6.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -1025,7 +1025,7 @@ GENERATE_HTML = YES # The default directory is: html. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_OUTPUT = 4.5.0 +HTML_OUTPUT = 4.6.0 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each # generated HTML page (for example: .htm, .php, .asp). diff --git a/docs/doxygen/Doxyfile b/docs/doxygen/Doxyfile index deb39bd4a4..3f4797ace0 100755 --- a/docs/doxygen/Doxyfile +++ b/docs/doxygen/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = "Autopsy" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 4.5.0 +PROJECT_NUMBER = 4.6.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -1063,7 +1063,7 @@ GENERATE_HTML = YES # The default directory is: html. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_OUTPUT = api-docs/4.5.0/ +HTML_OUTPUT = api-docs/4.6.0/ # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each # generated HTML page (for example: .htm, .php, .asp). diff --git a/nbproject/project.properties b/nbproject/project.properties index d97ffbaecf..0cb7b69b5e 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -4,7 +4,7 @@ app.title=Autopsy ### lowercase version of above app.name=${branding.token} ### if left unset, version will default to today's date -app.version=4.5.0 +app.version=4.6.0 ### build.type must be one of: DEVELOPMENT, RELEASE build.type=RELEASE #build.type=DEVELOPMENT diff --git a/pythonExamples/README.txt b/pythonExamples/README.txt index 1c5eff7270..3564182ec9 100644 --- a/pythonExamples/README.txt +++ b/pythonExamples/README.txt @@ -5,7 +5,7 @@ your needs. See the developer guide for more details and how to use and load the modules. - http://sleuthkit.org/autopsy/docs/api-docs/4.5.0/index.html + http://sleuthkit.org/autopsy/docs/api-docs/4.6.0/index.html Each module in this folder should have a brief description about what they can do. diff --git a/ruleset.xml b/ruleset.xml index 558f99fc38..17e957e8e2 100644 --- a/ruleset.xml +++ b/ruleset.xml @@ -185,7 +185,8 @@ - + diff --git a/thunderbirdparser/nbproject/project.xml b/thunderbirdparser/nbproject/project.xml index a1c9e275f9..2e738ef588 100644 --- a/thunderbirdparser/nbproject/project.xml +++ b/thunderbirdparser/nbproject/project.xml @@ -36,7 +36,7 @@ 10 - 10.9 + 10.10