diff --git a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/Bundle.properties b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/Bundle.properties index 0172466a3d..c31389a1dd 100644 --- a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/Bundle.properties +++ b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/Bundle.properties @@ -16,3 +16,4 @@ FileExtMismatchConfigPanel.mimeRemoveErrLabel.text=\ FileExtMismatchConfigPanel.extRemoveErrLabel.text=\ FileExtMismatchConfigPanel.saveMsgLabel.text=\ FileExtMismatchSimpleConfigPanel.skipNoExtCheckBox.text=Skip Files Without Extensions +FileExtMismatchSimpleConfigPanel.SkipTextPlain.text=Skip text/plain MIME type diff --git a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchConfigPanel.java b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchConfigPanel.java index 2b2ca04ae1..7102d10377 100644 --- a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchConfigPanel.java +++ b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchConfigPanel.java @@ -392,7 +392,11 @@ public final class FileExtMismatchConfigPanel extends javax.swing.JPanel impleme mimeErrLabel.setText("MIME type text is empty!"); return; } - + if (newMime.equals( "application/octet-stream")){ + mimeErrLabel.setForeground(Color.red); + mimeErrLabel.setText("MIME type not supported!"); + return; + } if (mimeList.contains(newMime)) { mimeErrLabel.setForeground(Color.red); mimeErrLabel.setText("MIME type already exists!"); diff --git a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchIngestModule.java b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchIngestModule.java index 459f61d694..f4167f758b 100644 --- a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchIngestModule.java +++ b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchIngestModule.java @@ -60,7 +60,8 @@ public class FileExtMismatchIngestModule extends org.sleuthkit.autopsy.ingest.In private static long numFiles = 0; private static boolean skipKnown = false; private static boolean skipNoExt = true; - + private static boolean skipTextPlain = false; + private int attrId = -1; private int attrId2 = -1; private FileExtMismatchSimpleConfigPanel simpleConfigPanel; @@ -133,7 +134,7 @@ public class FileExtMismatchIngestModule extends org.sleuthkit.autopsy.ingest.In private boolean compareSigTypeToExt(AbstractFile abstractFile) { try { currActualExt = abstractFile.getNameExtension(); - + // If we are skipping names with no extension if (skipNoExt && currActualExt.isEmpty()) { return false; @@ -148,7 +149,13 @@ public class FileExtMismatchIngestModule extends org.sleuthkit.autopsy.ingest.In for (BlackboardAttribute att : atrList) { if (att.getAttributeTypeID() == BlackboardAttribute.ATTRIBUTE_TYPE.TSK_FILE_TYPE_SIG.getTypeID()) { currActualSigType = att.getValueString(); - + if (skipTextPlain) + { + if (!currActualExt.isEmpty()&&currActualSigType.equals("text/plain")) + { + return false; + } + } //get known allowed values from the map for this type String[] slist = SigTypeToExtMap.get(att.getValueString()); if (slist != null) { @@ -258,6 +265,8 @@ public class FileExtMismatchIngestModule extends org.sleuthkit.autopsy.ingest.In public static void setSkipNoExt(boolean flag) { skipNoExt = flag; } - + public static void setSkipTextPlain(boolean flag) { + skipTextPlain = flag; + } } diff --git a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchSimpleConfigPanel.form b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchSimpleConfigPanel.form index a112c72b72..21d366a524 100644 --- a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchSimpleConfigPanel.form +++ b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchSimpleConfigPanel.form @@ -16,24 +16,26 @@ - - - - - + + + + + + - + - - - - + + + + + @@ -64,5 +66,15 @@ + + + + + + + + + + diff --git a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchSimpleConfigPanel.java b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchSimpleConfigPanel.java index 526fef6f9b..6974f95959 100644 --- a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchSimpleConfigPanel.java +++ b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchSimpleConfigPanel.java @@ -46,6 +46,7 @@ public class FileExtMismatchSimpleConfigPanel extends javax.swing.JPanel { skipKnownCheckBox = new javax.swing.JCheckBox(); skipNoExtCheckBox = new javax.swing.JCheckBox(); + skipTextPlain = new javax.swing.JCheckBox(); skipKnownCheckBox.setSelected(true); skipKnownCheckBox.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSimpleConfigPanel.class, "FileExtMismatchSimpleConfigPanel.skipKnownCheckBox.text")); // NOI18N @@ -64,25 +65,34 @@ public class FileExtMismatchSimpleConfigPanel extends javax.swing.JPanel { } }); + skipTextPlain.setText(org.openide.util.NbBundle.getMessage(FileExtMismatchSimpleConfigPanel.class, "FileExtMismatchSimpleConfigPanel.skipTextPlain.text")); // NOI18N + skipTextPlain.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + skipTextPlainActionPerformed(evt); + } + }); + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addGap(10, 10, 10) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(skipKnownCheckBox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(skipNoExtCheckBox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addContainerGap(127, Short.MAX_VALUE)) + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(skipTextPlain) + .addComponent(skipNoExtCheckBox) + .addComponent(skipKnownCheckBox, javax.swing.GroupLayout.PREFERRED_SIZE, 165, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(0, 327, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addGap(11, 11, 11) - .addComponent(skipKnownCheckBox) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(skipNoExtCheckBox) - .addContainerGap(152, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(skipTextPlain) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(skipKnownCheckBox) + .addContainerGap(72, Short.MAX_VALUE)) ); }// //GEN-END:initComponents @@ -94,8 +104,14 @@ public class FileExtMismatchSimpleConfigPanel extends javax.swing.JPanel { FileExtMismatchIngestModule.setSkipNoExt(skipNoExtCheckBox.isSelected()); }//GEN-LAST:event_skipNoExtCheckBoxActionPerformed + private void skipTextPlainActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_skipTextPlainActionPerformed + FileExtMismatchIngestModule.setSkipTextPlain(skipTextPlain.isSelected()); + + }//GEN-LAST:event_skipTextPlainActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JCheckBox skipKnownCheckBox; private javax.swing.JCheckBox skipNoExtCheckBox; + private javax.swing.JCheckBox skipTextPlain; // End of variables declaration//GEN-END:variables } diff --git a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchXML.java b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchXML.java index 8de27f4b6f..4eb27b85c1 100644 --- a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchXML.java +++ b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/FileExtMismatchXML.java @@ -54,7 +54,7 @@ public class FileExtMismatchXML { private static final String EXT_EL = "ext"; private static final String SIG_MIMETYPE_ATTR = "mimetype"; - private static final String DEFAULT_CONFIG_FILE_NAME = "mismatch_config.xml"; + private static final String DEFAULT_CONFIG_FILE_NAME = "mismatch_config.xml"; protected String filePath; @@ -79,7 +79,7 @@ public class FileExtMismatchXML { } return defaultInstance; } - + /** * Load and parse XML * @@ -111,7 +111,7 @@ public class FileExtMismatchXML { for(int sigIndex = 0; sigIndex < numSigs; ++sigIndex) { Element sigEl = (Element)sigNList.item(sigIndex); final String mimetype = sigEl.getAttribute(SIG_MIMETYPE_ATTR); - + NodeList extNList = sigEl.getElementsByTagName(EXT_EL); final int numExts = extNList.getLength(); @@ -181,4 +181,6 @@ public class FileExtMismatchXML { } return success; } + } + \ No newline at end of file diff --git a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/mismatch_config.xml b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/mismatch_config.xml index bada97fa28..8c88fcb430 100644 --- a/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/mismatch_config.xml +++ b/FileExtMismatch/src/org/sleuthkit/autopsy/fileextmismatch/mismatch_config.xml @@ -1,5 +1,6 @@ + txt ini @@ -36,7 +37,6 @@ php php3 phtml - adp h hpp hxx @@ -113,7 +113,45 @@ winprf winprf_backup svg - + psp + jsp + oem + map + det + ins + ph + prx + sif + idl + isl + nld + sve + ita + fra + esn + enu + deu + sep + sve + cht + chs + psm + rq0 + old + eng + dlg + org + ic + ths + sig + std + cmp + stp + rst + lng + xdc + tha + sys doc docx @@ -223,11 +261,22 @@ hta wpl htt - adp - + shtml + + jpg - jpeg + jpeg + jpe + jif + jfif + jfi + + + psd + + + nef tif @@ -249,14 +298,19 @@ ico + mp4 + m4r mov qt mp4 - + + + rm + 3gp @@ -273,6 +327,7 @@ wmv asf + wma wma @@ -281,10 +336,17 @@ mpg mpeg + m1v + m2v + mpe + mpv flv - + + + m4v + rm @@ -293,5 +355,90 @@ swf - + + + + aif + aiff + + + aif + aiff + + + flac + + + wav + + + m4a + mp4 + + + mp2 + mp3 + mpa + m2a + + + aac + + + mp2 + mp3 + mpa + m2a + + + mp2 + mp3 + mpa + m2a + + + m3u + + + mid + midi + + + ogg + + + + rar + + + arj + + + tar + + + gz + gzip + tgz + + + bzip + bz + + + cab + + + jar + + + bzip2 + + + cpio + + + + exe + \ No newline at end of file