From 242c7b1b82196b39f162a4834b9c2656d67f1af1 Mon Sep 17 00:00:00 2001 From: Karl Mortensen Date: Mon, 13 Apr 2015 14:55:46 -0400 Subject: [PATCH] JNI comms up and going --- .../sleuthkit/autopsy/casemodule/Case.java | 6 +- .../casemodule/OpenRecentCasePanel.java | 7 +++ .../autopsy/casemodule/RecentItems.java | 4 ++ .../org/sleuthkit/autopsy/core/Installer.java | 34 +++++++++++- .../autopsy/datamodel/FileTypeNode.java | 2 +- .../datamodel/RecentFilesChildren.java | 2 +- .../autopsy/ingest/IngestManager.java | 2 +- build-windows.xml | 37 ++++++++++++- build.xml | 55 ++++++++++++++++++- 9 files changed, 137 insertions(+), 12 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index 6c41241135..14eb4277b1 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -355,7 +355,7 @@ public class Case implements SleuthkitCase.ErrorObserver { db = SleuthkitCase.newCase(dbName); } else if (caseType == CaseType.MULTI_USER_CASE) { - db = SleuthkitCase.newCase(dbName, UserPreferences.getDatabaseConnectionInfo()); + db = SleuthkitCase.newCase(dbName, UserPreferences.getDatabaseConnectionInfo(), caseDir); } } catch (TskCoreException ex) { logger.log(Level.SEVERE, "Error creating a case: " + caseName + " in dir " + caseDir, ex); //NON-NLS @@ -407,7 +407,7 @@ public class Case implements SleuthkitCase.ErrorObserver { JOptionPane.INFORMATION_MESSAGE); } } else { - db = SleuthkitCase.openCase(xmlcm.getDatabaseName(), UserPreferences.getDatabaseConnectionInfo()); + db = SleuthkitCase.openCase(xmlcm.getDatabaseName(), UserPreferences.getDatabaseConnectionInfo(), caseDir); if (null != db.getBackupDatabasePath()) { JOptionPane.showMessageDialog(null, NbBundle.getMessage(Case.class, "Case.open.msgDlg.updated.msg", @@ -433,7 +433,7 @@ public class Case implements SleuthkitCase.ErrorObserver { throw new CaseActionException( NbBundle.getMessage(Case.class, "Case.open.exception.checkFile.msg", CASE_DOT_EXTENSION), ex); } else { - throw new CaseActionException(NbBundle.getMessage(Case.class, "Case.open.exception.gen.msg"), ex); + throw new CaseActionException(NbBundle.getMessage(Case.class, "Case.open.exception.gen.msg")+". "+ex.getMessage(), ex); } } } diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.java index 36277a8a5a..2440b29aae 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/OpenRecentCasePanel.java @@ -218,6 +218,13 @@ class OpenRecentCasePanel extends javax.swing.JPanel { Case.open(casePath); // open the case } } catch (CaseActionException ex) { + JOptionPane.showMessageDialog(null, + NbBundle.getMessage(this.getClass(), + "CaseOpenAction.msgDlg.cantOpenCase.msg", caseName, + ex.getMessage()), + NbBundle.getMessage(this.getClass(), + "CaseOpenAction.msgDlg.cantOpenCase.title"), + JOptionPane.ERROR_MESSAGE); logger.log(Level.WARNING, "Error: couldn't open case: " + caseName, ex); //NON-NLS } } diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/RecentItems.java b/Core/src/org/sleuthkit/autopsy/casemodule/RecentItems.java index f27facd68a..43de7bbb7f 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/RecentItems.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/RecentItems.java @@ -79,6 +79,10 @@ class RecentItems implements ActionListener { try { Case.open(casePath); // open the case } catch (CaseActionException ex) { + JOptionPane.showMessageDialog(null, + NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.msg", casePath, + ex.getMessage()), NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), + JOptionPane.ERROR_MESSAGE); Logger.getLogger(RecentItems.class.getName()).log(Level.WARNING, "Error: Couldn't open recent case at " + casePath, ex); //NON-NLS } } diff --git a/Core/src/org/sleuthkit/autopsy/core/Installer.java b/Core/src/org/sleuthkit/autopsy/core/Installer.java index 25a71e5988..2a66309d4e 100644 --- a/Core/src/org/sleuthkit/autopsy/core/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/core/Installer.java @@ -65,9 +65,9 @@ public class Installer extends ModuleInstall { //We should update this if we officially switch to a new version of CRT/compiler System.loadLibrary("msvcr100"); //NON-NLS System.loadLibrary("msvcp100"); //NON-NLS - logger.log(Level.INFO, "MS CRT libraries loaded"); //NON-NLS + logger.log(Level.INFO, "MSVCR100 and MSVCP100 libraries loaded"); //NON-NLS } catch (UnsatisfiedLinkError e) { - logger.log(Level.SEVERE, "Error loading ms crt libraries, ", e); //NON-NLS + logger.log(Level.SEVERE, "Error loading MSVCR100 and MSVCP100 libraries, ", e); //NON-NLS } try { @@ -83,7 +83,35 @@ public class Installer extends ModuleInstall { } catch (UnsatisfiedLinkError e) { logger.log(Level.SEVERE, "Error loading EWF library, ", e); //NON-NLS } - } + + try { + System.loadLibrary("libeay32"); //NON-NLS + logger.log(Level.INFO, "LIBEAY32 library loaded"); //NON-NLS + } catch (UnsatisfiedLinkError e) { + logger.log(Level.SEVERE, "Error loading LIBEAY32 library, ", e); //NON-NLS + } + + try { + System.loadLibrary("ssleay32"); //NON-NLS + logger.log(Level.INFO, "SSLEAY32 library loaded"); //NON-NLS + } catch (UnsatisfiedLinkError e) { + logger.log(Level.SEVERE, "Error loading SSLEAY32 library, ", e); //NON-NLS + } + + try { + System.loadLibrary("libintl-8"); //NON-NLS + logger.log(Level.INFO, "libintl-8 library loaded"); //NON-NLS + } catch (UnsatisfiedLinkError e) { + logger.log(Level.SEVERE, "Error loading libintl-8 library, ", e); //NON-NLS + } + + try { + System.loadLibrary("libpq"); //NON-NLS + logger.log(Level.INFO, "LIBPQ library loaded"); //NON-NLS + } catch (UnsatisfiedLinkError e) { + logger.log(Level.SEVERE, "Error loading LIBPQ library, ", e); //NON-NLS + } + } } public Installer() { diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java index 03a2123466..02500e529e 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java @@ -151,7 +151,7 @@ public class FileTypeNode extends DisplayableItemNode { if (UserPreferences.hideKnownFilesInViewsTree()) { query.append(" AND (known IS NULL OR known != ").append(TskData.FileKnown.KNOWN.getFileKnownValue()).append(")"); //NON-NLS } - query.append(" AND (0"); //NON-NLS + query.append(" AND (NULL"); //NON-NLS for (String s : filter.getFilter()) { query.append(" OR name LIKE '%").append(s).append("'"); //NON-NLS } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesChildren.java b/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesChildren.java index c57aef6bd0..156cf7f6b9 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesChildren.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesChildren.java @@ -20,7 +20,6 @@ package org.sleuthkit.autopsy.datamodel; import java.sql.ResultSet; import java.sql.SQLException; -import java.sql.Statement; import java.util.Arrays; import java.util.Calendar; import java.util.List; @@ -87,6 +86,7 @@ import org.sleuthkit.datamodel.TskCoreException; try (CaseDbQuery dbQuery = skCase.executeQuery(query)) { ResultSet resultSet = dbQuery.getResultSet(); + resultSet.next(); result = resultSet.getLong(1); } catch (TskCoreException | SQLException ex) { logger.log(Level.WARNING, "Couldn't get recent files results: ", ex); //NON-NLS diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java index b1a379838e..cac5131bc3 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestManager.java @@ -498,7 +498,7 @@ public class IngestManager { // Cancel all the jobs already created. Force a stack trace for the log // message. - logger.log(Level.INFO, String.format("Cancelling all ingest jobs called with %d jobs in jobsById map", this.jobsById.size()), new Exception("Cancelling all ingest jobs")); + // KDM logger.log(Level.INFO, String.format("Cancelling all ingest jobs called with %d jobs in jobsById map", this.jobsById.size()), new Exception("Cancelling all ingest jobs")); for (IngestJob job : this.jobsById.values()) { logger.log(Level.INFO, "Cancelling ingest job {0}, already cancelled is {1}", new Object[]{job.getId(), job.isCancelled()}); job.cancel(); diff --git a/build-windows.xml b/build-windows.xml index 768173d662..2f0396c7ff 100644 --- a/build-windows.xml +++ b/build-windows.xml @@ -8,7 +8,7 @@ - + @@ -29,8 +29,10 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -84,7 +111,13 @@ - + + + + + + + diff --git a/build.xml b/build.xml index 485a19dcf4..0e771ed39d 100644 --- a/build.xml +++ b/build.xml @@ -54,7 +54,7 @@ - + @@ -102,6 +102,10 @@ + + + + @@ -161,8 +165,30 @@ + + + + + Suite in ${basedir} with clusters ${cluster.path.final}, build cluster ${cluster}, and sorted modules ${modules.sorted} + + + + + + + + + + + + + + + + + @@ -189,6 +215,33 @@ + + + + + ${app.name} branding + + + + + + + + + + + + + + + +