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;
|
||||
|
||||
/**
|
||||
* Settings for a hash lookup file ingest module instance.
|
||||
* Ingest job settings for the hash lookup module.
|
||||
*/
|
||||
final class HashLookupModuleSettings implements IngestModuleIngestJobSettings {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private final HashSet<String> namesOfEnabledKnownHashSets = new HashSet<>();
|
||||
private final HashSet<String> namesOfEnabledKnownBadHashSets = new HashSet<>();
|
||||
private HashSet<String> namesOfEnabledKnownHashSets;
|
||||
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;
|
||||
|
||||
HashLookupModuleSettings(boolean shouldCalculateHashes, List<String> namesOfEnabledKnownHashSets, List<String> namesOfEnabledKnownBadHashSets) {
|
||||
this.shouldCalculateHashes = shouldCalculateHashes;
|
||||
this.namesOfEnabledKnownHashSets.addAll(namesOfEnabledKnownHashSets);
|
||||
this.namesOfEnabledKnownBadHashSets.addAll(namesOfEnabledKnownBadHashSets);
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
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
|
||||
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() {
|
||||
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) {
|
||||
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() {
|
||||
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
|
||||
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(),
|
||||
getNamesOfEnabledHashSets(knownHashSetModels),
|
||||
getNamesOfEnabledHashSets(knownBadHashSetModels));
|
||||
enabledKnownHashSetNames, enabledKnownBadHashSetNames,
|
||||
disabledKnownHashSetNames, disabledKnownBadHashSetNames);
|
||||
}
|
||||
|
||||
private List<String> getNamesOfEnabledHashSets(List<HashSetModel> hashSetModels) {
|
||||
List<String> namesOfEnabledHashSets = new ArrayList<>();
|
||||
private void getHashSetNames(List<HashSetModel> hashSetModels, List<String> enabledHashSetNames, List<String> disabledHashSetNames) {
|
||||
for (HashSetModel model : hashSetModels) {
|
||||
if (model.isEnabled() && model.isIndexed()) {
|
||||
namesOfEnabledHashSets.add(model.getName());
|
||||
enabledHashSetNames.add(model.getName());
|
||||
} else {
|
||||
disabledHashSetNames.add(model.getName());
|
||||
}
|
||||
}
|
||||
return namesOfEnabledHashSets;
|
||||
}
|
||||
|
||||
void update() {
|
||||
@ -289,11 +295,6 @@ public final class HashLookupModuleSettingsPanel extends IngestModuleIngestJobSe
|
||||
alwaysCalcHashesCheckbox.setPreferredSize(new java.awt.Dimension(271, 35));
|
||||
alwaysCalcHashesCheckbox.setVerticalAlignment(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());
|
||||
|
||||
@ -346,10 +347,6 @@ public final class HashLookupModuleSettingsPanel extends IngestModuleIngestJobSe
|
||||
);
|
||||
}// </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
|
||||
private javax.swing.JCheckBox alwaysCalcHashesCheckbox;
|
||||
private javax.swing.JScrollPane jScrollPane1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user