diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/PostgresEamDb.java b/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/PostgresEamDb.java index 83fafdf7db..97b3a99a0f 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/PostgresEamDb.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/PostgresEamDb.java @@ -136,13 +136,12 @@ public class PostgresEamDb extends AbstractSqlEamDb { @Override protected Connection connect() throws EamDbException { synchronized (this) { - if (!dbSettings.isEnabled()) { + if (!EamDb.isEnabled()) { throw new EamDbException("Enterprise artifacts manager is not enabled"); // NON-NLS } if (connectionPool == null) { setupConnectionPool(); -// confirmDatabaseSchema(); } } diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/PostgresEamDbSettings.java b/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/PostgresEamDbSettings.java index e59af50013..cde5f412e2 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/PostgresEamDbSettings.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/PostgresEamDbSettings.java @@ -31,6 +31,8 @@ import java.util.logging.Level; import org.openide.util.Exceptions; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.ModuleSettings; +import org.sleuthkit.autopsy.coreutils.TextConverter; +import org.sleuthkit.autopsy.coreutils.TextConverterException; /** * Settings for the Postgres implementation of the enterprise artifacts manager @@ -50,7 +52,6 @@ public final class PostgresEamDbSettings { private final String JDBC_BASE_URI = "jdbc:postgresql://"; // NON-NLS private final String JDBC_DRIVER = "org.postgresql.Driver"; // NON-NLS - private boolean enabled; private String host; private int port; private String dbName; @@ -64,8 +65,6 @@ public final class PostgresEamDbSettings { } public void loadSettings() { - enabled = Boolean.valueOf(ModuleSettings.getConfigSetting("EnterpriseArtifactsManager", "db.enabled")); // NON-NLS - host = ModuleSettings.getConfigSetting("EnterpriseArtifactsManager", "db.postgresql.host"); // NON-NLS if (host == null || host.isEmpty()) { host = DEFAULT_HOST; @@ -112,6 +111,13 @@ public final class PostgresEamDbSettings { password = ModuleSettings.getConfigSetting("EnterpriseArtifactsManager", "db.postgresql.password"); // NON-NLS if (password == null || password.isEmpty()) { password = DEFAULT_PASSWORD; + } else { + try { + password = TextConverter.convertHexTextToText(password); + } catch (TextConverterException ex) { + LOGGER.log(Level.WARNING, "Failed to convert password from hex text to text.", ex); + password = DEFAULT_PASSWORD; + } } String badTagsStr = ModuleSettings.getConfigSetting("EnterpriseArtifactsManager", "db.badTags"); // NON-NLS @@ -127,7 +133,12 @@ public final class PostgresEamDbSettings { ModuleSettings.setConfigSetting("EnterpriseArtifactsManager", "db.postgresql.dbName", getDbName()); // NON-NLS ModuleSettings.setConfigSetting("EnterpriseArtifactsManager", "db.postgresql.bulkThreshold", Integer.toString(getBulkThreshold())); // NON-NLS ModuleSettings.setConfigSetting("EnterpriseArtifactsManager", "db.postgresql.user", getUserName()); // NON-NLS - ModuleSettings.setConfigSetting("EnterpriseArtifactsManager", "db.postgresql.password", getPassword()); // NON-NLS + try { + ModuleSettings.setConfigSetting("EnterpriseArtifactsManager", "db.postgresql.password", TextConverter.convertTextToHexText(getPassword())); // NON-NLS + } catch (TextConverterException ex) { + LOGGER.log(Level.SEVERE, "Failed to convert password from text to hex text.", ex); + } + ModuleSettings.setConfigSetting("EnterpriseArtifactsManager", "db.badTags", String.join(",", badTags)); // NON-NLS } @@ -464,20 +475,6 @@ public final class PostgresEamDbSettings { || !userName.equals(userNameString) || !password.equals(userPasswordString); } - /** - * @return the enabled - */ - public boolean isEnabled() { - return enabled; - } - - /** - * @param enabled the enabled to set - */ - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - /** * @return the host */ diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/SqliteEamDb.java b/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/SqliteEamDb.java index 0b41f2d7d9..e720955308 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/SqliteEamDb.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/SqliteEamDb.java @@ -19,8 +19,6 @@ package org.sleuthkit.autopsy.experimental.enterpriseartifactsmanager.datamodel; import java.io.File; -import java.io.IOException; -import java.nio.file.Files; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; @@ -138,9 +136,7 @@ public class SqliteEamDb extends AbstractSqlEamDb { } if (connectionPool == null) { -// verifyDBDirectory(); setupConnectionPool(); -// confirmDatabaseSchema(); } try { diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/SqliteEamDbSettings.java b/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/SqliteEamDbSettings.java index b4a891a57b..896fad4f9e 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/SqliteEamDbSettings.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/datamodel/SqliteEamDbSettings.java @@ -23,15 +23,12 @@ import java.io.IOException; import java.nio.file.Files; import java.sql.Connection; import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.logging.Level; -import org.openide.util.Exceptions; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.ModuleSettings; import org.sleuthkit.autopsy.coreutils.PlatformUtil; @@ -57,7 +54,6 @@ public final class SqliteEamDbSettings { private static final String PRAGMA_PAGE_SIZE_4096 = "PRAGMA page_size = 4096"; private static final String PRAGMA_FOREIGN_KEYS_ON = "PRAGMA foreign_keys = ON"; - private boolean enabled; private String dbName; private String dbDirectory; private int bulkThreshold; @@ -68,8 +64,6 @@ public final class SqliteEamDbSettings { } public void loadSettings() { - enabled = Boolean.valueOf(ModuleSettings.getConfigSetting("EnterpriseArtifactsManager", "db.enabled")); // NON-NLS - dbName = ModuleSettings.getConfigSetting("EnterpriseArtifactsManager", "db.sqlite.dbName"); // NON-NLS if (dbName == null || dbName.isEmpty()) { dbName = DEFAULT_DBNAME; diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/optionspanel/EamDbSettingsDialog.form b/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/optionspanel/EamDbSettingsDialog.form index e9e3f2aaab..719c2083ab 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/optionspanel/EamDbSettingsDialog.form +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/optionspanel/EamDbSettingsDialog.form @@ -332,6 +332,8 @@ + + @@ -345,13 +347,22 @@ - - - - - + + + + + + + + + + + + + + - + @@ -397,6 +408,8 @@ + + diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/optionspanel/EamDbSettingsDialog.java b/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/optionspanel/EamDbSettingsDialog.java index 3fcfda51c0..66f2cdefa1 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/optionspanel/EamDbSettingsDialog.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/enterpriseartifactsmanager/optionspanel/EamDbSettingsDialog.java @@ -108,6 +108,7 @@ public class EamDbSettingsDialog extends JDialog { bnOk = new javax.swing.JButton(); bnTest = new javax.swing.JButton(); bnCreateDb = new javax.swing.JButton(); + lbTestIcon = new javax.swing.JLabel(); pnSetupGuidance = new javax.swing.JPanel(); taSetupGuidance = new javax.swing.JTextArea(); @@ -304,6 +305,8 @@ public class EamDbSettingsDialog extends JDialog { .addContainerGap() .addComponent(bnTest) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(lbTestIcon, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) .addComponent(bnCreateDb) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(bnOk) @@ -315,12 +318,18 @@ public class EamDbSettingsDialog extends JDialog { pnButtonsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnButtonsLayout.createSequentialGroup() .addGap(0, 0, 0) - .addGroup(pnButtonsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(bnOk) - .addComponent(bnCancel) - .addComponent(bnTest) - .addComponent(bnCreateDb)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGroup(pnButtonsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(pnButtonsLayout.createSequentialGroup() + .addGap(4, 4, 4) + .addComponent(lbTestIcon, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGroup(pnButtonsLayout.createSequentialGroup() + .addGroup(pnButtonsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(bnOk) + .addComponent(bnCancel) + .addComponent(bnTest) + .addComponent(bnCreateDb)) + .addGap(0, 0, Short.MAX_VALUE))) + .addContainerGap()) ); pnSetupGuidance.setBorder(javax.swing.BorderFactory.createTitledBorder(null, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.pnSetupGuidance.border.title"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 12))); // NOI18N @@ -412,7 +421,7 @@ public class EamDbSettingsDialog extends JDialog { setTextPrompts(); setTextBoxListeners(); - + lbTestIcon.setIcon(null); } private void display() { @@ -471,6 +480,11 @@ public class EamDbSettingsDialog extends JDialog { } setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); + if (testingStatus == DatabaseTestResult.TESTEDOK) { + lbTestIcon.setIcon(goodIcon); + } else { + lbTestIcon.setIcon(badIcon); + } valid(); }//GEN-LAST:event_bnTestActionPerformed @@ -753,7 +767,7 @@ public class EamDbSettingsDialog extends JDialog { } try { - dbSettingsPostgres.setPassword(jpDbPassword.getPassword().toString()); + dbSettingsPostgres.setPassword(new String(jpDbPassword.getPassword())); } catch (EamDbException ex) { if (!guidanceText.toString().isEmpty()) { guidanceText.append(", "); @@ -856,30 +870,18 @@ public class EamDbSettingsDialog extends JDialog { @Override public void changedUpdate(DocumentEvent e) { - Object statusIcon = e.getDocument().getProperty("statusIcon"); // NON-NLS - if (statusIcon != null) { - ((javax.swing.JLabel) statusIcon).setIcon(null); - } firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null); valid(); } @Override public void insertUpdate(DocumentEvent e) { - Object statusIcon = e.getDocument().getProperty("statusIcon"); // NON-NLS - if (statusIcon != null) { - ((javax.swing.JLabel) statusIcon).setIcon(null); - } firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null); valid(); } @Override public void removeUpdate(DocumentEvent e) { - Object statusIcon = e.getDocument().getProperty("statusIcon"); // NON-NLS - if (statusIcon != null) { - ((javax.swing.JLabel) statusIcon).setIcon(null); - } firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null); valid(); } @@ -905,6 +907,7 @@ public class EamDbSettingsDialog extends JDialog { private javax.swing.JLabel lbDatabasePath; private javax.swing.JLabel lbHostName; private javax.swing.JLabel lbPort; + private javax.swing.JLabel lbTestIcon; private javax.swing.JLabel lbUserName; private javax.swing.JLabel lbUserPassword; private javax.swing.JPanel pnButtons;