mirror of
https://github.com/elisspace/autopsy.git
synced 2026-09-04 06:50:00 +00:00
Merge branch 'release-4.5.0' of https://github.com/sleuthkit/autopsy into 3067-ChangeKnownBadCRType
This commit is contained in:
@@ -93,10 +93,8 @@ AddImageWizardIngestConfigVisual.getName.text=Configure Ingest Modules
|
||||
AddImageWizardIterator.stepXofN=Step {0} of {1}
|
||||
AddLocalFilesTask.localFileAdd.progress.text=Adding\: {0}/{1}
|
||||
Case.getCurCase.exception.noneOpen=Cannot get the current case; there is no case open\!
|
||||
Case.databaseConnectionInfo.error.msg=Error accessing database server connection info. See Tools, Options, Multi-user.
|
||||
Case.open.msgDlg.updated.msg=Updated case database schema.\nA backup copy of the database with the following path has been made\:\n {0}
|
||||
Case.open.msgDlg.updated.title=Case Database Schema Update
|
||||
Case.open.exception.multiUserCaseNotEnabled=Cannot open a multi-user case if multi-user cases are not enabled. See Tools, Options, Multi-user.
|
||||
Case.checkImgExist.confDlg.doesntExist.msg=One of the images associated with \n\
|
||||
this case are missing. Would you like to search for them now?\n\
|
||||
Previously, the image was located at\:\n\
|
||||
@@ -131,7 +129,6 @@ Close the folder and file and try again or you can delete the case manually.
|
||||
CaseDeleteAction.msgDlg.fileInUse.title=Error\: Folder In Use
|
||||
CaseDeleteAction.msgDlg.caseDelete.msg=Case {0} has been deleted.
|
||||
CaseOpenAction.autFilter.title={0} Case File ( {1})
|
||||
CaseOpenAction.msgDlg.cantOpenCase.title=Error Opening Case
|
||||
CaseCreateAction.msgDlg.cantCreateCase.msg=Cannot create case
|
||||
IntervalErrorReport.NewIssues=new issue(s)
|
||||
IntervalErrorReport.TotalIssues=total issue(s)
|
||||
@@ -184,7 +181,6 @@ OpenRecentCasePanel.colName.caseName=Case Name
|
||||
OpenRecentCasePanel.colName.path=Path
|
||||
RecentCases.exception.caseIdxOutOfRange.msg=Recent case index {0} is out of range.
|
||||
RecentCases.getName.text=Clear Recent Cases
|
||||
RecentItems.openRecentCase.msgDlg.text=Case {0} no longer exists.
|
||||
StartupWindow.title.text=Welcome
|
||||
UpdateRecentCases.menuItem.clearRecentCases.text=Clear Recent Cases
|
||||
UpdateRecentCases.menuItem.empty=-Empty-
|
||||
|
||||
@@ -65,6 +65,7 @@ import org.openide.windows.WindowManager;
|
||||
import org.sleuthkit.autopsy.actions.OpenOutputFolderAction;
|
||||
import org.sleuthkit.autopsy.appservices.AutopsyService;
|
||||
import org.sleuthkit.autopsy.appservices.AutopsyService.CaseContext;
|
||||
import static org.sleuthkit.autopsy.casemodule.Bundle.*;
|
||||
import org.sleuthkit.autopsy.casemodule.CaseMetadata.CaseMetadataException;
|
||||
import org.sleuthkit.autopsy.casemodule.events.AddingDataSourceEvent;
|
||||
import org.sleuthkit.autopsy.casemodule.events.AddingDataSourceFailedEvent;
|
||||
@@ -110,6 +111,7 @@ import org.sleuthkit.datamodel.Image;
|
||||
import org.sleuthkit.datamodel.Report;
|
||||
import org.sleuthkit.datamodel.SleuthkitCase;
|
||||
import org.sleuthkit.datamodel.TskCoreException;
|
||||
import org.sleuthkit.datamodel.TskUnsupportedSchemaVersionException;
|
||||
|
||||
/**
|
||||
* An Autopsy case. Currently, only one case at a time may be open.
|
||||
@@ -376,6 +378,7 @@ public class Case {
|
||||
*
|
||||
* @param eventNames The events the subscriber is interested in.
|
||||
* @param subscriber The subscriber (PropertyChangeListener) to add.
|
||||
*
|
||||
* @deprecated Use addEventTypeSubscriber instead.
|
||||
*/
|
||||
@Deprecated
|
||||
@@ -400,6 +403,7 @@ public class Case {
|
||||
*
|
||||
* @param eventName The event the subscriber is interested in.
|
||||
* @param subscriber The subscriber (PropertyChangeListener) to add.
|
||||
*
|
||||
* @deprecated Use addEventTypeSubscriber instead.
|
||||
*/
|
||||
@Deprecated
|
||||
@@ -1786,7 +1790,11 @@ public class Case {
|
||||
*/
|
||||
@Messages({
|
||||
"Case.progressMessage.openingCaseDatabase=Opening case database...",
|
||||
"Case.exceptionMessage.couldNotOpenCaseDatabase=Failed to open case database."
|
||||
"Case.exceptionMessage.couldNotOpenCaseDatabase=Failed to open case database.",
|
||||
"Case.unsupportedSchemaVersionMessage=Unsupported DB schema version - see log for details",
|
||||
"Case.databaseConnectionInfo.error.msg=Error accessing database server connection info. See Tools, Options, Multi-User.",
|
||||
"Case.open.exception.multiUserCaseNotEnabled=Cannot open a multi-user case if multi-user cases are not enabled. "
|
||||
+ "See Tools, Options, Multi-user."
|
||||
})
|
||||
private void openCaseData(ProgressIndicator progressIndicator) throws CaseActionException {
|
||||
try {
|
||||
@@ -1797,16 +1805,14 @@ public class Case {
|
||||
} else if (UserPreferences.getIsMultiUserModeEnabled()) {
|
||||
try {
|
||||
caseDb = SleuthkitCase.openCase(databaseName, UserPreferences.getDatabaseConnectionInfo(), metadata.getCaseDirectory());
|
||||
|
||||
} catch (UserPreferencesException ex) {
|
||||
throw new CaseActionException(NbBundle.getMessage(Case.class,
|
||||
"Case.databaseConnectionInfo.error.msg"), ex);
|
||||
|
||||
throw new CaseActionException(Case_databaseConnectionInfo_error_msg(), ex);
|
||||
}
|
||||
} else {
|
||||
throw new CaseActionException(NbBundle.getMessage(Case.class,
|
||||
"Case.open.exception.multiUserCaseNotEnabled"));
|
||||
throw new CaseActionException(Case_open_exception_multiUserCaseNotEnabled());
|
||||
}
|
||||
} catch (TskUnsupportedSchemaVersionException ex) {
|
||||
throw new CaseActionException(Bundle.Case_unsupportedSchemaVersionMessage(), ex);
|
||||
} catch (TskCoreException ex) {
|
||||
throw new CaseActionException(Bundle.Case_exceptionMessage_couldNotOpenCaseDatabase(), ex);
|
||||
}
|
||||
|
||||
@@ -28,7 +28,9 @@ import javax.swing.SwingUtilities;
|
||||
import javax.swing.table.AbstractTableModel;
|
||||
import org.openide.util.NbBundle;
|
||||
import org.openide.windows.WindowManager;
|
||||
import static org.sleuthkit.autopsy.casemodule.Bundle.*;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import org.sleuthkit.autopsy.coreutils.ThreadConfined;
|
||||
|
||||
/**
|
||||
* Panel used by the the open recent case option of the start window.
|
||||
@@ -93,9 +95,13 @@ class OpenRecentCasePanel extends javax.swing.JPanel {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
/**
|
||||
* Opens the selected case.
|
||||
*/
|
||||
@NbBundle.Messages({"# {0} - case name",
|
||||
"RecentItems.openRecentCase.msgDlg.text=Case {0} no longer exists.",
|
||||
"CaseOpenAction.msgDlg.cantOpenCase.title=Error Opening Case"})
|
||||
@ThreadConfined(type = ThreadConfined.ThreadType.AWT)
|
||||
private void openCase() {
|
||||
if (casePaths.length < 1) {
|
||||
return;
|
||||
@@ -110,17 +116,17 @@ class OpenRecentCasePanel extends javax.swing.JPanel {
|
||||
logger.log(Level.SEVERE, "Error closing start up window", ex); //NON-NLS
|
||||
}
|
||||
|
||||
/*
|
||||
* Open the case.
|
||||
*/
|
||||
// try to open the case.
|
||||
if (caseName.isEmpty() || caseMetadataFilePath.isEmpty() || (!new File(caseMetadataFilePath).exists())) {
|
||||
//case doesn't exist
|
||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
|
||||
NbBundle.getMessage(this.getClass(), "RecentItems.openRecentCase.msgDlg.text", caseName),
|
||||
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"),
|
||||
RecentItems_openRecentCase_msgDlg_text(caseName),
|
||||
CaseOpenAction_msgDlg_cantOpenCase_title(),
|
||||
JOptionPane.ERROR_MESSAGE);
|
||||
RecentCases.getInstance().removeRecentCase(caseName, caseMetadataFilePath); // remove the recent case if it doesn't exist anymore
|
||||
StartupWindowProvider.getInstance().open();
|
||||
} else {
|
||||
//do actual opening on another thread
|
||||
new Thread(() -> {
|
||||
try {
|
||||
Case.openAsCurrentCase(caseMetadataFilePath);
|
||||
@@ -128,10 +134,10 @@ class OpenRecentCasePanel extends javax.swing.JPanel {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
if (!(ex instanceof CaseActionCancelledException)) {
|
||||
logger.log(Level.SEVERE, String.format("Error opening case with metadata file path %s", caseMetadataFilePath), ex); //NON-NLS
|
||||
JOptionPane.showMessageDialog(
|
||||
WindowManager.getDefault().getMainWindow(),
|
||||
ex.getMessage(),
|
||||
NbBundle.getMessage(OpenRecentCasePanel.this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), //NON-NLS
|
||||
|
||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
|
||||
ex.getLocalizedMessage(),
|
||||
CaseOpenAction_msgDlg_cantOpenCase_title(), //NON-NLS
|
||||
JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
StartupWindowProvider.getInstance().open();
|
||||
|
||||
@@ -1072,7 +1072,7 @@ public abstract class AbstractSqlEamDb implements EamDb {
|
||||
Connection conn = connect();
|
||||
|
||||
if (1 != eamArtifact.getInstances().size()) {
|
||||
throw new EamDbException("Error: Artifact must have exactly one (1) Artifact Instance to set known bad."); // NON-NLS
|
||||
throw new EamDbException("Error: Artifact must have exactly one (1) Artifact Instance to set as notable."); // NON-NLS
|
||||
}
|
||||
|
||||
List<EamArtifactInstance> eamInstances = eamArtifact.getInstances();
|
||||
@@ -1191,7 +1191,7 @@ public abstract class AbstractSqlEamDb implements EamDb {
|
||||
artifactInstances.add(artifactInstance);
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
throw new EamDbException("Error getting known bad artifact instances.", ex); // NON-NLS
|
||||
throw new EamDbException("Error getting notable artifact instances.", ex); // NON-NLS
|
||||
} finally {
|
||||
EamDbUtil.closePreparedStatement(preparedStatement);
|
||||
EamDbUtil.closeResultSet(resultSet);
|
||||
@@ -1231,7 +1231,7 @@ public abstract class AbstractSqlEamDb implements EamDb {
|
||||
resultSet.next();
|
||||
badInstances = resultSet.getLong(1);
|
||||
} catch (SQLException ex) {
|
||||
throw new EamDbException("Error getting count of known bad artifact instances.", ex); // NON-NLS
|
||||
throw new EamDbException("Error getting count of notable artifact instances.", ex); // NON-NLS
|
||||
} finally {
|
||||
EamDbUtil.closePreparedStatement(preparedStatement);
|
||||
EamDbUtil.closeResultSet(resultSet);
|
||||
@@ -1283,7 +1283,7 @@ public abstract class AbstractSqlEamDb implements EamDb {
|
||||
caseNames.add(resultSet.getString("case_name"));
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
throw new EamDbException("Error getting known bad artifact instances.", ex); // NON-NLS
|
||||
throw new EamDbException("Error getting notable artifact instances.", ex); // NON-NLS
|
||||
} finally {
|
||||
EamDbUtil.closePreparedStatement(preparedStatement);
|
||||
EamDbUtil.closeResultSet(resultSet);
|
||||
@@ -1324,7 +1324,7 @@ public abstract class AbstractSqlEamDb implements EamDb {
|
||||
resultSet.next();
|
||||
badInstances = resultSet.getLong(1);
|
||||
} catch (SQLException ex) {
|
||||
throw new EamDbException("Error determining if artifact is known bad by reference.", ex); // NON-NLS
|
||||
throw new EamDbException("Error determining if artifact is notable by reference.", ex); // NON-NLS
|
||||
} finally {
|
||||
EamDbUtil.closePreparedStatement(preparedStatement);
|
||||
EamDbUtil.closeResultSet(resultSet);
|
||||
|
||||
@@ -200,7 +200,7 @@ public class EamArtifactUtil {
|
||||
* add the artifact to the database.
|
||||
*
|
||||
* @param content The content object
|
||||
* @param knownStatus Unknown, known bad, or known
|
||||
* @param knownStatus Unknown, notable, or known
|
||||
* @param comment The comment for the new artifact (generally used for a tag comment)
|
||||
* @return The new EamArtifact or null if creation failed
|
||||
*/
|
||||
|
||||
@@ -97,8 +97,8 @@ public class CaseEventListener implements PropertyChangeListener {
|
||||
}
|
||||
} else { // CONTENT_TAG_DELETED
|
||||
// For deleted tags, we want to set the file status to UNKNOWN if:
|
||||
// - The tag that was just removed is known bad in central repo
|
||||
// - There are no remaining tags that are known bad
|
||||
// - The tag that was just removed is notable in central repo
|
||||
// - There are no remaining tags that are notable
|
||||
final ContentTagDeletedEvent tagDeletedEvent = (ContentTagDeletedEvent) evt;
|
||||
long contentID = tagDeletedEvent.getDeletedTagInfo().getContentID();
|
||||
|
||||
@@ -177,8 +177,8 @@ public class CaseEventListener implements PropertyChangeListener {
|
||||
}
|
||||
} else { //BLACKBOARD_ARTIFACT_TAG_DELETED
|
||||
// For deleted tags, we want to set the file status to UNKNOWN if:
|
||||
// - The tag that was just removed is known bad in central repo
|
||||
// - There are no remaining tags that are known bad
|
||||
// - The tag that was just removed is notable in central repo
|
||||
// - There are no remaining tags that are notable
|
||||
final BlackBoardArtifactTagDeletedEvent tagDeletedEvent = (BlackBoardArtifactTagDeletedEvent) evt;
|
||||
long contentID = tagDeletedEvent.getDeletedTagInfo().getContentID();
|
||||
long artifactID = tagDeletedEvent.getDeletedTagInfo().getArtifactID();
|
||||
|
||||
@@ -152,7 +152,7 @@ public class IngestEventsListener {
|
||||
eamArtifacts.add(eamArtifact);
|
||||
}
|
||||
} catch (EamDbException ex) {
|
||||
LOGGER.log(Level.SEVERE, "Error counting known bad artifacts.", ex);
|
||||
LOGGER.log(Level.SEVERE, "Error counting notable artifacts.", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.sleuthkit.autopsy.centralrepository.datamodel.EamDb;
|
||||
import org.sleuthkit.datamodel.TskData.FileKnown;
|
||||
|
||||
/**
|
||||
* Thread to send info to remote DB that tags a file as known, unknown, or known bad.
|
||||
* Thread to send info to remote DB that tags a file as known, unknown, or notable.
|
||||
*/
|
||||
public class KnownStatusChangeRunner implements Runnable {
|
||||
|
||||
|
||||
@@ -121,12 +121,12 @@ class IngestModule implements FileIngestModule {
|
||||
postCorrelatedBadFileToBlackboard(af, caseDisplayNames);
|
||||
}
|
||||
} catch (EamDbException ex) {
|
||||
LOGGER.log(Level.SEVERE, "Error counting known bad artifacts.", ex); // NON-NLS
|
||||
LOGGER.log(Level.SEVERE, "Error counting notable artifacts.", ex); // NON-NLS
|
||||
return ProcessResult.ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
// Make a TSK_HASHSET_HIT blackboard artifact for global known bad files
|
||||
// Make a TSK_HASHSET_HIT blackboard artifact for global notable files
|
||||
try {
|
||||
if (dbManager.isArtifactlKnownBadByReference(filesType, md5)) {
|
||||
postCorrelatedHashHitToBlackboard(af);
|
||||
@@ -354,8 +354,8 @@ class IngestModule implements FileIngestModule {
|
||||
"IngestModule.postToBB.md5Hash=MD5 Hash",
|
||||
"IngestModule.postToBB.hashSetSource=Source of Hash",
|
||||
"IngestModule.postToBB.eamHit=Central Repository",
|
||||
"# {0} - Name of file that is Known Bad",
|
||||
"IngestModule.postToBB.knownBadMsg=Known Bad: {0}"})
|
||||
"# {0} - Name of file that is Notable",
|
||||
"IngestModule.postToBB.knownBadMsg=Notable: {0}"})
|
||||
public void sendBadFileInboxMessage(BlackboardArtifact artifact, String name, String md5Hash) {
|
||||
StringBuilder detailsSb = new StringBuilder();
|
||||
//details
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
OptionsCategory_Name_Central_Repository_Options=Central Repository
|
||||
OptionsCategory_Keywords_Central_Repository_Options=Central Repository Settings
|
||||
ImportHashDatabaseDialog.known.text=Known
|
||||
ImportHashDatabaseDialog.knownBad.text=Known Bad
|
||||
ImportHashDatabaseDialog.knownBad.text=Notable
|
||||
EamPostgresSettingsDialog.lbUserPassword.text=User Password :
|
||||
EamPostgresSettingsDialog.lbUserName.text=User Name :
|
||||
EamPostgresSettingsDialog.bnCancel.text=Cancel
|
||||
@@ -28,7 +28,7 @@ ImportHashDatabaseDialog.lbDatabaseName.text=Database Name:
|
||||
ImportHashDatabaseDialog.lbSourceOrganization.text=Source Organization:
|
||||
ImportHashDatabaseDialog.lbDatabaseAttribution.text=Database Attribution:
|
||||
ImportHashDatabaseDialog.lbDatabaseType.text=Type of database:
|
||||
ImportHashDatabaseDialog.knownBadRadioButton.text=Known Bad
|
||||
ImportHashDatabaseDialog.knownBadRadioButton.text=Notable
|
||||
ImportHashDatabaseDialog.bnNewOrganization.text=Add New Organization
|
||||
ImportHashDatabaseDialog.tfDatabaseName.tooltip=Name for this database
|
||||
ImportHashDatabaseDialog.tfDatabaseVersion.tooltip.text=Database Version Number
|
||||
|
||||
@@ -60,10 +60,10 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i
|
||||
"GlobalSettingsPanel.pnTagManagement.border.title=Tags",
|
||||
"GlobalSettingsPanel.pnCorrelationProperties.border.title=Correlation Properties",
|
||||
"GlobalSettingsPanel.lbCentralRepository.text=A central repository allows you to correlate files and results between cases.",
|
||||
"GlobalSettingsPanel.manageTagsTextArea.text=Configure which tag names are associated with notable or known bad items. "
|
||||
"GlobalSettingsPanel.manageTagsTextArea.text=Configure which tag names are associated with notable items. "
|
||||
+ "When these tags are used, the file or result will be recorded in the central repository. "
|
||||
+ "If that file or result is seen again in future cases, it will be flagged.",
|
||||
"GlobalSettingsPanel.correlationPropertiesTextArea.text=Choose which file and result properties to store in the central central repository for later correlation."})
|
||||
"GlobalSettingsPanel.correlationPropertiesTextArea.text=Choose which file and result properties to store in the central repository for later correlation."})
|
||||
private void customizeComponents() {
|
||||
setName(Bundle.GlobalSettingsPanel_title());
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ import org.sleuthkit.datamodel.TskData;
|
||||
/**
|
||||
* Instances of this class allow a user to select an existing hash database and
|
||||
* add it to the set of hash databases used to classify files as unknown, known,
|
||||
* or known bad.
|
||||
* or notable.
|
||||
*/
|
||||
final class ImportHashDatabaseDialog extends javax.swing.JDialog {
|
||||
private static final Logger LOGGER = Logger.getLogger(ImportHashDatabaseDialog.class.getName());
|
||||
@@ -82,7 +82,7 @@ final class ImportHashDatabaseDialog extends javax.swing.JDialog {
|
||||
/**
|
||||
* Displays a dialog that allows a user to select an existing hash database
|
||||
* and add it to the set of hash databases used to classify files as
|
||||
* unknown, known, or known bad.
|
||||
* unknown, known, or notable.
|
||||
*/
|
||||
@Messages({"ImportHashDatabaseDialog.importHashDbMsg=Import Hash Database"})
|
||||
ImportHashDatabaseDialog() {
|
||||
|
||||
@@ -49,7 +49,7 @@ import org.sleuthkit.datamodel.TskData;
|
||||
/**
|
||||
* Instances of this class allow a user to select an existing hash database and
|
||||
* add it to the set of hash databases used to classify files as unknown, known,
|
||||
* or known bad.
|
||||
* or notable.
|
||||
*/
|
||||
final class ManageTagsDialog extends javax.swing.JDialog {
|
||||
|
||||
@@ -58,7 +58,7 @@ final class ManageTagsDialog extends javax.swing.JDialog {
|
||||
/**
|
||||
* Displays a dialog that allows a user to select an existing hash database
|
||||
* and add it to the set of hash databases used to classify files as
|
||||
* unknown, known, or known bad.
|
||||
* unknown, known, or notable.
|
||||
*/
|
||||
@Messages({"ManageTagDialog.title=Manage Tags",
|
||||
"ManageTagDialog.tagInfo.text=Select the tags that cause files and results to be recorded in the central repository. Additional tags can be created in the Tags options panel."})
|
||||
@@ -273,11 +273,11 @@ final class ManageTagsDialog extends javax.swing.JDialog {
|
||||
}
|
||||
|
||||
/**
|
||||
* If the user sets a tag to "Implies known bad", give them the option to update
|
||||
* If the user sets a tag to "Notable", give them the option to update
|
||||
* any existing tagged items (in the current case only) in the central repo.
|
||||
*/
|
||||
public class CheckBoxModelListener implements TableModelListener {
|
||||
@Messages({"ManageTagsDialog.updateCurrentCase.msg=Mark as known bad any files/results in the current case that have this tag?",
|
||||
@Messages({"ManageTagsDialog.updateCurrentCase.msg=Mark as notable any files/results in the current case that have this tag?",
|
||||
"ManageTagsDialog.updateCurrentCase.title=Update current case?",
|
||||
"ManageTagsDialog.updateCurrentCase.error=Error updating existing central repository entries"})
|
||||
|
||||
@@ -309,7 +309,7 @@ final class ManageTagsDialog extends javax.swing.JDialog {
|
||||
dialog.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||
setArtifactsKnownBadByTag(tagName, Case.getCurrentCase());
|
||||
} catch (EamDbException ex) {
|
||||
LOGGER.log(Level.SEVERE, "Failed to apply known bad status to current case", ex);
|
||||
LOGGER.log(Level.SEVERE, "Failed to apply notable status to artifacts in current case", ex);
|
||||
JOptionPane.showMessageDialog(null, Bundle.ManageTagsDialog_updateCurrentCase_error());
|
||||
} finally {
|
||||
dialog.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
OpenIDE-Module-Name=FileSearch
|
||||
KnownStatusSearchPanel.knownCheckBox.text=Known Status:
|
||||
KnownStatusSearchPanel.knownBadOptionCheckBox.text=Known bad
|
||||
KnownStatusSearchPanel.knownBadOptionCheckBox.text=Notable
|
||||
KnownStatusSearchPanel.knownOptionCheckBox.text=Known (NSRL or other)
|
||||
KnownStatusSearchPanel.unknownOptionCheckBox.text=Unknown
|
||||
DateSearchFilter.noneSelectedMsg.text=At least one date type must be selected\!
|
||||
|
||||
@@ -19,12 +19,12 @@ HashDbSearchPanel.cancelButton.text=Cancel
|
||||
OpenIDE-Module-Short-Description=Hash Database Ingest Module and hash db tools
|
||||
HashDbImportDatabaseDialog.jLabel1.text=Hash Set Name:
|
||||
HashDbImportDatabaseDialog.databasePathTextField.text=
|
||||
HashDbImportDatabaseDialog.knownBadRadioButton.text=Known Bad
|
||||
HashDbImportDatabaseDialog.knownBadRadioButton.text=Notable
|
||||
HashDbImportDatabaseDialog.jLabel2.text=Type of database\:
|
||||
HashDbImportDatabaseDialog.okButton.text=OK
|
||||
HashDbImportDatabaseDialog.cancelButton.text=Cancel
|
||||
HashDbCreateDatabaseDialog.jLabel2.text=Type:
|
||||
HashDbCreateDatabaseDialog.knownBadRadioButton.text=Known Bad
|
||||
HashDbCreateDatabaseDialog.knownBadRadioButton.text=Notable
|
||||
HashDbCreateDatabaseDialog.cancelButton.text=Cancel
|
||||
ModalNoButtons.CURRENTDB_LABEL.text=(CurrentDb)
|
||||
ModalNoButtons.CURRENTLYON_LABEL.text=Currently Indexing x of y
|
||||
@@ -95,14 +95,14 @@ HashDbIngestModule.moduleDescription=Identifies known and notable files using su
|
||||
HashDbIngestModule.fileReadErrorMsg=Read Error\: {0}
|
||||
HashDbIngestModule.calcHashValueErr=Error encountered while calculating the hash value for {0}.
|
||||
HashDbIngestModule.hashLookupErrorMsg=Hash Lookup Error\: {0}
|
||||
HashDbIngestModule.settingKnownBadStateErr=Error encountered while setting known bad state for {0}.
|
||||
HashDbIngestModule.lookingUpKnownBadHashValueErr=Error encountered while looking up known bad hash value for {0}.
|
||||
HashDbIngestModule.settingKnownBadStateErr=Error encountered while setting notable state for {0}.
|
||||
HashDbIngestModule.lookingUpKnownBadHashValueErr=Error encountered while looking up notable hash value for {0}.
|
||||
HashDbIngestModule.lookingUpKnownHashValueErr=Error encountered while looking up known hash value for {0}.
|
||||
HashDbIngestModule.postToBB.fileName=File Name
|
||||
HashDbIngestModule.postToBB.md5Hash=MD5 Hash
|
||||
HashDbIngestModule.postToBB.hashsetName=Hashset Name
|
||||
HashDbIngestModule.postToBB.knownBadMsg=Known Bad\: {0}
|
||||
HashDbIngestModule.complete.knownBadsFound=Known bads found\:
|
||||
HashDbIngestModule.postToBB.knownBadMsg=Notable\: {0}
|
||||
HashDbIngestModule.complete.knownBadsFound=Notables found\:
|
||||
HashDbIngestModule.complete.totalCalcTime=Total Calculation Time
|
||||
HashDbIngestModule.complete.totalLookupTime=Total Lookup Time
|
||||
HashDbIngestModule.complete.databasesUsed=Databases Used\:
|
||||
@@ -147,7 +147,7 @@ HashDbManager.hashDbFileExistsExceptionMsg=A file already exists at\n{0}
|
||||
HashDbManager.hashDbAlreadyAddedExceptionMsg=The hash database at\n{0}\nhas already been created or imported.
|
||||
HashDbManager.illegalHashDbFileNameExtensionMsg=The hash database file name must have a .{0} extension.
|
||||
HashDbManager.moduleErr=Module Error
|
||||
HashDbManager.knownBad.text=Known Bad
|
||||
HashDbManager.knownBad.text=Notable
|
||||
HashDbManager.known.text=Known
|
||||
HashDbManager.fileNameExtensionFilter.title=Hash Database File
|
||||
HashDbSearchAction.dlgMsg.title=File Search by MD5 Hash
|
||||
@@ -163,7 +163,7 @@ HashLookupSettingsPanel.jLabel4.text=Location:
|
||||
HashLookupSettingsPanel.jLabel2.text=Name:
|
||||
HashLookupModuleSettingsPanel.alwaysCalcHashesCheckbox.text=Calculate MD5 even if no hash database is selected
|
||||
HashLookupModuleSettingsPanel.knownHashDbsLabel.text=Select known hash databases to use:
|
||||
HashLookupModuleSettingsPanel.knownBadHashDbsLabel.text=Select known BAD hash databases to use:
|
||||
HashLookupModuleSettingsPanel.knownBadHashDbsLabel.text=Select notable hash databases to use:
|
||||
AddContentToHashDbAction.addFilesToHashSet.files=files
|
||||
AddContentToHashDbAction.addFilesToHashSet.file=file
|
||||
HashDbManager.errCreatingIndex.title=Error creating index
|
||||
|
||||
@@ -40,7 +40,7 @@ import org.sleuthkit.autopsy.modules.hashdatabase.HashDbManager.HashDbManagerExc
|
||||
/**
|
||||
* Instances of this class allow a user to create a new hash database and add it
|
||||
* to the set of hash databases used to classify files as unknown, known or
|
||||
* known bad.
|
||||
* notable.
|
||||
*/
|
||||
final class HashDbCreateDatabaseDialog extends javax.swing.JDialog {
|
||||
|
||||
@@ -53,7 +53,7 @@ final class HashDbCreateDatabaseDialog extends javax.swing.JDialog {
|
||||
/**
|
||||
* Displays a dialog that allows a user to create a new hash database and
|
||||
* add it to the set of hash databases used to classify files as unknown,
|
||||
* known or known bad.
|
||||
* known or notable.
|
||||
*/
|
||||
HashDbCreateDatabaseDialog() {
|
||||
super((JFrame) WindowManager.getDefault().getMainWindow(), NbBundle.getMessage(HashDbCreateDatabaseDialog.class, "HashDbCreateDatabaseDialog.createHashDbMsg"), true);
|
||||
|
||||
@@ -41,7 +41,7 @@ import org.sleuthkit.autopsy.modules.hashdatabase.HashDbManager.HashDbManagerExc
|
||||
/**
|
||||
* Instances of this class allow a user to select an existing hash database and
|
||||
* add it to the set of hash databases used to classify files as unknown, known,
|
||||
* or known bad.
|
||||
* or notable.
|
||||
*/
|
||||
final class HashDbImportDatabaseDialog extends javax.swing.JDialog {
|
||||
|
||||
@@ -53,7 +53,7 @@ final class HashDbImportDatabaseDialog extends javax.swing.JDialog {
|
||||
/**
|
||||
* Displays a dialog that allows a user to select an existing hash database
|
||||
* and add it to the set of hash databases used to classify files as
|
||||
* unknown, known, or known bad.
|
||||
* unknown, known, or notable.
|
||||
*/
|
||||
HashDbImportDatabaseDialog() {
|
||||
super((JFrame) WindowManager.getDefault().getMainWindow(),
|
||||
|
||||
@@ -50,8 +50,8 @@ import org.sleuthkit.datamodel.TskData;
|
||||
import org.sleuthkit.datamodel.TskException;
|
||||
|
||||
@NbBundle.Messages({
|
||||
"HashDbIngestModule.noKnownBadHashDbSetMsg=No known bad hash database set.",
|
||||
"HashDbIngestModule.knownBadFileSearchWillNotExecuteWarn=Known bad file search will not be executed.",
|
||||
"HashDbIngestModule.noKnownBadHashDbSetMsg=No notable hash database set.",
|
||||
"HashDbIngestModule.knownBadFileSearchWillNotExecuteWarn=Notable file search will not be executed.",
|
||||
"HashDbIngestModule.noKnownHashDbSetMsg=No known hash database set.",
|
||||
"HashDbIngestModule.knownFileSearchWillNotExecuteWarn=Known file search will not be executed."
|
||||
})
|
||||
@@ -193,7 +193,7 @@ public class HashDbIngestModule implements FileIngestModule {
|
||||
}
|
||||
}
|
||||
|
||||
// look up in known bad first
|
||||
// look up in notable first
|
||||
boolean foundBad = false;
|
||||
ProcessResult ret = ProcessResult.OK;
|
||||
for (HashDb db : knownBadHashSets) {
|
||||
@@ -207,7 +207,7 @@ public class HashDbIngestModule implements FileIngestModule {
|
||||
try {
|
||||
skCase.setKnown(file, TskData.FileKnown.BAD);
|
||||
} catch (TskException ex) {
|
||||
logger.log(Level.WARNING, "Couldn't set known bad state for file " + name + " - see sleuthkit log for details", ex); //NON-NLS
|
||||
logger.log(Level.WARNING, "Couldn't set notable state for file " + name + " - see sleuthkit log for details", ex); //NON-NLS
|
||||
services.postMessage(IngestMessage.createErrorMessage(
|
||||
HashLookupModuleFactory.getModuleName(),
|
||||
NbBundle.getMessage(this.getClass(),
|
||||
@@ -240,7 +240,7 @@ public class HashDbIngestModule implements FileIngestModule {
|
||||
totals.totalLookuptime.addAndGet(delta);
|
||||
|
||||
} catch (TskException ex) {
|
||||
logger.log(Level.WARNING, "Couldn't lookup known bad hash for file " + name + " - see sleuthkit log for details", ex); //NON-NLS
|
||||
logger.log(Level.WARNING, "Couldn't lookup notable hash for file " + name + " - see sleuthkit log for details", ex); //NON-NLS
|
||||
services.postMessage(IngestMessage.createErrorMessage(
|
||||
HashLookupModuleFactory.getModuleName(),
|
||||
NbBundle.getMessage(this.getClass(),
|
||||
@@ -253,7 +253,7 @@ public class HashDbIngestModule implements FileIngestModule {
|
||||
}
|
||||
}
|
||||
|
||||
// If the file is not in the known bad sets, search for it in the known sets.
|
||||
// If the file is not in the notable sets, search for it in the known sets.
|
||||
// Any hit is sufficient to classify it as known, and there is no need to create
|
||||
// a hit artifact or send a message to the application inbox.
|
||||
if (!foundBad) {
|
||||
|
||||
@@ -52,7 +52,7 @@ import org.sleuthkit.datamodel.TskCoreException;
|
||||
|
||||
/**
|
||||
* This class implements a singleton that manages the set of hash databases used
|
||||
* to classify files as unknown, known or known bad.
|
||||
* to classify files as unknown, known or notable.
|
||||
*/
|
||||
public class HashDbManager implements PropertyChangeListener {
|
||||
|
||||
@@ -128,7 +128,7 @@ public class HashDbManager implements PropertyChangeListener {
|
||||
|
||||
/**
|
||||
* Adds an existing hash database to the set of hash databases used to
|
||||
* classify files as known or known bad and saves the configuration.
|
||||
* classify files as known or notable and saves the configuration.
|
||||
*
|
||||
* @param hashSetName Name used to represent the hash database in
|
||||
* user interface components.
|
||||
@@ -176,7 +176,7 @@ public class HashDbManager implements PropertyChangeListener {
|
||||
|
||||
/**
|
||||
* Adds a new hash database to the set of hash databases used to classify
|
||||
* files as known or known bad and saves the configuration.
|
||||
* files as known or notable and saves the configuration.
|
||||
*
|
||||
* @param hashSetName Hash set name used to represent the hash
|
||||
* database in user interface components.
|
||||
@@ -295,7 +295,7 @@ public class HashDbManager implements PropertyChangeListener {
|
||||
|
||||
/**
|
||||
* Removes a hash database from the set of hash databases used to classify
|
||||
* files as known or known bad and saves the configuration.
|
||||
* files as known or notable and saves the configuration.
|
||||
*
|
||||
* @param hashDb
|
||||
*
|
||||
@@ -387,7 +387,7 @@ public class HashDbManager implements PropertyChangeListener {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all of the hash databases used to classify files as known bad.
|
||||
* Gets all of the hash databases used to classify files as notable.
|
||||
*
|
||||
* @return A list, possibly empty, of hash databases.
|
||||
*/
|
||||
|
||||
@@ -41,7 +41,7 @@ final class HashLookupModuleSettings implements IngestModuleIngestJobSettings {
|
||||
* @param shouldCalculateHashes Whether or not hashes should be
|
||||
* calculated.
|
||||
* @param namesOfEnabledKnownHashSets A list of enabled known hash sets.
|
||||
* @param namesOfEnabledKnownBadHashSets A list of enabled known bad hash
|
||||
* @param namesOfEnabledKnownBadHashSets A list of enabled notable hash
|
||||
* sets.
|
||||
*/
|
||||
HashLookupModuleSettings(boolean shouldCalculateHashes,
|
||||
@@ -56,11 +56,11 @@ final class HashLookupModuleSettings implements IngestModuleIngestJobSettings {
|
||||
* @param shouldCalculateHashes Whether or not hashes should be
|
||||
* calculated.
|
||||
* @param namesOfEnabledKnownHashSets A list of enabled known hash sets.
|
||||
* @param namesOfEnabledKnownBadHashSets A list of enabled known bad hash
|
||||
* @param namesOfEnabledKnownBadHashSets A list of enabled notable hash
|
||||
* sets.
|
||||
* @param namesOfDisabledKnownHashSets A list of disabled known hash
|
||||
* sets.
|
||||
* @param namesOfDisabledKnownBadHashSets A list of disabled known bad hash
|
||||
* @param namesOfDisabledKnownBadHashSets A list of disabled notable hash
|
||||
* sets.
|
||||
*/
|
||||
HashLookupModuleSettings(boolean shouldCalculateHashes,
|
||||
@@ -129,7 +129,7 @@ final class HashLookupModuleSettings implements IngestModuleIngestJobSettings {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the names of all explicitly enabled known bad files hash sets.
|
||||
* Get the names of all explicitly enabled notable files hash sets.
|
||||
*
|
||||
* @return The list of names.
|
||||
*/
|
||||
@@ -139,7 +139,7 @@ final class HashLookupModuleSettings implements IngestModuleIngestJobSettings {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the names of all explicitly disabled known bad files hash sets.
|
||||
* Get the names of all explicitly disabled notable files hash sets.
|
||||
*
|
||||
* @return The list of names.
|
||||
*/
|
||||
|
||||
@@ -74,7 +74,7 @@ final class HashLookupSettings implements Serializable {
|
||||
* Constructs a settings object to be serialized for hash lookups
|
||||
*
|
||||
* @param knownHashSets The list known hash sets for the settings.
|
||||
* @param knownBadHashSets The list of known bad hash sets for the settings.
|
||||
* @param knownBadHashSets The list of notable hash sets for the settings.
|
||||
*/
|
||||
HashLookupSettings(List<HashDbManager.HashDb> knownHashSets, List<HashDbManager.HashDb> knownBadHashSets) throws HashLookupSettingsException {
|
||||
hashDbInfoList = new ArrayList<>();
|
||||
|
||||
Reference in New Issue
Block a user