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;