mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-15 09:17:42 +00:00
1903 re-implementation of isFile() check before checking membership
This commit is contained in:
parent
816725a70b
commit
725f0905a8
@ -348,7 +348,7 @@ final class IngestTasksScheduler {
|
||||
// Try to add the most recently added directory from the
|
||||
// directory tasks queue to the pending file tasks queue.
|
||||
FileIngestTask directoryTask = this.directoryTasks.remove(this.directoryTasks.size() - 1);
|
||||
if (shouldEnqueueTerminalFileTask(directoryTask)) {
|
||||
if (shouldEnqueueFileTask(directoryTask)) {
|
||||
addToPendingFileTasksQueue(directoryTask);
|
||||
} else {
|
||||
this.tasksInProgress.remove(directoryTask);
|
||||
@ -370,7 +370,7 @@ final class IngestTasksScheduler {
|
||||
// first appearance of this task in the queues.
|
||||
this.tasksInProgress.add(childTask);
|
||||
this.directoryTasks.add(childTask);
|
||||
} else if (shouldEnqueueTerminalFileTask(childTask)) {
|
||||
} else if (shouldEnqueueFileTask(childTask)) {
|
||||
// Found a file, put the task directly into the
|
||||
// pending file tasks queue.
|
||||
this.tasksInProgress.add(childTask);
|
||||
@ -385,26 +385,6 @@ final class IngestTasksScheduler {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check whether a file task with no children should be enqueued by checking
|
||||
* if the file meets any of the rules of the selected file ingest filter.
|
||||
*/
|
||||
private static boolean shouldEnqueueTerminalFileTask(final FileIngestTask task) {
|
||||
final AbstractFile file = task.getFile();
|
||||
|
||||
/**
|
||||
* Check if the file is a member of the file ingest filter that is being
|
||||
* applied to the current run of ingest, checks if unallocated space
|
||||
* should be processed inside call to fileIsMemberOf
|
||||
*/
|
||||
if (task.getIngestJob().getFileIngestFilter().fileIsMemberOf(file) == null) {
|
||||
return false;
|
||||
} else {
|
||||
return shouldEnqueueFileTask(task);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Examines the file associated with a file ingest task to determine whether
|
||||
* or not the file should be processed and therefore whether or not the task
|
||||
@ -420,10 +400,20 @@ final class IngestTasksScheduler {
|
||||
// Skip the task if the file is actually the pseudo-file for the parent
|
||||
// or current directory.
|
||||
String fileName = file.getName();
|
||||
|
||||
if (fileName.equals(".") || fileName.equals("..")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the file is a member of the file ingest filter that is being
|
||||
* applied to the current run of ingest, checks if unallocated space
|
||||
* should be processed inside call to fileIsMemberOf
|
||||
*/
|
||||
if (file.isFile() && task.getIngestJob().getFileIngestFilter().fileIsMemberOf(file) == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Skip the task if the file is one of a select group of special, large
|
||||
// NTFS or FAT file system files.
|
||||
if (file instanceof org.sleuthkit.datamodel.File) {
|
||||
|
@ -67,7 +67,6 @@ final class FilesSetRulePanel extends javax.swing.JPanel {
|
||||
*/
|
||||
FilesSetRulePanel(JButton okButton, JButton cancelButton, PANEL_TYPE panelType) {
|
||||
initComponents();
|
||||
populateComponentsWithDefaultValues();
|
||||
if (panelType == FilesSetDefsPanel.PANEL_TYPE.FILE_INGEST_FILTERS) { //Hide the mimetype settings when this is displaying a FileSet rule instead of a interesting item rule
|
||||
mimeTypeComboBox.setVisible(false);
|
||||
mimeCheck.setVisible(false);
|
||||
@ -76,7 +75,6 @@ final class FilesSetRulePanel extends javax.swing.JPanel {
|
||||
equalitySymbolComboBox.setVisible(false);
|
||||
fileSizeSpinner.setVisible(false);
|
||||
jLabel1.setVisible(false);
|
||||
allRadioButton.setSelected(true); //Force selection of the all option when doing File Ingest Filter Rules
|
||||
filesRadioButton.setVisible(false);
|
||||
dirsRadioButton.setVisible(false);
|
||||
allRadioButton.setVisible(false);
|
||||
@ -85,7 +83,7 @@ final class FilesSetRulePanel extends javax.swing.JPanel {
|
||||
} else {
|
||||
populateMimeTypesComboBox();
|
||||
}
|
||||
|
||||
populateComponentsWithDefaultValues();
|
||||
this.setButtons(okButton, cancelButton);
|
||||
}
|
||||
|
||||
@ -103,6 +101,7 @@ final class FilesSetRulePanel extends javax.swing.JPanel {
|
||||
fileSizeCheck.setVisible(false);
|
||||
equalitySymbolComboBox.setVisible(false);
|
||||
fileSizeSpinner.setVisible(false);
|
||||
jLabel1.setVisible(false);
|
||||
filesRadioButton.setVisible(false);
|
||||
dirsRadioButton.setVisible(false);
|
||||
allRadioButton.setVisible(false);
|
||||
@ -556,7 +555,7 @@ final class FilesSetRulePanel extends javax.swing.JPanel {
|
||||
private void setComponentsForSearchType() {
|
||||
if (!this.filesRadioButton.isSelected()) {
|
||||
this.fullNameRadioButton.setSelected(true);
|
||||
|
||||
this.extensionRadioButton.setEnabled(false);
|
||||
this.mimeTypeComboBox.setEnabled(false);
|
||||
this.mimeTypeComboBox.setSelectedIndex(0);
|
||||
this.equalitySymbolComboBox.setEnabled(false);
|
||||
@ -567,12 +566,6 @@ final class FilesSetRulePanel extends javax.swing.JPanel {
|
||||
this.fileSizeCheck.setSelected(false);
|
||||
this.mimeCheck.setEnabled(false);
|
||||
this.mimeCheck.setSelected(false);
|
||||
if (this.filesRadioButton.isVisible()) { //If the filesRadioButton is not visibile then we can let the user do extension based rules
|
||||
this.extensionRadioButton.setEnabled(false);
|
||||
} else {
|
||||
this.extensionRadioButton.setEnabled(true);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (this.nameCheck.isSelected()) {
|
||||
this.extensionRadioButton.setEnabled(true);
|
||||
@ -844,8 +837,6 @@ final class FilesSetRulePanel extends javax.swing.JPanel {
|
||||
this.fullNameRadioButton.setEnabled(true);
|
||||
if (this.filesRadioButton.isSelected()) {
|
||||
this.extensionRadioButton.setEnabled(true);
|
||||
} else if (!this.filesRadioButton.isVisible()) { //If the filesRadioButton is not visibile then we can let the user do extension based rules
|
||||
this.extensionRadioButton.setEnabled(true);
|
||||
}
|
||||
this.nameRegexCheckbox.setEnabled(true);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user