diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestTasksScheduler.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestTasksScheduler.java index 70b1dbc704..f22ef93d94 100755 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestTasksScheduler.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestTasksScheduler.java @@ -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) { diff --git a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FilesSetRulePanel.java b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FilesSetRulePanel.java index 78b897d2a4..822c24dfeb 100755 --- a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FilesSetRulePanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FilesSetRulePanel.java @@ -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); }