diff --git a/Core/manifest.mf b/Core/manifest.mf index 2070e22853..c93cac723e 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: 17 +OpenIDE-Module-Implementation-Version: 18 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 f3cf2e1903..c3a40f5a77 100644 --- a/Core/nbproject/project.properties +++ b/Core/nbproject/project.properties @@ -23,5 +23,5 @@ nbm.homepage=http://www.sleuthkit.org/ nbm.module.author=Brian Carrier nbm.needs.restart=true source.reference.metadata-extractor-2.8.1.jar=release/modules/ext/metadata-extractor-2.8.1-src.zip!/Source/ -spec.version.base=10.6 +spec.version.base=10.7 diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/ImageDSProcessor.java b/Core/src/org/sleuthkit/autopsy/casemodule/ImageDSProcessor.java index 2e9486c20c..1cceb7ab12 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/ImageDSProcessor.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/ImageDSProcessor.java @@ -20,7 +20,6 @@ package org.sleuthkit.autopsy.casemodule; import java.io.File; import java.nio.file.Path; -import java.nio.file.Paths; import javax.swing.JPanel; import java.util.ArrayList; import java.util.Calendar; @@ -30,11 +29,11 @@ import javax.swing.filechooser.FileFilter; import org.openide.util.NbBundle; import org.openide.util.lookup.ServiceProvider; import org.openide.util.lookup.ServiceProviders; -import org.sleuthkit.autopsy.corecomponentinterfaces.AutomatedIngestDataSourceProcessor; import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorProgressMonitor; import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback; import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor; import org.sleuthkit.autopsy.coreutils.DataSourceUtils; +import org.sleuthkit.autopsy.corecomponentinterfaces.AutoIngestDataSourceProcessor; /** * A image file data source processor that implements the DataSourceProcessor @@ -44,17 +43,17 @@ import org.sleuthkit.autopsy.coreutils.DataSourceUtils; */ @ServiceProviders(value={ @ServiceProvider(service=DataSourceProcessor.class), - @ServiceProvider(service=AutomatedIngestDataSourceProcessor.class)} + @ServiceProvider(service=AutoIngestDataSourceProcessor.class)} ) -public class ImageDSProcessor implements AutomatedIngestDataSourceProcessor { +public class ImageDSProcessor implements DataSourceProcessor, AutoIngestDataSourceProcessor { private final static String DATA_SOURCE_TYPE = NbBundle.getMessage(ImageDSProcessor.class, "ImageDSProcessor.dsType.text"); private static final List allExt = new ArrayList<>(); private static final GeneralFilter rawFilter = new GeneralFilter(GeneralFilter.RAW_IMAGE_EXTS, GeneralFilter.RAW_IMAGE_DESC); private static final GeneralFilter encaseFilter = new GeneralFilter(GeneralFilter.ENCASE_IMAGE_EXTS, GeneralFilter.ENCASE_IMAGE_DESC); private static final GeneralFilter virtualMachineFilter = new GeneralFilter(GeneralFilter.VIRTUAL_MACHINE_EXTS, GeneralFilter.VIRTUAL_MACHINE_DESC); - private static final String allDesc = NbBundle.getMessage(ImageDSProcessor.class, "ImageDSProcessor.allDesc.text"); - private static final GeneralFilter allFilter = new GeneralFilter(allExt, allDesc); + private static final String ALL_DESC = NbBundle.getMessage(ImageDSProcessor.class, "ImageDSProcessor.allDesc.text"); + private static final GeneralFilter allFilter = new GeneralFilter(allExt, ALL_DESC); private static final List filtersList = new ArrayList<>(); private final ImageFilePanel configPanel; private AddImageTask addImageTask; @@ -218,6 +217,48 @@ public class ImageDSProcessor implements AutomatedIngestDataSourceProcessor { setDataSourceOptionsCalled = false; } + private static boolean isAcceptedByFiler(File file, List filters) { + for (FileFilter filter : filters) { + if (filter.accept(file)) { + return true; + } + } + return false; + } + + @Override + public int canProcess(Path dataSourcePath) throws AutoIngestDataSourceProcessorException { + + // check file extension for supported types + if (!isAcceptedByFiler(dataSourcePath.toFile(), filtersList)) { + return 0; + } + + try { + // verify that the image has a file system that TSK can process + Case currentCase = Case.getCurrentCase(); + if (!DataSourceUtils.imageHasFileSystem(dataSourcePath)) { + // image does not have a file system that TSK can process + return 0; + } + } catch (Exception ex) { + throw new AutoIngestDataSourceProcessorException("Exception inside canProcess() method", ex); + } + + // able to process the data source + return 100; + } + + @Override + public void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) throws AutoIngestDataSourceProcessorException { + this.deviceId = deviceId; + this.imagePath = dataSourcePath.toString(); + this.timeZone = Calendar.getInstance().getTimeZone().getID(); + this.ignoreFatOrphanFiles = false; + setDataSourceOptionsCalled = true; + run(deviceId, dataSourcePath.toString(), timeZone, ignoreFatOrphanFiles, progressMonitor, callBack); + } + /** * Sets the configuration of the data source processor without using the * selection and configuration panel. @@ -239,46 +280,5 @@ public class ImageDSProcessor implements AutomatedIngestDataSourceProcessor { this.ignoreFatOrphanFiles = ignoreFatOrphanFiles; setDataSourceOptionsCalled = true; } - - private static boolean isAcceptedByFiler(File file, List filters) { - for (FileFilter filter : filters) { - if (filter.accept(file)) { - return true; - } - } - return false; - } - - @Override - public int canProcess(Path dataSourcePath) throws AutomatedIngestDataSourceProcessorException { - - // check file extension for supported types - if (!isAcceptedByFiler(dataSourcePath.toFile(), filtersList)) { - return 0; - } - - try { - // verify that the image has a file system that TSK can process - Case currentCase = Case.getCurrentCase(); - if (!DataSourceUtils.imageHasFileSystem(dataSourcePath)) { - // image does not have a file system that TSK can process - return 0; - } - } catch (Exception ex) { - throw new AutomatedIngestDataSourceProcessorException("Exception inside canProcess() method", ex); - } - - // able to process the data source - return 100; - } - - @Override - public void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) throws AutomatedIngestDataSourceProcessorException { - this.deviceId = deviceId; - this.imagePath = dataSourcePath.toString(); - this.timeZone = Calendar.getInstance().getTimeZone().getID(); - this.ignoreFatOrphanFiles = false; - setDataSourceOptionsCalled = true; - run(deviceId, dataSourcePath.toString(), timeZone, ignoreFatOrphanFiles, progressMonitor, callBack); - } + } diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskDSProcessor.java b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskDSProcessor.java index fc64a244ea..015f7751ea 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskDSProcessor.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskDSProcessor.java @@ -26,11 +26,11 @@ import javax.swing.JPanel; import org.openide.util.NbBundle; import org.openide.util.lookup.ServiceProvider; import org.openide.util.lookup.ServiceProviders; -import org.sleuthkit.autopsy.corecomponentinterfaces.AutomatedIngestDataSourceProcessor; import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback; import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorProgressMonitor; import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor; import org.sleuthkit.autopsy.coreutils.DriveUtils; +import org.sleuthkit.autopsy.corecomponentinterfaces.AutoIngestDataSourceProcessor; /** * A local drive data source processor that implements the DataSourceProcessor @@ -40,9 +40,9 @@ import org.sleuthkit.autopsy.coreutils.DriveUtils; */ @ServiceProviders(value={ @ServiceProvider(service=DataSourceProcessor.class), - @ServiceProvider(service=AutomatedIngestDataSourceProcessor.class)} + @ServiceProvider(service=AutoIngestDataSourceProcessor.class)} ) -public class LocalDiskDSProcessor implements AutomatedIngestDataSourceProcessor { +public class LocalDiskDSProcessor implements DataSourceProcessor, AutoIngestDataSourceProcessor { private static final String DATA_SOURCE_TYPE = NbBundle.getMessage(LocalDiskDSProcessor.class, "LocalDiskDSProcessor.dsType.text"); private final LocalDiskPanel configPanel; @@ -196,6 +196,37 @@ public class LocalDiskDSProcessor implements AutomatedIngestDataSourceProcessor setDataSourceOptionsCalled = false; } + @Override + public int canProcess(Path dataSourcePath) throws AutoIngestDataSourceProcessorException { + + // verify that the data source is not a file or a directory + File file = dataSourcePath.toFile(); + // ELTODO this needs to be tested more. should I keep isDirectory or just test for isFile? + if (file.isFile() || file.isDirectory()) { + return 0; + } + + // check whether data source is an existing disk or partition + // ELTODO this needs to be tested more. do these methods actually work correctly? + // or should I use PlatformUtil.getPhysicalDrives() and PlatformUtil.getPartitions() instead? + String path = dataSourcePath.toString(); + if ( (DriveUtils.isPhysicalDrive(path) || DriveUtils.isPartition(path)) && DriveUtils.driveExists(path) ) { + return 90; + } + + return 0; + } + + @Override + public void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) throws AutoIngestDataSourceProcessorException { + this.deviceId = deviceId; + this.drivePath = dataSourcePath.toString(); + this.timeZone = Calendar.getInstance().getTimeZone().getID(); + this.ignoreFatOrphanFiles = false; + setDataSourceOptionsCalled = true; + run(deviceId, drivePath, timeZone, ignoreFatOrphanFiles, progressMonitor, callBack); + } + /** * Sets the configuration of the data source processor without using the * configuration panel. @@ -217,36 +248,5 @@ public class LocalDiskDSProcessor implements AutomatedIngestDataSourceProcessor this.ignoreFatOrphanFiles = ignoreFatOrphanFiles; setDataSourceOptionsCalled = true; } - - @Override - public int canProcess(Path dataSourcePath) throws AutomatedIngestDataSourceProcessorException { - - // verify that the data source is not a file or a directory - File file = dataSourcePath.toFile(); - // ELTODO this needs to be tested more. should I keep isDirectory or just test for isFile? - if (file.isFile() || file.isDirectory()) { - return 0; - } - - // check whether data source is an existing disk or partition - // ELTODO this needs to be tested more. do these methods actually work correctly? - // or should I use PlatformUtil.getPhysicalDrives() and PlatformUtil.getPartitions() instead? - String path = dataSourcePath.toString(); - if ( (DriveUtils.isPhysicalDrive(path) || DriveUtils.isPartition(path)) && DriveUtils.driveExists(path) ) { - return 90; - } - - return 0; - } - - @Override - public void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) throws AutomatedIngestDataSourceProcessorException { - this.deviceId = deviceId; - this.drivePath = dataSourcePath.toString(); - this.timeZone = Calendar.getInstance().getTimeZone().getID(); - this.ignoreFatOrphanFiles = false; - setDataSourceOptionsCalled = true; - run(deviceId, drivePath, timeZone, ignoreFatOrphanFiles, progressMonitor, callBack); - } - + } diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/LocalFilesDSProcessor.java b/Core/src/org/sleuthkit/autopsy/casemodule/LocalFilesDSProcessor.java index 99b0ea67bd..9c19cb2cfc 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/LocalFilesDSProcessor.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/LocalFilesDSProcessor.java @@ -26,10 +26,10 @@ import javax.swing.JPanel; import org.openide.util.NbBundle; import org.openide.util.lookup.ServiceProvider; import org.openide.util.lookup.ServiceProviders; -import org.sleuthkit.autopsy.corecomponentinterfaces.AutomatedIngestDataSourceProcessor; import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback; import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorProgressMonitor; import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor; +import org.sleuthkit.autopsy.corecomponentinterfaces.AutoIngestDataSourceProcessor; /** * A local/logical files and/or directories data source processor that @@ -39,9 +39,9 @@ import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor; */ @ServiceProviders(value={ @ServiceProvider(service=DataSourceProcessor.class), - @ServiceProvider(service=AutomatedIngestDataSourceProcessor.class)} + @ServiceProvider(service=AutoIngestDataSourceProcessor.class)} ) -public class LocalFilesDSProcessor implements AutomatedIngestDataSourceProcessor { +public class LocalFilesDSProcessor implements DataSourceProcessor, AutoIngestDataSourceProcessor { private static final String DATA_SOURCE_TYPE = NbBundle.getMessage(LocalFilesDSProcessor.class, "LocalFilesDSProcessor.dsType"); private final LocalFilesPanel configPanel; @@ -185,6 +185,20 @@ public class LocalFilesDSProcessor implements AutomatedIngestDataSourceProcessor setDataSourceOptionsCalled = false; } + @Override + public int canProcess(Path dataSourcePath) throws AutoIngestDataSourceProcessorException { + // Local files DSP can process any file by simply adding it as a logical file. + // It should return lowest possible non-zero confidence level and be treated + // as the "option of last resort" for auto ingest purposes + return 1; + } + + @Override + public void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) throws AutoIngestDataSourceProcessorException { + this.localFilePaths = Arrays.asList(new String[]{dataSourcePath.toString()}); + run(deviceId, deviceId, this.localFilePaths, progressMonitor, callBack); + } + /** * Sets the configuration of the data source processor without using the * configuration panel. The data source processor will assign a UUID to the @@ -205,19 +219,5 @@ public class LocalFilesDSProcessor implements AutomatedIngestDataSourceProcessor this.localFilePaths = Arrays.asList(paths.split(",")); setDataSourceOptionsCalled = true; } - - @Override - public int canProcess(Path dataSourcePath) throws AutomatedIngestDataSourceProcessorException { - // Local files DSP can process any file by simply adding it as a logical file. - // It should return lowest possible non-zero confidence level and be treated - // as the "option of last resort" for auto ingest purposes - return 1; - } - - @Override - public void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) throws AutomatedIngestDataSourceProcessorException { - this.localFilePaths = Arrays.asList(new String[]{dataSourcePath.toString()}); - run(deviceId, deviceId, this.localFilePaths, progressMonitor, callBack); - } - + } diff --git a/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java b/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java index 473c8fe1ab..519a1efda4 100755 --- a/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java +++ b/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java @@ -40,12 +40,12 @@ import org.sleuthkit.datamodel.TskData.DbType; */ public final class UserPreferences { - private static final boolean isWindowsOS = PlatformUtil.isWindowsOS(); + private static final boolean IS_WINDOWS_OS = PlatformUtil.isWindowsOS(); private static final Preferences preferences = NbPreferences.forModule(UserPreferences.class); public static final String KEEP_PREFERRED_VIEWER = "KeepPreferredViewer"; // NON-NLS - public static final String HIDE_KNOWN_FILES_IN_DATA_SOURCES_TREE = "HideKnownFilesInDataSourcesTree"; //NON-NLS + public static final String HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE = "HideKnownFilesInDataSourcesTree"; //NON-NLS public static final String HIDE_KNOWN_FILES_IN_VIEWS_TREE = "HideKnownFilesInViewsTree"; //NON-NLS - public static final String HIDE_SLACK_FILES_IN_DATA_SOURCES_TREE = "HideSlackFilesInDataSourcesTree"; //NON-NLS + public static final String HIDE_SLACK_FILES_IN_DATA_SRCS_TREE = "HideSlackFilesInDataSourcesTree"; //NON-NLS public static final String HIDE_SLACK_FILES_IN_VIEWS_TREE = "HideSlackFilesInViewsTree"; //NON-NLS public static final String DISPLAY_TIMES_IN_LOCAL_TIME = "DisplayTimesInLocalTime"; //NON-NLS public static final String NUMBER_OF_FILE_INGEST_THREADS = "NumberOfFileIngestThreads"; //NON-NLS @@ -111,11 +111,11 @@ public final class UserPreferences { } public static boolean hideKnownFilesInDataSourcesTree() { - return preferences.getBoolean(HIDE_KNOWN_FILES_IN_DATA_SOURCES_TREE, false); + return preferences.getBoolean(HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE, false); } public static void setHideKnownFilesInDataSourcesTree(boolean value) { - preferences.putBoolean(HIDE_KNOWN_FILES_IN_DATA_SOURCES_TREE, value); + preferences.putBoolean(HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE, value); } public static boolean hideKnownFilesInViewsTree() { @@ -127,11 +127,11 @@ public final class UserPreferences { } public static boolean hideSlackFilesInDataSourcesTree() { - return preferences.getBoolean(HIDE_SLACK_FILES_IN_DATA_SOURCES_TREE, true); + return preferences.getBoolean(HIDE_SLACK_FILES_IN_DATA_SRCS_TREE, true); } public static void setHideSlackFilesInDataSourcesTree(boolean value) { - preferences.putBoolean(HIDE_SLACK_FILES_IN_DATA_SOURCES_TREE, value); + preferences.putBoolean(HIDE_SLACK_FILES_IN_DATA_SRCS_TREE, value); } public static boolean hideSlackFilesInViewsTree() { @@ -198,7 +198,7 @@ public final class UserPreferences { } public static boolean getIsMultiUserModeEnabled() { - if (!isWindowsOS) { + if (!IS_WINDOWS_OS) { return false; } return preferences.getBoolean(IS_MULTI_USER_MODE_ENABLED, false); diff --git a/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/AutomatedIngestDataSourceProcessor.java b/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/AutoIngestDataSourceProcessor.java similarity index 86% rename from Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/AutomatedIngestDataSourceProcessor.java rename to Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/AutoIngestDataSourceProcessor.java index 9b7b0e4d6e..f7d50235da 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/AutomatedIngestDataSourceProcessor.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/AutoIngestDataSourceProcessor.java @@ -26,7 +26,7 @@ import java.nio.file.Path; * * @author elivis */ -public interface AutomatedIngestDataSourceProcessor extends DataSourceProcessor { +public interface AutoIngestDataSourceProcessor extends DataSourceProcessor { /** * Indicates whether the DataSourceProcessor is capable of processing the @@ -44,7 +44,7 @@ public interface AutomatedIngestDataSourceProcessor extends DataSourceProcessor * @throws * org.sleuthkit.autopsy.corecomponentinterfaces.AutomatedIngestDataSourceProcessor.AutomatedIngestDataSourceProcessorException */ - int canProcess(Path dataSourcePath) throws AutomatedIngestDataSourceProcessorException; + int canProcess(Path dataSourcePath) throws AutoIngestDataSourceProcessorException; /** * Adds a data source to the case database using a background task in a @@ -66,20 +66,20 @@ public interface AutomatedIngestDataSourceProcessor extends DataSourceProcessor * @throws * org.sleuthkit.autopsy.corecomponentinterfaces.AutomatedIngestDataSourceProcessor.AutomatedIngestDataSourceProcessorException */ - void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) throws AutomatedIngestDataSourceProcessorException; + void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) throws AutoIngestDataSourceProcessorException; /** * A custom exception for the use of AutomatedIngestDataSourceProcessor. */ - public class AutomatedIngestDataSourceProcessorException extends Exception { + public class AutoIngestDataSourceProcessorException extends Exception { private static final long serialVersionUID = 1L; - public AutomatedIngestDataSourceProcessorException(String message) { + public AutoIngestDataSourceProcessorException(String message) { super(message); } - public AutomatedIngestDataSourceProcessorException(String message, Throwable cause) { + public AutoIngestDataSourceProcessorException(String message, Throwable cause) { super(message, cause); } } diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties index 824f195ca4..7f5cde3851 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-2016.
URL_ON_IMG=http://www.sleuthkit.org/ -URL_ON_HELP=http://sleuthkit.org/autopsy/docs/user-docs/4.1/ +URL_ON_HELP=http://sleuthkit.org/autopsy/docs/user-docs/4.3/ FILE_FOR_LOCAL_HELP=file:/// INDEX_FOR_LOCAL_HELP=/docs/index.html diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/KnownFileFilterNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/KnownFileFilterNode.java index 9a06ed470f..8a6dc86f3f 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/KnownFileFilterNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/KnownFileFilterNode.java @@ -46,7 +46,7 @@ public class KnownFileFilterNode extends FilterNode { @Override public void preferenceChange(PreferenceChangeEvent evt) { switch (evt.getKey()) { - case UserPreferences.HIDE_KNOWN_FILES_IN_DATA_SOURCES_TREE: + case UserPreferences.HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE: filterFromDataSources = UserPreferences.hideKnownFilesInDataSourcesTree(); break; case UserPreferences.HIDE_KNOWN_FILES_IN_VIEWS_TREE: diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/SlackFileFilterNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/SlackFileFilterNode.java index 54ce0daad5..af43970e8c 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/SlackFileFilterNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/SlackFileFilterNode.java @@ -45,7 +45,7 @@ public class SlackFileFilterNode extends FilterNode { @Override public void preferenceChange(PreferenceChangeEvent evt) { switch (evt.getKey()) { - case UserPreferences.HIDE_SLACK_FILES_IN_DATA_SOURCES_TREE: + case UserPreferences.HIDE_SLACK_FILES_IN_DATA_SRCS_TREE: filterFromDataSources = UserPreferences.hideSlackFilesInDataSourcesTree(); break; case UserPreferences.HIDE_SLACK_FILES_IN_VIEWS_TREE: diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java b/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java index 496831fa88..20ce2db7e8 100644 --- a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java +++ b/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java @@ -130,8 +130,8 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat @Override public void preferenceChange(PreferenceChangeEvent evt) { switch (evt.getKey()) { - case UserPreferences.HIDE_KNOWN_FILES_IN_DATA_SOURCES_TREE: - case UserPreferences.HIDE_SLACK_FILES_IN_DATA_SOURCES_TREE: + case UserPreferences.HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE: + case UserPreferences.HIDE_SLACK_FILES_IN_DATA_SRCS_TREE: refreshContentTreeSafe(); break; case UserPreferences.HIDE_KNOWN_FILES_IN_VIEWS_TREE: diff --git a/Experimental/nbproject/project.xml b/Experimental/nbproject/project.xml index 7709852e77..8ab88c13b5 100644 --- a/Experimental/nbproject/project.xml +++ b/Experimental/nbproject/project.xml @@ -93,7 +93,7 @@ 10 - 10.5 + 10.7 diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestManager.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestManager.java index eec64f2b84..e213633e07 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestManager.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/AutoIngestManager.java @@ -120,13 +120,13 @@ import static org.sleuthkit.autopsy.experimental.autoingest.ManifestNodeData.Pro import static org.sleuthkit.autopsy.experimental.autoingest.ManifestNodeData.ProcessingStatus.PROCESSING; import static org.sleuthkit.autopsy.experimental.autoingest.ManifestNodeData.ProcessingStatus.COMPLETED; import static org.sleuthkit.autopsy.experimental.autoingest.ManifestNodeData.ProcessingStatus.DELETED; -import org.sleuthkit.autopsy.corecomponentinterfaces.AutomatedIngestDataSourceProcessor; -import org.sleuthkit.autopsy.corecomponentinterfaces.AutomatedIngestDataSourceProcessor.AutomatedIngestDataSourceProcessorException; +import org.sleuthkit.autopsy.corecomponentinterfaces.AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException; import org.sleuthkit.autopsy.coreutils.FileUtil; import org.sleuthkit.autopsy.experimental.autoingest.AutoIngestAlertFile.AutoIngestAlertFileException; import org.sleuthkit.autopsy.experimental.autoingest.AutoIngestJobLogger.AutoIngestJobLoggerException; import org.sleuthkit.autopsy.experimental.configuration.SharedConfiguration.SharedConfigurationException; import org.sleuthkit.autopsy.ingest.IngestJob.CancellationReason; +import org.sleuthkit.autopsy.corecomponentinterfaces.AutoIngestDataSourceProcessor; /** * An auto ingest manager is responsible for processing auto ingest jobs defined @@ -1426,7 +1426,7 @@ public final class AutoIngestManager extends Observable implements PropertyChang errorState = ErrorState.ALERT_FILE_ERROR; } else if (ex instanceof AutoIngestJobLoggerException) { errorState = ErrorState.JOB_LOGGER_ERROR; - } else if (ex instanceof AutomatedIngestDataSourceProcessorException) { + } else if (ex instanceof AutoIngestDataSourceProcessorException) { errorState = ErrorState.DATA_SOURCE_PROCESSOR_ERROR; } else if (ex instanceof InterruptedException) { throw (InterruptedException) ex; @@ -1607,7 +1607,7 @@ public final class AutoIngestManager extends Observable implements PropertyChang * i.e., if auto ingest is * shutting down. */ - private void processJobs() throws CoordinationServiceException, SharedConfigurationException, ServicesMonitorException, DatabaseServerDownException, KeywordSearchServerDownException, CaseManagementException, AnalysisStartupException, FileExportException, AutoIngestAlertFileException, AutoIngestJobLoggerException, InterruptedException, AutomatedIngestDataSourceProcessor.AutomatedIngestDataSourceProcessorException { + private void processJobs() throws CoordinationServiceException, SharedConfigurationException, ServicesMonitorException, DatabaseServerDownException, KeywordSearchServerDownException, CaseManagementException, AnalysisStartupException, FileExportException, AutoIngestAlertFileException, AutoIngestJobLoggerException, InterruptedException, AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException { SYS_LOGGER.log(Level.INFO, "Started processing pending jobs queue"); Lock manifestLock = JobProcessingTask.this.dequeueAndLockNextJob(); while (null != manifestLock) { @@ -1784,7 +1784,7 @@ public final class AutoIngestManager extends Observable implements PropertyChang * i.e., if auto ingest is * shutting down. */ - private void processJob() throws CoordinationServiceException, SharedConfigurationException, ServicesMonitorException, DatabaseServerDownException, KeywordSearchServerDownException, CaseManagementException, AnalysisStartupException, FileExportException, AutoIngestAlertFileException, AutoIngestJobLoggerException, InterruptedException, AutomatedIngestDataSourceProcessor.AutomatedIngestDataSourceProcessorException { + private void processJob() throws CoordinationServiceException, SharedConfigurationException, ServicesMonitorException, DatabaseServerDownException, KeywordSearchServerDownException, CaseManagementException, AnalysisStartupException, FileExportException, AutoIngestAlertFileException, AutoIngestJobLoggerException, InterruptedException, AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException { Manifest manifest = currentJob.getManifest(); String manifestPath = manifest.getFilePath().toString(); ManifestNodeData nodeData = new ManifestNodeData(coordinationService.getNodeData(CoordinationService.CategoryNode.MANIFESTS, manifestPath)); @@ -1873,7 +1873,7 @@ public final class AutoIngestManager extends Observable implements PropertyChang * i.e., if auto ingest is * shutting down. */ - private void attemptJob() throws CoordinationServiceException, SharedConfigurationException, ServicesMonitorException, DatabaseServerDownException, KeywordSearchServerDownException, CaseManagementException, AnalysisStartupException, FileExportException, AutoIngestAlertFileException, AutoIngestJobLoggerException, InterruptedException, AutomatedIngestDataSourceProcessor.AutomatedIngestDataSourceProcessorException { + private void attemptJob() throws CoordinationServiceException, SharedConfigurationException, ServicesMonitorException, DatabaseServerDownException, KeywordSearchServerDownException, CaseManagementException, AnalysisStartupException, FileExportException, AutoIngestAlertFileException, AutoIngestJobLoggerException, InterruptedException, AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException { updateConfiguration(); if (currentJob.isCancelled() || jobProcessingTaskFuture.isCancelled()) { return; @@ -2045,7 +2045,7 @@ public final class AutoIngestManager extends Observable implements PropertyChang * while blocked, i.e., if auto * ingest is shutting down. */ - private void runIngestForJob(Case caseForJob) throws CoordinationServiceException, AnalysisStartupException, FileExportException, AutoIngestAlertFileException, AutoIngestJobLoggerException, InterruptedException, AutomatedIngestDataSourceProcessor.AutomatedIngestDataSourceProcessorException { + private void runIngestForJob(Case caseForJob) throws CoordinationServiceException, AnalysisStartupException, FileExportException, AutoIngestAlertFileException, AutoIngestJobLoggerException, InterruptedException, AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException { Manifest manifest = currentJob.getManifest(); String manifestPath = manifest.getFilePath().toString(); try { @@ -2085,7 +2085,7 @@ public final class AutoIngestManager extends Observable implements PropertyChang * while blocked, i.e., if auto * ingest is shutting down. */ - private void ingestDataSource(Case caseForJob) throws AnalysisStartupException, FileExportException, AutoIngestAlertFileException, AutoIngestJobLoggerException, InterruptedException, AutomatedIngestDataSourceProcessor.AutomatedIngestDataSourceProcessorException { + private void ingestDataSource(Case caseForJob) throws AnalysisStartupException, FileExportException, AutoIngestAlertFileException, AutoIngestJobLoggerException, InterruptedException, AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException { if (currentJob.isCancelled() || jobProcessingTaskFuture.isCancelled()) { return; } @@ -2179,7 +2179,7 @@ public final class AutoIngestManager extends Observable implements PropertyChang * while blocked, i.e., if auto * ingest is shutting down. */ - private void runDataSourceProcessor(Case caseForJob, DataSource dataSource) throws InterruptedException, AutoIngestAlertFileException, AutoIngestJobLoggerException, AutomatedIngestDataSourceProcessor.AutomatedIngestDataSourceProcessorException { + private void runDataSourceProcessor(Case caseForJob, DataSource dataSource) throws InterruptedException, AutoIngestAlertFileException, AutoIngestJobLoggerException, AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException { Manifest manifest = currentJob.getManifest(); Path manifestPath = manifest.getFilePath(); SYS_LOGGER.log(Level.INFO, "Adding data source for {0} ", manifestPath); @@ -2193,16 +2193,16 @@ public final class AutoIngestManager extends Observable implements PropertyChang caseForJob.notifyAddingDataSource(taskId); // lookup all AutomatedIngestDataSourceProcessors - Collection processorCandidates = Lookup.getDefault().lookupAll(AutomatedIngestDataSourceProcessor.class); + Collection processorCandidates = Lookup.getDefault().lookupAll(AutoIngestDataSourceProcessor.class); - Map validDataSourceProcessorsMap = new HashMap<>(); - for (AutomatedIngestDataSourceProcessor processor : processorCandidates) { + Map validDataSourceProcessorsMap = new HashMap<>(); + for (AutoIngestDataSourceProcessor processor : processorCandidates) { try { int confidence = processor.canProcess(dataSource.getPath()); if(confidence > 0){ validDataSourceProcessorsMap.put(processor, confidence); } - } catch (AutomatedIngestDataSourceProcessor.AutomatedIngestDataSourceProcessorException ex) { + } catch (AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException ex) { SYS_LOGGER.log(Level.SEVERE, "Exception while determining whether data source processor {0} can process {1}", new Object[]{processor.getDataSourceType(), dataSource.getPath()}); // rethrow the exception. It will get caught & handled upstream and will result in AIM auto-pause. throw ex; @@ -2220,21 +2220,21 @@ public final class AutoIngestManager extends Observable implements PropertyChang } // Get an ordered list of data source processors to try - List validDataSourceProcessors = validDataSourceProcessorsMap.entrySet().stream() - .sorted(Map.Entry.comparingByValue().reversed()) + List validDataSourceProcessors = validDataSourceProcessorsMap.entrySet().stream() + .sorted(Map.Entry.comparingByValue().reversed()) .map(Map.Entry::getKey) .collect(Collectors.toList()); synchronized (ingestLock) { // Try each DSP in decreasing order of confidence - for(AutomatedIngestDataSourceProcessor selectedProcessor:validDataSourceProcessors){ + for(AutoIngestDataSourceProcessor selectedProcessor:validDataSourceProcessors){ jobLogger.logDataSourceProcessorSelected(selectedProcessor.getDataSourceType()); SYS_LOGGER.log(Level.INFO, "Identified data source type for {0} as {1}", new Object[]{manifestPath, selectedProcessor.getDataSourceType()}); try { selectedProcessor.process(dataSource.getDeviceId(), dataSource.getPath(), progressMonitor, callBack); ingestLock.wait(); return; - } catch (AutomatedIngestDataSourceProcessor.AutomatedIngestDataSourceProcessorException ex) { + } catch (AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException ex) { // Log that the current DSP failed and set the error flag. We consider it an error // if a DSP fails even if a later one succeeds since we expected to be able to process // the data source which each DSP on the list. @@ -2248,7 +2248,7 @@ public final class AutoIngestManager extends Observable implements PropertyChang SYS_LOGGER.log(Level.SEVERE, "All data source processors failed to process {0}", dataSource.getPath()); jobLogger.logFailedToAddDataSource(); // Throw an exception. It will get caught & handled upstream and will result in AIM auto-pause. - throw new AutomatedIngestDataSourceProcessor.AutomatedIngestDataSourceProcessorException("Failed to process " + dataSource.getPath() + " with all data source processors"); + throw new AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException("Failed to process " + dataSource.getPath() + " with all data source processors"); } } finally { currentJob.setDataSourceProcessor(null); diff --git a/ImageGallery/nbproject/project.xml b/ImageGallery/nbproject/project.xml index 82215f7680..b9e8b60120 100644 --- a/ImageGallery/nbproject/project.xml +++ b/ImageGallery/nbproject/project.xml @@ -127,7 +127,7 @@ 10 - 10.6 + 10.7 diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/OpenHelpAction.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/OpenHelpAction.java index 5491715489..8aab0ba937 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/OpenHelpAction.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/OpenHelpAction.java @@ -44,7 +44,7 @@ public final class OpenHelpAction implements ActionListener { @Override public void actionPerformed(ActionEvent e) { try { - Desktop.getDesktop().browse(URI.create("http://sleuthkit.org/autopsy/docs/user-docs/4.2/image_gallery_page.html")); //NON-NLS + Desktop.getDesktop().browse(URI.create("http://sleuthkit.org/autopsy/docs/user-docs/4.3/image_gallery_page.html")); //NON-NLS } catch (IOException ex) { Logger.getLogger(OpenHelpAction.class.getName()).log(Level.SEVERE, "failed to open help page", ex); //NON-NLS } diff --git a/KeywordSearch/nbproject/project.xml b/KeywordSearch/nbproject/project.xml index 28fcbd05e5..32bd79c8a2 100644 --- a/KeywordSearch/nbproject/project.xml +++ b/KeywordSearch/nbproject/project.xml @@ -119,7 +119,7 @@ 10 - 10.6 + 10.7 diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleKeywordSearchPanel.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleTermSearchPanel.form similarity index 100% rename from KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleKeywordSearchPanel.form rename to KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleTermSearchPanel.form diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleKeywordSearchPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleTermSearchPanel.java similarity index 88% rename from KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleKeywordSearchPanel.java rename to KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleTermSearchPanel.java index c6b079bc70..a5024fd7b0 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleKeywordSearchPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownSingleTermSearchPanel.java @@ -42,11 +42,11 @@ import org.sleuthkit.autopsy.coreutils.Logger; * perform this task at the desired size, and neither could numerous other * fonts. */ -public class DropdownSingleKeywordSearchPanel extends KeywordSearchPanel { +public class DropdownSingleTermSearchPanel extends KeywordSearchPanel { private static final long serialVersionUID = 1L; - private static final Logger LOGGER = Logger.getLogger(DropdownSingleKeywordSearchPanel.class.getName()); - private static DropdownSingleKeywordSearchPanel defaultInstance = null; + private static final Logger LOGGER = Logger.getLogger(DropdownSingleTermSearchPanel.class.getName()); + private static DropdownSingleTermSearchPanel defaultInstance = null; /** * Gets the default instance of a dropdown panel that provides GUI @@ -54,9 +54,9 @@ public class DropdownSingleKeywordSearchPanel extends KeywordSearchPanel { * searches. * @return the default instance of DropdownSingleKeywordSearchPanel */ - public static synchronized DropdownSingleKeywordSearchPanel getDefault() { + public static synchronized DropdownSingleTermSearchPanel getDefault() { if (null == defaultInstance) { - defaultInstance = new DropdownSingleKeywordSearchPanel(); + defaultInstance = new DropdownSingleTermSearchPanel(); } return defaultInstance; } @@ -65,7 +65,7 @@ public class DropdownSingleKeywordSearchPanel extends KeywordSearchPanel { * Constructs a dropdown panel that provides GUI components that allow a * user to do three types of ad hoc single keyword searches. */ - public DropdownSingleKeywordSearchPanel() { + public DropdownSingleTermSearchPanel() { initComponents(); customizeComponents(); } @@ -167,20 +167,20 @@ public class DropdownSingleKeywordSearchPanel extends KeywordSearchPanel { substringRadioButton = new javax.swing.JRadioButton(); regexRadioButton = new javax.swing.JRadioButton(); - org.openide.awt.Mnemonics.setLocalizedText(cutMenuItem, org.openide.util.NbBundle.getMessage(DropdownSingleKeywordSearchPanel.class, "DropdownSearchPanel.cutMenuItem.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(cutMenuItem, org.openide.util.NbBundle.getMessage(DropdownSingleTermSearchPanel.class, "DropdownSearchPanel.cutMenuItem.text")); // NOI18N rightClickMenu.add(cutMenuItem); - org.openide.awt.Mnemonics.setLocalizedText(copyMenuItem, org.openide.util.NbBundle.getMessage(DropdownSingleKeywordSearchPanel.class, "DropdownSearchPanel.copyMenuItem.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(copyMenuItem, org.openide.util.NbBundle.getMessage(DropdownSingleTermSearchPanel.class, "DropdownSearchPanel.copyMenuItem.text")); // NOI18N rightClickMenu.add(copyMenuItem); - org.openide.awt.Mnemonics.setLocalizedText(pasteMenuItem, org.openide.util.NbBundle.getMessage(DropdownSingleKeywordSearchPanel.class, "DropdownSearchPanel.pasteMenuItem.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(pasteMenuItem, org.openide.util.NbBundle.getMessage(DropdownSingleTermSearchPanel.class, "DropdownSearchPanel.pasteMenuItem.text")); // NOI18N rightClickMenu.add(pasteMenuItem); - org.openide.awt.Mnemonics.setLocalizedText(selectAllMenuItem, org.openide.util.NbBundle.getMessage(DropdownSingleKeywordSearchPanel.class, "DropdownSearchPanel.selectAllMenuItem.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(selectAllMenuItem, org.openide.util.NbBundle.getMessage(DropdownSingleTermSearchPanel.class, "DropdownSearchPanel.selectAllMenuItem.text")); // NOI18N rightClickMenu.add(selectAllMenuItem); keywordTextField.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N - keywordTextField.setText(org.openide.util.NbBundle.getMessage(DropdownSingleKeywordSearchPanel.class, "DropdownSearchPanel.keywordTextField.text")); // NOI18N + keywordTextField.setText(org.openide.util.NbBundle.getMessage(DropdownSingleTermSearchPanel.class, "DropdownSearchPanel.keywordTextField.text")); // NOI18N keywordTextField.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(192, 192, 192), 1, true)); keywordTextField.setMinimumSize(new java.awt.Dimension(2, 25)); keywordTextField.setPreferredSize(new java.awt.Dimension(2, 25)); @@ -196,7 +196,7 @@ public class DropdownSingleKeywordSearchPanel extends KeywordSearchPanel { }); searchButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/search-icon.png"))); // NOI18N - org.openide.awt.Mnemonics.setLocalizedText(searchButton, org.openide.util.NbBundle.getMessage(DropdownSingleKeywordSearchPanel.class, "DropdownSearchPanel.searchButton.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(searchButton, org.openide.util.NbBundle.getMessage(DropdownSingleTermSearchPanel.class, "DropdownSearchPanel.searchButton.text")); // NOI18N searchButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { searchButtonActionPerformed(evt); @@ -205,13 +205,13 @@ public class DropdownSingleKeywordSearchPanel extends KeywordSearchPanel { queryTypeButtonGroup.add(exactRadioButton); exactRadioButton.setSelected(true); - org.openide.awt.Mnemonics.setLocalizedText(exactRadioButton, org.openide.util.NbBundle.getMessage(DropdownSingleKeywordSearchPanel.class, "DropdownSearchPanel.exactRadioButton.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(exactRadioButton, org.openide.util.NbBundle.getMessage(DropdownSingleTermSearchPanel.class, "DropdownSearchPanel.exactRadioButton.text")); // NOI18N queryTypeButtonGroup.add(substringRadioButton); - org.openide.awt.Mnemonics.setLocalizedText(substringRadioButton, org.openide.util.NbBundle.getMessage(DropdownSingleKeywordSearchPanel.class, "DropdownSearchPanel.substringRadioButton.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(substringRadioButton, org.openide.util.NbBundle.getMessage(DropdownSingleTermSearchPanel.class, "DropdownSearchPanel.substringRadioButton.text")); // NOI18N queryTypeButtonGroup.add(regexRadioButton); - org.openide.awt.Mnemonics.setLocalizedText(regexRadioButton, org.openide.util.NbBundle.getMessage(DropdownSingleKeywordSearchPanel.class, "DropdownSearchPanel.regexRadioButton.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(regexRadioButton, org.openide.util.NbBundle.getMessage(DropdownSingleTermSearchPanel.class, "DropdownSearchPanel.regexRadioButton.text")); // NOI18N javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownToolbar.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownToolbar.java index 70219e3f3e..68c482edd4 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownToolbar.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/DropdownToolbar.java @@ -43,7 +43,7 @@ class DropdownToolbar extends javax.swing.JPanel { private static DropdownToolbar instance; private SearchSettingsChangeListener searchSettingsChangeListener; private boolean active = false; - private DropdownSingleKeywordSearchPanel dropPanel = null; + private DropdownSingleTermSearchPanel dropPanel = null; /** * Gets the singleton panel that provides a toolbar button for the dropdown @@ -103,7 +103,7 @@ class DropdownToolbar extends javax.swing.JPanel { } }); - dropPanel = DropdownSingleKeywordSearchPanel.getDefault(); + dropPanel = DropdownSingleTermSearchPanel.getDefault(); dropPanel.addSearchButtonActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { diff --git a/NEWS.txt b/NEWS.txt index b8944ec0cf..7a0c8cb200 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -4,21 +4,20 @@ Improvements: space. - A preloader in an Android device image does not prevent adding the image as a data source (reading of secondary GPT tables supported). -- Ability to add data sources with no file systems or unsupported file systems +- User can add data sources with no file systems or unsupported file systems as "unallocated space image files" for carving, keyword search, etc. - File extension mismatch analysis can be configured to check all file types, all file types except text files, or only multimedia and executable files. - Column order changes in table views are "sticky" for each type of tree view item. - Tree view has new file types by MIME type sub tree. -- Bulk adding list of keywords to a keyword list. -- Highlighting of tagged items in table views. +- User can bulk add list of keywords to a keyword list. +- Tagged items are highlighted in table views. - Toolbar button for Image/Video Gallery - New "Experimental" module (activate via Tools, Plugins) with auto ingest feature. - Assorted bug fixes and minor enhancements. - ---------------- VERSION 4.2.0 -------------- Improvements: - Credit card account search. diff --git a/RecentActivity/nbproject/project.xml b/RecentActivity/nbproject/project.xml index a470d5ea0d..e3559b4155 100644 --- a/RecentActivity/nbproject/project.xml +++ b/RecentActivity/nbproject/project.xml @@ -60,7 +60,7 @@ 10 - 10.6 + 10.7 diff --git a/Testing/nbproject/project.xml b/Testing/nbproject/project.xml index 81fc629964..bf4478337b 100644 --- a/Testing/nbproject/project.xml +++ b/Testing/nbproject/project.xml @@ -12,7 +12,7 @@ 10 - 10.6 + 10.7 diff --git a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties index e67d04fa17..8eb490c76e 100644 --- a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties +++ b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties @@ -1,5 +1,5 @@ #Updated by build script -#Sat, 22 Oct 2016 14:27:47 -0400 +#Mon, 02 Jan 2017 18:41:13 -0500 LBL_splash_window_title=Starting Autopsy SPLASH_HEIGHT=314 SPLASH_WIDTH=538 @@ -8,4 +8,4 @@ SplashRunningTextBounds=0,289,538,18 SplashRunningTextColor=0x0 SplashRunningTextFontSize=19 -currentVersion=Autopsy 4.2.0 +currentVersion=Autopsy 4.3.0 diff --git a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties index 76d7bbbd58..756018bd64 100644 --- a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties +++ b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties @@ -1,3 +1,4 @@ #Updated by build script -CTL_MainWindow_Title=Autopsy 4.2.0 -CTL_MainWindow_Title_No_Project=Autopsy 4.2.0 +#Mon, 02 Jan 2017 18:41:13 -0500 +CTL_MainWindow_Title=Autopsy 4.3.0 +CTL_MainWindow_Title_No_Project=Autopsy 4.3.0 diff --git a/docs/doxygen-user/Doxyfile b/docs/doxygen-user/Doxyfile index bce35afa67..c3ddd8fc43 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.2 +PROJECT_NUMBER = 4.3 # 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.2 +HTML_OUTPUT = 4.3 # 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 e44aee3a51..654743e639 100755 --- a/docs/doxygen/Doxyfile +++ b/docs/doxygen/Doxyfile @@ -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.2/ +HTML_OUTPUT = api-docs/4.3/ # 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 a513a165cd..8261bedc39 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.2.0 +app.version=4.3.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 43eb78f661..b558f44e4b 100755 --- 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.2/index.html + http://sleuthkit.org/autopsy/docs/api-docs/4.3/index.html Each module in this folder should have a brief description about what they can do. diff --git a/thunderbirdparser/nbproject/project.xml b/thunderbirdparser/nbproject/project.xml index f108aa7e5a..84f4663022 100644 --- a/thunderbirdparser/nbproject/project.xml +++ b/thunderbirdparser/nbproject/project.xml @@ -36,7 +36,7 @@ 10 - 10.6 + 10.7