Merge pull request #4665 from sleuthkit/release-4.11.0

Merge in release 4.11.0 branch
This commit is contained in:
Richard Cordovano 2019-03-27 14:06:10 -04:00 committed by GitHub
commit 3c1821f154
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 45 additions and 24 deletions

View File

@ -2175,6 +2175,8 @@ public class Case {
* Updates the node data for the case directory lock coordination service
* node.
*
* @param progressIndicator A progress indicator.
*
* @throws CaseActionException If there is a problem completing the
* operation. The exception will have a
* user-friendly message and may be a wrapper
@ -2187,15 +2189,29 @@ public class Case {
private void updateCaseNodeData(ProgressIndicator progressIndicator) throws CaseActionException {
if (getCaseType() == CaseType.MULTI_USER_CASE) {
progressIndicator.progress(Bundle.Case_progressMessage_updatingCaseNodeData());
if (getCaseType() == CaseType.MULTI_USER_CASE) {
try {
CaseNodeData nodeData;
CoordinationService coordinationService = CoordinationService.getInstance();
CaseNodeData nodeData = new CaseNodeData(coordinationService.getNodeData(CategoryNode.CASES, metadata.getCaseDirectory()));
byte[] nodeBytes = coordinationService.getNodeData(CategoryNode.CASES, metadata.getCaseDirectory());
if (nodeBytes != null && nodeBytes.length > 0) {
/*
* Update the last access date in the coordination service
* node data for the case.
*/
nodeData = new CaseNodeData(nodeBytes);
nodeData.setLastAccessDate(new Date());
coordinationService.setNodeData(CategoryNode.CASES, metadata.getCaseDirectory(), nodeData.toArray());
} catch (CoordinationServiceException | InterruptedException | IOException ex) {
throw new CaseActionException(Bundle.Case_exceptionMessage_couldNotUpdateCaseNodeData(ex.getLocalizedMessage()), ex);
} else {
/*
* This is a "legacy" case with no data stored in its case
* directory coordination service node yet, or the node is
* empty due to some error, so create the coordination
* service node data from the case metadata.
*/
nodeData = new CaseNodeData(metadata);
}
coordinationService.setNodeData(CategoryNode.CASES, metadata.getCaseDirectory(), nodeData.toArray());
} catch (CoordinationServiceException | InterruptedException | ParseException | IOException ex) {
throw new CaseActionException(Bundle.Case_exceptionMessage_couldNotUpdateCaseNodeData(ex.getLocalizedMessage()), ex);
}
}
}

View File

@ -93,7 +93,7 @@ public class DataContentViewerOtherCases extends JPanel implements DataContentVi
private static final Logger LOGGER = Logger.getLogger(DataContentViewerOtherCases.class.getName());
private static final CorrelationCaseWrapper NO_ARTIFACTS_CASE = new CorrelationCaseWrapper(Bundle.DataContentViewerOtherCases_table_noArtifacts());
private static final CorrelationCaseWrapper NO_RESULTS_CASE = new CorrelationCaseWrapper(Bundle.DataContentViewerOtherCases_table_noArtifacts());
private static final CorrelationCaseWrapper NO_RESULTS_CASE = new CorrelationCaseWrapper(Bundle.DataContentViewerOtherCases_table_noResultsFound());
private static final int DEFAULT_MIN_CELL_WIDTH = 15;
private final OtherOccurrencesFilesTableModel tableModel;

View File

@ -264,6 +264,7 @@ public class CommandLineIngestManager {
* Passes the data source for the current job through a data source
* processor that adds it to the case database.
*
* @param caseForJob The case
* @param dataSource The data source.
*
* @throws

View File

@ -50,6 +50,7 @@ public class CommonAttributeValueNode extends DisplayableItemNode {
* Create a Match node whose children will all have this object in common.
*
* @param data the common feature, and the children
* @param type the data type
*/
public CommonAttributeValueNode(CommonAttributeValue data, CorrelationAttributeInstance.Type type) {
super(Children.create(

View File

@ -52,8 +52,9 @@ public final class InstanceCountNode extends DisplayableItemNode {
* Create a node with the given number of instances, and the given selection
* of metadata.
*
* @param instanceCount
* @param attributeValues
* @param instanceCount the number of instances
* @param attributeValues the attribute list
* @param type the data type
*/
@NbBundle.Messages({
"InstanceCountNode.displayName=Exists in %s data sources (%s)"

View File

@ -59,6 +59,7 @@ public class CommSnapShotReportWriter extends UiSnapShotReportWriter {
* @param reportName The name of the report.
* @param generationDate The generation Date of the report.
* @param snapshot A snapshot of the view to include in the report.
* @param filter The communications filter
*/
public CommSnapShotReportWriter(Case currentCase, Path reportFolderPath, String reportName, Date generationDate, BufferedImage snapshot, CommunicationsFilter filter) {

View File

@ -47,6 +47,7 @@ public class AddDataSourceCallback extends DataSourceProcessorCallback {
* @param caseForJob The case for the current job.
* @param dataSourceInfo The data source
* @param taskId The task id to associate with ingest job events.
* @param lock The DSP lock
*/
public AddDataSourceCallback(Case caseForJob, AutoIngestDataSource dataSourceInfo, UUID taskId, Object lock) {
this.caseForJob = caseForJob;

View File

@ -41,6 +41,8 @@ public class DataSourceProcessorUtility {
* AutoIngestDataSourceProcessor interface are used.
*
* @param dataSourcePath Full path to the data source
* @param processorCandidates Possible DSPs that can handle the data source
*
* @return Hash map of all DSPs that can process the data source along with
* their confidence score
* @throws

View File

@ -518,7 +518,7 @@ public class CreatePortableCaseModule implements GeneralReportModule {
* Get the artifact type ID in the portable case and create new artifact type if needed.
* For built-in artifacts this will be the same as the original.
*
* @param oldArtifactTypeId The artifact type ID in the current case
* @param oldArtifact The artifact in the current case
*
* @return The corresponding artifact type ID in the portable case
*/
@ -541,7 +541,7 @@ public class CreatePortableCaseModule implements GeneralReportModule {
* Get the attribute type ID in the portable case and create new attribute type if needed.
* For built-in attributes this will be the same as the original.
*
* @param oldAttributeTypeId The attribute type ID in the current case
* @param oldAttribute The attribute in the current case
*
* @return The corresponding attribute type in the portable case
*/

View File

@ -248,7 +248,7 @@ public final class CaseUcoFormatExporter {
* @param selectedDataSourceId Object ID of the data source
* @param caseTraceId CASE-UCO trace ID object for the Autopsy case entry
* @param skCase SleuthkitCase object
* @param catalog JsonGenerator object
* @param jsonGenerator JsonGenerator object
* @return
* @throws TskCoreException
* @throws SQLException

View File

@ -62,8 +62,6 @@ public abstract class UiSnapShotReportWriter {
* report.
* @param reportName The name of the report.
* @param generationDate The generation Date of the report.
* @param snapshot A snapshot of the view to include in the
* report.
*/
protected UiSnapShotReportWriter(Case currentCase, Path reportFolderPath, String reportName, Date generationDate) {
this.currentCase = currentCase;

View File

@ -29,7 +29,7 @@ import org.sleuthkit.datamodel.Report;
/**
* Factory for creating TextExtractors given a Content instance
*
* See {@link org.sleuthkit.autopsy.textextractors.textextractorconfigs} for
* See {@link org.sleuthkit.autopsy.textextractors.configs} for
* available extractor configuration options.
*
* @see org.openide.util.Lookup
@ -40,7 +40,7 @@ public class TextExtractorFactory {
* Returns a TextExtractor containing the Content text. Configuration files
* can be added to the Lookup.
*
* See {@link org.sleuthkit.autopsy.textextractors.textextractorconfigs} for
* See {@link org.sleuthkit.autopsy.textextractors.configs} for
* available extractor configuration options.
*
* @param content Content source that will be read from
@ -124,7 +124,7 @@ public class TextExtractorFactory {
* getExtractor(Content, Lookup).
*
* Configure this extractor with the StringsConfig in
* {@link org.sleuthkit.autopsy.textextractors.textextractorconfigs}
* {@link org.sleuthkit.autopsy.textextractors.configs}
*
* @param content Content source to read from
* @param context Contains extraction configurations for certain file types

View File

@ -815,8 +815,8 @@ final class MultiCaseKeywordSearchPanel extends javax.swing.JPanel implements Ex
/**
* Constructs a thread that performs a keyword search of cases
*
* @param caseNames The names of the cases to search.
* @param query The keyword search query to perform.
* @param caseNodes The cases to search.
* @param searchQuery The keyword search query to perform.
*/
private SearchThread(Collection<CaseNodeData> caseNodes, SearchQuery searchQuery) {
this.caseNodes = caseNodes;

View File

@ -70,7 +70,7 @@ public final class BinaryCookieReader implements Iterable<Cookie> {
* the file is a binarycookie file. This function does not keep the file
* open.
*
* @param file binarycookie file
* @param cookieFile binarycookie file
* @return An instance of the reader
* @throws FileNotFoundException
* @throws IOException

View File

@ -64,7 +64,7 @@ ExtractZone_progress_Msg=Extracting :Zone.Identifer files
ExtractZone_Restricted=Restricted Sites Zone
ExtractZone_Trusted=Trusted Sites Zone
OpenIDE-Module-Display-Category=Ingest Module
OpenIDE-Module-Long-Description=Recent Activity ingest module.\n\n\The module extracts useful information about the recent user activity on the disk image being ingested, such as:\n\n- Recently open documents,\n- Web acitivity (sites visited, stored cookies, bookmarked sites, search engine queries, file downloads),\n- Recently attached devices,\n- Installed programs.\n\n\The module currently supports Windows only disk images.\n\The plugin is also fully functional when deployed on Windows version of Autopsy.
OpenIDE-Module-Long-Description=Recent Activity ingest module.\n\nThe module extracts useful information about the recent user activity on the disk image being ingested, such as:\n\n- Recently open documents,\n- Web activity (sites visited, stored cookies, book marked sites, search engine queries, file downloads),\n- Recently attached devices,\n- Installed programs.\n\nThe module currently supports Windows only disk images.\nThe plugin is also fully functional when deployed on Windows version of Autopsy.
OpenIDE-Module-Name=RecentActivity
OpenIDE-Module-Short-Description=Recent Activity finder ingest module
Chrome.moduleName=Chrome
@ -194,7 +194,7 @@ SearchEngineURLQueryAnalyzer.init.exception.msg=Unable to find {0}.
SearchEngineURLQueryAnalyzer.moduleName.text=Search Engine
SearchEngineURLQueryAnalyzer.engineName.none=NONE
SearchEngineURLQueryAnalyzer.domainSubStr.none=NONE
SearchEngineURLQueryAnalyzer.toString=Name: {0}\nDomain Substring: {1}\n\count: {2}\nSplit Tokens: \n{3}
SearchEngineURLQueryAnalyzer.toString=Name: {0}\nDomain Substring: {1}\nCount: {2}\nSplit Tokens: \n{3}
SearchEngineURLQueryAnalyzer.parentModuleName.noSpace=RecentActivity
SearchEngineURLQueryAnalyzer.parentModuleName=Recent Activity
UsbDeviceIdMapper.parseAndLookup.text=Product: {0}

View File

@ -292,7 +292,7 @@ final class ExtractZoneIdentifier extends Extract {
/**
* Wrapper class for information in the :ZoneIdentifier file. The
* Zone.Identifier file has a simple format of <i>key<i>=<i>value<i>. There
* Zone.Identifier file has a simple format of \<i\>key\<i\>=\<i\>value\<i\>. There
* are four known keys: ZoneId, ReferrerUrl, HostUrl, and
* LastWriterPackageFamilyName. Not all browsers will put all values in the
* file, in fact most will only supply the ZoneId. Only Edge supplies the

Binary file not shown.

Binary file not shown.