Merge remote-tracking branch 'upstream/develop' into aut-1900

This commit is contained in:
Oliver Spohngellert 2016-03-09 14:34:39 -05:00
commit 4ca31dacba
7 changed files with 80 additions and 12 deletions

View File

@ -144,7 +144,7 @@ public final class MessageServiceConnectionInfo {
} catch (JMSException ex) { } catch (JMSException ex) {
String result; String result;
Throwable cause = ex.getCause(); Throwable cause = ex.getCause();
if (cause != null) { if (null != cause && null != cause.getMessage()) {
// there is more information from another exception // there is more information from another exception
String msg = cause.getMessage(); String msg = cause.getMessage();
if (msg.startsWith(CONNECTION_TIMED_OUT)) { if (msg.startsWith(CONNECTION_TIMED_OUT)) {

View File

@ -52,3 +52,4 @@ FileExtMismatchSettingsPanel.removeExtButton.text=Remove Selected Extension
FileExtMismatchSettingsPanel.userTypeTextField.text= FileExtMismatchSettingsPanel.userTypeTextField.text=
FileExtMismatchDetectorModuleFactory.getIngestJobSettingsPanel.exception.msg=Expected settings argument to be instanceof FileExtMismatchDetectorModuleSettings FileExtMismatchDetectorModuleFactory.getIngestJobSettingsPanel.exception.msg=Expected settings argument to be instanceof FileExtMismatchDetectorModuleSettings
FileExtMismatchDetectorModuleFactory.createFileIngestModule.exception.msg=Expected settings argument to be instanceof FileExtMismatchDetectorModuleSettings FileExtMismatchDetectorModuleFactory.createFileIngestModule.exception.msg=Expected settings argument to be instanceof FileExtMismatchDetectorModuleSettings
FileExtMismatchModuleSettingsPanel.skipKnownFiles.text=Skip known files

View File

@ -1,7 +1,7 @@
/* /*
* Autopsy Forensic Browser * Autopsy Forensic Browser
* *
* Copyright 2014 Basis Technology Corp. * Copyright 2011-2016 Basis Technology Corp.
* Contact: carrier <at> sleuthkit <dot> org * Contact: carrier <at> sleuthkit <dot> org
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
@ -18,6 +18,8 @@
*/ */
package org.sleuthkit.autopsy.modules.fileextmismatch; package org.sleuthkit.autopsy.modules.fileextmismatch;
import java.io.IOException;
import java.io.ObjectInputStream;
import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings;
/** /**
@ -26,15 +28,21 @@ import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings;
final class FileExtMismatchDetectorModuleSettings implements IngestModuleIngestJobSettings { final class FileExtMismatchDetectorModuleSettings implements IngestModuleIngestJobSettings {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private boolean skipFilesWithNoExtension = true; private long versionNumber;
private boolean skipFilesWithTextPlainMimeType = true; private boolean skipFilesWithNoExtension;
private boolean skipFilesWithTextPlainMimeType;
private boolean skipKnownFiles;
FileExtMismatchDetectorModuleSettings() { FileExtMismatchDetectorModuleSettings() {
this.skipFilesWithNoExtension = true;
this.skipFilesWithTextPlainMimeType = true;
this.skipKnownFiles = true;
} }
FileExtMismatchDetectorModuleSettings(boolean skipKnownFiles, boolean skipFilesWithNoExtension, boolean skipFilesWithTextPlainMimeType) { FileExtMismatchDetectorModuleSettings(boolean skipKnownFiles, boolean skipFilesWithNoExtension, boolean skipFilesWithTextPlainMimeType) {
this.skipFilesWithNoExtension = skipFilesWithNoExtension; this.skipFilesWithNoExtension = skipFilesWithNoExtension;
this.skipFilesWithTextPlainMimeType = skipFilesWithTextPlainMimeType; this.skipFilesWithTextPlainMimeType = skipFilesWithTextPlainMimeType;
this.skipKnownFiles = skipKnownFiles;
} }
@Override @Override
@ -42,19 +50,41 @@ final class FileExtMismatchDetectorModuleSettings implements IngestModuleIngestJ
return serialVersionUID; return serialVersionUID;
} }
void setSkipFilesWithNoExtension(boolean enabled) { void setSkipFilesWithNoExtension(boolean skipFilesWithNoExtension) {
skipFilesWithNoExtension = enabled; this.skipFilesWithNoExtension = skipFilesWithNoExtension;
} }
boolean skipFilesWithNoExtension() { boolean skipFilesWithNoExtension() {
return skipFilesWithNoExtension; return skipFilesWithNoExtension;
} }
void setSkipFilesWithTextPlainMimeType(boolean enabled) { void setSkipFilesWithTextPlainMimeType(boolean skipFilesWithTextPlainMimeType) {
skipFilesWithTextPlainMimeType = enabled; this.skipFilesWithTextPlainMimeType = skipFilesWithTextPlainMimeType;
} }
boolean skipFilesWithTextPlainMimeType() { boolean skipFilesWithTextPlainMimeType() {
return skipFilesWithTextPlainMimeType; return skipFilesWithTextPlainMimeType;
} }
boolean skipKnownFiles() {
return skipKnownFiles;
}
void setSkipKnownFiles(boolean skipKnownFiles) {
this.skipKnownFiles = skipKnownFiles;
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
if (0L == versionNumber) {
/*
* If the version number is set to the Java field default value of
* zero, then skipKnownFiles is a new field. Change this to the
* desired default value of true.
*/
skipKnownFiles = true;
}
versionNumber = 1;
}
} }

View File

@ -40,6 +40,7 @@ import org.sleuthkit.datamodel.BlackboardArtifact;
import org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE; import org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE;
import org.sleuthkit.datamodel.TskCoreException; import org.sleuthkit.datamodel.TskCoreException;
import org.sleuthkit.datamodel.TskData; import org.sleuthkit.datamodel.TskData;
import org.sleuthkit.datamodel.TskData.FileKnown;
import org.sleuthkit.datamodel.TskException; import org.sleuthkit.datamodel.TskException;
/** /**
@ -103,6 +104,9 @@ public class FileExtMismatchIngestModule implements FileIngestModule {
@Override @Override
public ProcessResult process(AbstractFile abstractFile) { public ProcessResult process(AbstractFile abstractFile) {
blackboard = Case.getCurrentCase().getServices().getBlackboard(); blackboard = Case.getCurrentCase().getServices().getBlackboard();
if(this.settings.skipKnownFiles() && (abstractFile.getKnown() == FileKnown.KNOWN)) {
return ProcessResult.OK;
}
// skip non-files // skip non-files
if ((abstractFile.getType() == TskData.TSK_DB_FILES_TYPE_ENUM.UNALLOC_BLOCKS) if ((abstractFile.getType() == TskData.TSK_DB_FILES_TYPE_ENUM.UNALLOC_BLOCKS)

View File

@ -21,6 +21,7 @@
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Component id="skipTextPlain" min="-2" max="-2" attributes="0"/> <Component id="skipTextPlain" min="-2" max="-2" attributes="0"/>
<Component id="skipNoExtCheckBox" alignment="0" min="-2" max="-2" attributes="0"/> <Component id="skipNoExtCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="skipKnownFiles" alignment="0" min="-2" max="-2" attributes="0"/>
</Group> </Group>
<EmptySpace min="0" pref="138" max="32767" attributes="0"/> <EmptySpace min="0" pref="138" max="32767" attributes="0"/>
</Group> </Group>
@ -32,7 +33,9 @@
<Component id="skipNoExtCheckBox" min="-2" max="-2" attributes="0"/> <Component id="skipNoExtCheckBox" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
<Component id="skipTextPlain" min="-2" max="-2" attributes="0"/> <Component id="skipTextPlain" min="-2" max="-2" attributes="0"/>
<EmptySpace pref="51" max="32767" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
<Component id="skipKnownFiles" min="-2" max="-2" attributes="0"/>
<EmptySpace pref="28" max="32767" attributes="0"/>
</Group> </Group>
</Group> </Group>
</DimensionLayout> </DimensionLayout>
@ -62,5 +65,16 @@
<AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value="skipTextPlain.setSelected(true);"/> <AuxValue name="JavaCodeGenerator_InitCodePost" type="java.lang.String" value="skipTextPlain.setSelected(true);"/>
</AuxValues> </AuxValues>
</Component> </Component>
<Component class="javax.swing.JCheckBox" name="skipKnownFiles">
<Properties>
<Property name="selected" type="boolean" value="true"/>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/modules/fileextmismatch/Bundle.properties" key="FileExtMismatchModuleSettingsPanel.skipKnownFiles.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="skipKnownFilesActionPerformed"/>
</Events>
</Component>
</SubComponents> </SubComponents>
</Form> </Form>

View File

@ -38,6 +38,7 @@ final class FileExtMismatchModuleSettingsPanel extends IngestModuleIngestJobSett
private void customizeComponents() { private void customizeComponents() {
skipNoExtCheckBox.setSelected(settings.skipFilesWithNoExtension()); skipNoExtCheckBox.setSelected(settings.skipFilesWithNoExtension());
skipTextPlain.setSelected(settings.skipFilesWithTextPlainMimeType()); skipTextPlain.setSelected(settings.skipFilesWithTextPlainMimeType());
skipKnownFiles.setSelected(settings.skipKnownFiles());
} }
@Override @Override
@ -56,6 +57,7 @@ final class FileExtMismatchModuleSettingsPanel extends IngestModuleIngestJobSett
skipNoExtCheckBox = new javax.swing.JCheckBox(); skipNoExtCheckBox = new javax.swing.JCheckBox();
skipTextPlain = new javax.swing.JCheckBox(); skipTextPlain = new javax.swing.JCheckBox();
skipKnownFiles = new javax.swing.JCheckBox();
skipNoExtCheckBox.setSelected(true); skipNoExtCheckBox.setSelected(true);
skipNoExtCheckBox.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchModuleSettingsPanel.class, "FileExtMismatchModuleSettingsPanel.skipNoExtCheckBox.text")); // NOI18N skipNoExtCheckBox.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchModuleSettingsPanel.class, "FileExtMismatchModuleSettingsPanel.skipNoExtCheckBox.text")); // NOI18N
@ -73,6 +75,14 @@ final class FileExtMismatchModuleSettingsPanel extends IngestModuleIngestJobSett
} }
}); });
skipKnownFiles.setSelected(true);
skipKnownFiles.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchModuleSettingsPanel.class, "FileExtMismatchModuleSettingsPanel.skipKnownFiles.text")); // NOI18N
skipKnownFiles.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
skipKnownFilesActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout); this.setLayout(layout);
layout.setHorizontalGroup( layout.setHorizontalGroup(
@ -81,7 +91,8 @@ final class FileExtMismatchModuleSettingsPanel extends IngestModuleIngestJobSett
.addContainerGap() .addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(skipTextPlain) .addComponent(skipTextPlain)
.addComponent(skipNoExtCheckBox)) .addComponent(skipNoExtCheckBox)
.addComponent(skipKnownFiles))
.addGap(0, 138, Short.MAX_VALUE)) .addGap(0, 138, Short.MAX_VALUE))
); );
layout.setVerticalGroup( layout.setVerticalGroup(
@ -90,7 +101,9 @@ final class FileExtMismatchModuleSettingsPanel extends IngestModuleIngestJobSett
.addComponent(skipNoExtCheckBox) .addComponent(skipNoExtCheckBox)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(skipTextPlain) .addComponent(skipTextPlain)
.addContainerGap(51, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(skipKnownFiles)
.addContainerGap(28, Short.MAX_VALUE))
); );
}// </editor-fold>//GEN-END:initComponents }// </editor-fold>//GEN-END:initComponents
@ -102,7 +115,12 @@ final class FileExtMismatchModuleSettingsPanel extends IngestModuleIngestJobSett
settings.setSkipFilesWithTextPlainMimeType(skipTextPlain.isSelected()); settings.setSkipFilesWithTextPlainMimeType(skipTextPlain.isSelected());
}//GEN-LAST:event_skipTextPlainActionPerformed }//GEN-LAST:event_skipTextPlainActionPerformed
private void skipKnownFilesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_skipKnownFilesActionPerformed
settings.setSkipKnownFiles(skipKnownFiles.isSelected());
}//GEN-LAST:event_skipKnownFilesActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables // Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JCheckBox skipKnownFiles;
private javax.swing.JCheckBox skipNoExtCheckBox; private javax.swing.JCheckBox skipNoExtCheckBox;
private javax.swing.JCheckBox skipTextPlain; private javax.swing.JCheckBox skipTextPlain;
// End of variables declaration//GEN-END:variables // End of variables declaration//GEN-END:variables

View File

@ -1055,6 +1055,7 @@ class ReportGenerator {
List<String> columnHeaderNames = new ArrayList<>(); List<String> columnHeaderNames = new ArrayList<>();
columnHeaderNames.add(NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.preview")); columnHeaderNames.add(NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.preview"));
columnHeaderNames.add(NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.srcFile")); columnHeaderNames.add(NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.srcFile"));
columnHeaderNames.add(NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.tags"));
module.startTable(columnHeaderNames); module.startTable(columnHeaderNames);
} }
} }
@ -1190,6 +1191,7 @@ class ReportGenerator {
List<String> columnHeaderNames = new ArrayList<>(); List<String> columnHeaderNames = new ArrayList<>();
columnHeaderNames.add(NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.file")); columnHeaderNames.add(NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.file"));
columnHeaderNames.add(NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.size")); columnHeaderNames.add(NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.size"));
columnHeaderNames.add(NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.tags"));
module.startTable(columnHeaderNames); module.startTable(columnHeaderNames);
tableProgress.get(module).updateStatusLabel( tableProgress.get(module).updateStatusLabel(
NbBundle.getMessage(this.getClass(), "ReportGenerator.progress.processingList", NbBundle.getMessage(this.getClass(), "ReportGenerator.progress.processingList",
@ -1927,7 +1929,6 @@ class ReportGenerator {
orderedRowData.add(cellData); orderedRowData.add(cellData);
} }
} }
orderedRowData.add(makeCommaSeparatedList(getTags()));
} }
return orderedRowData; return orderedRowData;