mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 16:06:15 +00:00
Merge pull request #888 from rcordovano/new_hash_sets_enabled_by_default
New hash sets enabled by default in all contexts
This commit is contained in:
commit
4b13ae37f3
@ -24,39 +24,135 @@ import java.util.List;
|
|||||||
import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings;
|
import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Settings for a hash lookup file ingest module instance.
|
* Ingest job settings for the hash lookup module.
|
||||||
*/
|
*/
|
||||||
final class HashLookupModuleSettings implements IngestModuleIngestJobSettings {
|
final class HashLookupModuleSettings implements IngestModuleIngestJobSettings {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private final HashSet<String> namesOfEnabledKnownHashSets = new HashSet<>();
|
private HashSet<String> namesOfEnabledKnownHashSets;
|
||||||
private final HashSet<String> namesOfEnabledKnownBadHashSets = new HashSet<>();
|
private HashSet<String> namesOfDisabledKnownHashSets; // Added in version 1.1
|
||||||
|
private HashSet<String> namesOfEnabledKnownBadHashSets;
|
||||||
|
private HashSet<String> namesOfDisabledKnownBadHashSets; // Added in version 1.1
|
||||||
private boolean shouldCalculateHashes = true;
|
private boolean shouldCalculateHashes = true;
|
||||||
|
|
||||||
HashLookupModuleSettings(boolean shouldCalculateHashes, List<String> namesOfEnabledKnownHashSets, List<String> namesOfEnabledKnownBadHashSets) {
|
/**
|
||||||
this.shouldCalculateHashes = shouldCalculateHashes;
|
* Constructs ingest job settings for the hash lookup module.
|
||||||
this.namesOfEnabledKnownHashSets.addAll(namesOfEnabledKnownHashSets);
|
*
|
||||||
this.namesOfEnabledKnownBadHashSets.addAll(namesOfEnabledKnownBadHashSets);
|
* @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
|
||||||
|
* sets.
|
||||||
|
*/
|
||||||
|
HashLookupModuleSettings(boolean shouldCalculateHashes,
|
||||||
|
List<String> namesOfEnabledKnownHashSets,
|
||||||
|
List<String> namesOfEnabledKnownBadHashSets) {
|
||||||
|
this(shouldCalculateHashes, namesOfEnabledKnownHashSets, namesOfEnabledKnownBadHashSets, new ArrayList<>(), new ArrayList<>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs ingest job settings for the hash lookup module.
|
||||||
|
*
|
||||||
|
* @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
|
||||||
|
* sets.
|
||||||
|
* @param namesOfDisabledKnownHashSets A list of disabled known hash sets.
|
||||||
|
* @param namesOfDisabledKnownBadHashSets A list of disabled known bad hash
|
||||||
|
* sets.
|
||||||
|
*/
|
||||||
|
HashLookupModuleSettings(boolean shouldCalculateHashes,
|
||||||
|
List<String> namesOfEnabledKnownHashSets,
|
||||||
|
List<String> namesOfEnabledKnownBadHashSets,
|
||||||
|
List<String> namesOfDisabledKnownHashSets,
|
||||||
|
List<String> namesOfDisabledKnownBadHashSets) {
|
||||||
|
this.shouldCalculateHashes = shouldCalculateHashes;
|
||||||
|
this.namesOfEnabledKnownHashSets = new HashSet<>(namesOfEnabledKnownHashSets);
|
||||||
|
this.namesOfEnabledKnownBadHashSets = new HashSet<>(namesOfEnabledKnownBadHashSets);
|
||||||
|
this.namesOfDisabledKnownHashSets = new HashSet<>(namesOfDisabledKnownHashSets);
|
||||||
|
this.namesOfDisabledKnownBadHashSets = new HashSet<>(namesOfDisabledKnownBadHashSets);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public long getVersionNumber() {
|
public long getVersionNumber() {
|
||||||
return serialVersionUID;
|
return HashLookupModuleSettings.serialVersionUID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks the setting that specifies whether or not hashes are to be
|
||||||
|
* calculated.
|
||||||
|
*
|
||||||
|
* @return True if hashes are to be calculated, false otherwise.
|
||||||
|
*/
|
||||||
boolean shouldCalculateHashes() {
|
boolean shouldCalculateHashes() {
|
||||||
return shouldCalculateHashes;
|
return this.shouldCalculateHashes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks whether or not a hash set is enabled. If there is no setting for
|
||||||
|
* the requested hash set, it is deemed to be enabled.
|
||||||
|
*
|
||||||
|
* @param hashSetName The name of the hash set to check.
|
||||||
|
* @return True if the hash set is enabled, false otherwise.
|
||||||
|
*/
|
||||||
boolean isHashSetEnabled(String hashSetName) {
|
boolean isHashSetEnabled(String hashSetName) {
|
||||||
return (namesOfEnabledKnownHashSets.contains(hashSetName) || namesOfEnabledKnownBadHashSets.contains(hashSetName));
|
this.upgradeFromOlderVersions();
|
||||||
|
return !(this.namesOfDisabledKnownHashSets.contains(hashSetName) || this.namesOfDisabledKnownBadHashSets.contains(hashSetName));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the names of all explicitly enabled known files hash sets.
|
||||||
|
*
|
||||||
|
* @return The list of names.
|
||||||
|
*/
|
||||||
List<String> getNamesOfEnabledKnownHashSets() {
|
List<String> getNamesOfEnabledKnownHashSets() {
|
||||||
return new ArrayList<>(namesOfEnabledKnownHashSets);
|
this.upgradeFromOlderVersions();
|
||||||
|
return new ArrayList<>(this.namesOfEnabledKnownHashSets);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> getNamesOfEnabledKnownBadHashSets() {
|
/**
|
||||||
return new ArrayList<>(namesOfEnabledKnownBadHashSets);
|
* Get the names of all explicitly disabled known files hash sets.
|
||||||
|
*
|
||||||
|
* @return The list of names.
|
||||||
|
*/
|
||||||
|
List<String> getNamesOfDisabledKnownHashSets() {
|
||||||
|
this.upgradeFromOlderVersions();
|
||||||
|
return new ArrayList<>(namesOfDisabledKnownHashSets);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the names of all explicitly enabled known bad files hash sets.
|
||||||
|
*
|
||||||
|
* @return The list of names.
|
||||||
|
*/
|
||||||
|
List<String> getNamesOfEnabledKnownBadHashSets() {
|
||||||
|
this.upgradeFromOlderVersions();
|
||||||
|
return new ArrayList<>(this.namesOfEnabledKnownBadHashSets);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the names of all explicitly disabled known bad files hash sets.
|
||||||
|
*
|
||||||
|
* @return The list of names.
|
||||||
|
*/
|
||||||
|
List<String> getNamesOfDisabledKnownBadHashSets() {
|
||||||
|
this.upgradeFromOlderVersions();
|
||||||
|
return new ArrayList<>(this.namesOfDisabledKnownBadHashSets);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize fields set to null when an instance of a previous, but still
|
||||||
|
* compatible, version of this class is de-serialized.
|
||||||
|
*/
|
||||||
|
private void upgradeFromOlderVersions() {
|
||||||
|
if (null == this.namesOfDisabledKnownHashSets) {
|
||||||
|
this.namesOfDisabledKnownHashSets = new HashSet<>();
|
||||||
|
}
|
||||||
|
if (null == this.namesOfDisabledKnownBadHashSets) {
|
||||||
|
this.namesOfDisabledKnownBadHashSets = new HashSet<>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -101,19 +101,25 @@ public final class HashLookupModuleSettingsPanel extends IngestModuleIngestJobSe
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IngestModuleIngestJobSettings getSettings() {
|
public IngestModuleIngestJobSettings getSettings() {
|
||||||
|
List<String> enabledKnownHashSetNames = new ArrayList<>();
|
||||||
|
List<String> disabledKnownHashSetNames = new ArrayList<>();
|
||||||
|
List<String> enabledKnownBadHashSetNames = new ArrayList<>();
|
||||||
|
List<String> disabledKnownBadHashSetNames = new ArrayList<>();
|
||||||
|
getHashSetNames(knownHashSetModels, enabledKnownHashSetNames, disabledKnownHashSetNames);
|
||||||
|
getHashSetNames(knownBadHashSetModels, enabledKnownBadHashSetNames, disabledKnownBadHashSetNames);
|
||||||
return new HashLookupModuleSettings(alwaysCalcHashesCheckbox.isSelected(),
|
return new HashLookupModuleSettings(alwaysCalcHashesCheckbox.isSelected(),
|
||||||
getNamesOfEnabledHashSets(knownHashSetModels),
|
enabledKnownHashSetNames, enabledKnownBadHashSetNames,
|
||||||
getNamesOfEnabledHashSets(knownBadHashSetModels));
|
disabledKnownHashSetNames, disabledKnownBadHashSetNames);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<String> getNamesOfEnabledHashSets(List<HashSetModel> hashSetModels) {
|
private void getHashSetNames(List<HashSetModel> hashSetModels, List<String> enabledHashSetNames, List<String> disabledHashSetNames) {
|
||||||
List<String> namesOfEnabledHashSets = new ArrayList<>();
|
|
||||||
for (HashSetModel model : hashSetModels) {
|
for (HashSetModel model : hashSetModels) {
|
||||||
if (model.isEnabled() && model.isIndexed()) {
|
if (model.isEnabled() && model.isIndexed()) {
|
||||||
namesOfEnabledHashSets.add(model.getName());
|
enabledHashSetNames.add(model.getName());
|
||||||
|
} else {
|
||||||
|
disabledHashSetNames.add(model.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return namesOfEnabledHashSets;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void update() {
|
void update() {
|
||||||
@ -289,11 +295,6 @@ public final class HashLookupModuleSettingsPanel extends IngestModuleIngestJobSe
|
|||||||
alwaysCalcHashesCheckbox.setPreferredSize(new java.awt.Dimension(271, 35));
|
alwaysCalcHashesCheckbox.setPreferredSize(new java.awt.Dimension(271, 35));
|
||||||
alwaysCalcHashesCheckbox.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
alwaysCalcHashesCheckbox.setVerticalAlignment(javax.swing.SwingConstants.TOP);
|
||||||
alwaysCalcHashesCheckbox.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
|
alwaysCalcHashesCheckbox.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
|
||||||
alwaysCalcHashesCheckbox.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
alwaysCalcHashesCheckboxActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
jScrollPane2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
|
jScrollPane2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
|
||||||
|
|
||||||
@ -346,10 +347,6 @@ public final class HashLookupModuleSettingsPanel extends IngestModuleIngestJobSe
|
|||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
private void alwaysCalcHashesCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_alwaysCalcHashesCheckboxActionPerformed
|
|
||||||
// TODO add your handling code here:
|
|
||||||
}//GEN-LAST:event_alwaysCalcHashesCheckboxActionPerformed
|
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JCheckBox alwaysCalcHashesCheckbox;
|
private javax.swing.JCheckBox alwaysCalcHashesCheckbox;
|
||||||
private javax.swing.JScrollPane jScrollPane1;
|
private javax.swing.JScrollPane jScrollPane1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user