From 8de0683a8ed105d91d092dcfa50404f8a19fd085 Mon Sep 17 00:00:00 2001 From: Oliver Spohngellert Date: Thu, 2 Jun 2016 11:45:53 -0400 Subject: [PATCH 1/3] Fixed file type UI. --- .../FileTypeIdGlobalSettingsPanel.form | 42 ++++++++++++------- .../FileTypeIdGlobalSettingsPanel.java | 33 ++++++++------- 2 files changed, 46 insertions(+), 29 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.form index 741c775f3c..1f6f490d27 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.form @@ -6,7 +6,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -33,7 +33,7 @@ - + @@ -41,6 +41,11 @@ + + + + + @@ -62,7 +67,7 @@ - + @@ -101,7 +106,10 @@ - + + + + @@ -110,7 +118,7 @@ - + @@ -119,7 +127,10 @@ - + + + + @@ -154,14 +165,14 @@ - - + + - + @@ -263,7 +274,7 @@ - + @@ -291,11 +302,11 @@ - - - - + + + + @@ -320,6 +331,7 @@ + diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.java index da67c5697a..74243dc47b 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.java @@ -36,8 +36,8 @@ import org.sleuthkit.autopsy.corecomponents.OptionsPanel; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.ingest.IngestManager; import org.sleuthkit.autopsy.ingest.IngestModuleGlobalSettingsPanel; -import org.sleuthkit.autopsy.modules.filetypeid.FileType.Signature; import org.sleuthkit.autopsy.modules.filetypeid.CustomFileTypesManager.CustomFileTypesException; +import org.sleuthkit.autopsy.modules.filetypeid.FileType.Signature; /** * A panel to allow a user to make custom file type definitions. In addition to @@ -327,7 +327,9 @@ final class FileTypeIdGlobalSettingsPanel extends IngestModuleGlobalSettingsPane signatureList = new javax.swing.JList<>(); setMaximumSize(null); - setPreferredSize(new java.awt.Dimension(752, 507)); + setPreferredSize(new java.awt.Dimension(752, 307)); + + jPanel3.setPreferredSize(new java.awt.Dimension(781, 339)); ingestRunningWarningLabel.setFont(ingestRunningWarningLabel.getFont().deriveFont(ingestRunningWarningLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 11)); ingestRunningWarningLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/modules/filetypeid/warning16.png"))); // NOI18N @@ -336,11 +338,13 @@ final class FileTypeIdGlobalSettingsPanel extends IngestModuleGlobalSettingsPane jLabel3.setFont(jLabel3.getFont().deriveFont(jLabel3.getFont().getStyle() & ~java.awt.Font.BOLD, 11)); org.openide.awt.Mnemonics.setLocalizedText(jLabel3, org.openide.util.NbBundle.getMessage(FileTypeIdGlobalSettingsPanel.class, "FileTypeIdGlobalSettingsPanel.jLabel3.text")); // NOI18N - jScrollPane2.setMinimumSize(new java.awt.Dimension(300, 100)); + jScrollPane2.setMinimumSize(new java.awt.Dimension(300, 0)); + jScrollPane2.setPreferredSize(new java.awt.Dimension(550, 275)); - jSplitPane1.setMinimumSize(new java.awt.Dimension(558, 285)); + jSplitPane1.setMinimumSize(new java.awt.Dimension(0, 0)); - jPanel1.setMinimumSize(new java.awt.Dimension(362, 283)); + jPanel1.setMinimumSize(new java.awt.Dimension(362, 0)); + jPanel1.setPreferredSize(new java.awt.Dimension(362, 0)); jLabel2.setFont(jLabel2.getFont().deriveFont(jLabel2.getFont().getStyle() & ~java.awt.Font.BOLD, 11)); org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(FileTypeIdGlobalSettingsPanel.class, "FileTypeIdGlobalSettingsPanel.jLabel2.text")); // NOI18N @@ -399,20 +403,20 @@ final class FileTypeIdGlobalSettingsPanel extends IngestModuleGlobalSettingsPane .addGap(12, 12, 12) .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(typesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 397, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(typesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 203, Short.MAX_VALUE) + .addGap(10, 10, 10) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(newTypeButton) .addComponent(editTypeButton) .addComponent(deleteTypeButton)) - .addContainerGap()) + .addGap(7, 7, 7)) ); jPanel1Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {deleteTypeButton, newTypeButton}); jSplitPane1.setLeftComponent(jPanel1); - jPanel2.setMinimumSize(new java.awt.Dimension(79, 283)); + jPanel2.setMinimumSize(new java.awt.Dimension(79, 0)); org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(FileTypeIdGlobalSettingsPanel.class, "FileTypeIdGlobalSettingsPanel.jLabel1.text")); // NOI18N @@ -421,6 +425,7 @@ final class FileTypeIdGlobalSettingsPanel extends IngestModuleGlobalSettingsPane public int getSize() { return signatures.length; } public Signature getElementAt(int i) { return signatures[i]; } }); + signatureList.setEnabled(false); signatureList.setMaximumSize(new java.awt.Dimension(32767, 32767)); signatureList.setPreferredSize(null); jScrollPane1.setViewportView(signatureList); @@ -444,8 +449,8 @@ final class FileTypeIdGlobalSettingsPanel extends IngestModuleGlobalSettingsPane .addContainerGap() .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE) - .addGap(40, 40, 40)) + .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 235, Short.MAX_VALUE) + .addContainerGap()) ); jSplitPane1.setRightComponent(jPanel2); @@ -470,7 +475,7 @@ final class FileTypeIdGlobalSettingsPanel extends IngestModuleGlobalSettingsPane .addContainerGap() .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 281, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ingestRunningWarningLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) @@ -481,13 +486,13 @@ final class FileTypeIdGlobalSettingsPanel extends IngestModuleGlobalSettingsPane layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, 752, Short.MAX_VALUE) .addGap(0, 0, 0)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, 345, Short.MAX_VALUE) .addGap(0, 0, 0)) ); }// //GEN-END:initComponents From 630ebbe56ba385b7d7ba54300df9d69228e22932 Mon Sep 17 00:00:00 2001 From: Oliver Spohngellert Date: Thu, 2 Jun 2016 12:04:19 -0400 Subject: [PATCH 2/3] Fixed panel from run ingest modules. --- .../modules/filetypeid/FileTypeIdGlobalSettingsPanel.form | 7 ++----- .../modules/filetypeid/FileTypeIdGlobalSettingsPanel.java | 6 ++---- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.form index 1f6f490d27..0b33ec364f 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.form @@ -6,7 +6,7 @@ - + @@ -32,10 +32,7 @@ - - - - + diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.java index 74243dc47b..a4b4ff49d3 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.java @@ -327,7 +327,7 @@ final class FileTypeIdGlobalSettingsPanel extends IngestModuleGlobalSettingsPane signatureList = new javax.swing.JList<>(); setMaximumSize(null); - setPreferredSize(new java.awt.Dimension(752, 307)); + setPreferredSize(new java.awt.Dimension(752, 507)); jPanel3.setPreferredSize(new java.awt.Dimension(781, 339)); @@ -491,9 +491,7 @@ final class FileTypeIdGlobalSettingsPanel extends IngestModuleGlobalSettingsPane ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, 345, Short.MAX_VALUE) - .addGap(0, 0, 0)) + .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, 345, Short.MAX_VALUE) ); }// //GEN-END:initComponents From 4128d66138817300b9a5817e1ac1681706af160c Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Thu, 2 Jun 2016 12:45:55 -0400 Subject: [PATCH 3/3] FileTypeDetector/CustomFileTypesManager handle custom typers correctly --- .../autopsy/datamodel/AbstractAbstractFileNode.java | 2 +- .../modules/filetypeid/CustomFileTypesManager.java | 13 +++++++++++++ .../modules/filetypeid/FileTypeDetector.java | 4 ++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractAbstractFileNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractAbstractFileNode.java index b0b6c92fca..1392e7ed31 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractAbstractFileNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractAbstractFileNode.java @@ -268,7 +268,7 @@ public abstract class AbstractAbstractFileNode extends A map.put(AbstractFilePropertyType.USER_ID.toString(), content.getUid()); map.put(AbstractFilePropertyType.GROUP_ID.toString(), content.getGid()); map.put(AbstractFilePropertyType.META_ADDR.toString(), content.getMetaAddr()); - map.put(AbstractFilePropertyType.ATTR_ADDR.toString(), Long.toString(content.getAttrType().getValue()) + "-" + Long.toString(content.getAttrId())); + map.put(AbstractFilePropertyType.ATTR_ADDR.toString(), Long.toString(content.getAttrType().getValue()) + "-" + Long.toString(content.getAttributeId())); map.put(AbstractFilePropertyType.TYPE_DIR.toString(), content.getDirType().getLabel()); map.put(AbstractFilePropertyType.TYPE_META.toString(), content.getMetaType().toString()); map.put(AbstractFilePropertyType.KNOWN.toString(), content.getKnown().getName()); diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/CustomFileTypesManager.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/CustomFileTypesManager.java index 784dea47b9..bea6212681 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/CustomFileTypesManager.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/CustomFileTypesManager.java @@ -104,6 +104,19 @@ final class CustomFileTypesManager { return customTypes; } + /** + * Gets the custom file types defined by Autopsy. + * + * @return A list of custom file types, possibly empty. + */ + synchronized List getAutopsyDefinedFileTypes() { + /** + * It is safe to return references instead of copies in this snapshot + * because FileType objects are immutable. + */ + return new ArrayList<>(autopsyDefinedFileTypes); + } + /** * Gets the user-defined custom file types. * diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeDetector.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeDetector.java index 44a7cda7da..563193d7c0 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeDetector.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeDetector.java @@ -56,8 +56,8 @@ public class FileTypeDetector { */ public FileTypeDetector() throws FileTypeDetectorInitException { try { - userDefinedFileTypes = CustomFileTypesManager.getInstance().getFileTypes(); - autopsyDefinedFileTypes = CustomFileTypesManager.getInstance().getFileTypes(); + userDefinedFileTypes = CustomFileTypesManager.getInstance().getUserDefinedFileTypes(); + autopsyDefinedFileTypes = CustomFileTypesManager.getInstance().getAutopsyDefinedFileTypes(); } catch (CustomFileTypesManager.CustomFileTypesException ex) { throw new FileTypeDetectorInitException("Error loading custom file types", ex); //NON-NLS }