From 78307c65e5412a18efd74210aabbcefb7f75db69 Mon Sep 17 00:00:00 2001 From: rishwanth1995 Date: Thu, 16 Aug 2018 16:28:02 -0400 Subject: [PATCH 01/12] localdisk selection dialog new details column --- .../casemodule/LocalDiskSelectionDialog.java | 14 +++++-- .../autopsy/coreutils/LocalDisk.java | 39 +++++++++++++++++++ .../autopsy/coreutils/PlatformUtil.java | 8 ++++ 3 files changed, 58 insertions(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java index bd2343ced6e..9feb86d1770 100755 --- a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java @@ -295,13 +295,17 @@ public int getRowCount() { @Override public int getColumnCount() { - return 2; - + if (PlatformUtil.isLinuxOS()) { + return 3; + } else { + return 2; + } } @NbBundle.Messages({ "LocalDiskSelectionDialog.columnName.diskName=Disk Name", - "LocalDiskSelectionDialog.columnName.diskSize=Disk Size" + "LocalDiskSelectionDialog.columnName.diskSize=Disk Size", + "LocalDiskSelectionDialog.columnName.mountPoint=Mount Point" }) @Override @@ -311,6 +315,8 @@ public String getColumnName(int columnIndex) { return Bundle.LocalDiskSelectionDialog_columnName_diskName(); case 1: return Bundle.LocalDiskSelectionDialog_columnName_diskSize(); + case 2: + return Bundle.LocalDiskSelectionDialog_columnName_mountPoint(); default: return "Unnamed"; //NON-NLS } @@ -337,6 +343,8 @@ public Object getValueAt(int rowIndex, int columnIndex) { return disks.get(rowIndex).getName(); case 1: return disks.get(rowIndex).getReadableSize(); + case 2: + return disks.get(rowIndex).getMountPoint(); default: return disks.get(rowIndex).getPath(); } diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java index dce10640aa9..b0ad7607001 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java @@ -18,6 +18,13 @@ */ package org.sleuthkit.autopsy.coreutils; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.List; +import org.openide.util.Exceptions; + /** * Representation of a PhysicalDisk or partition. */ @@ -26,11 +33,15 @@ public class LocalDisk { private String name; private String path; private long size; + private String mountPoint = null; public LocalDisk(String name, String path, long size) { this.name = name; this.path = path; this.size = size; + if (PlatformUtil.isLinuxOS()) { + findMointPoint(this.path); + } } public String getName() { @@ -45,6 +56,10 @@ public long getSize() { return size; } + public String getMountPoint() { + return mountPoint; + } + public String getReadableSize() { int unit = 1024; if (size < unit) { @@ -60,4 +75,28 @@ public String toString() { return name + ": " + getReadableSize(); } + private void findMointPoint(String path) { + try { + List commandLine = new ArrayList<>(); + commandLine.add("/bin/bash"); + commandLine.add("-c"); + commandLine.add("df -h | grep " + path + " | awk '{print $6}'"); + + ProcessBuilder pb = new ProcessBuilder(commandLine); + Process process = pb.start(); + + BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); + StringBuilder builder = new StringBuilder(); + String line = null; + while ((line = reader.readLine()) != null) { + builder.append(line); + builder.append(System.getProperty("line.separator")); + } + this.mountPoint = builder.toString(); + process.destroy(); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } + } + } diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java index f0a3086588d..3d9a5a9f1dc 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java @@ -290,6 +290,14 @@ public static String getOSArch() { public static boolean isWindowsOS() { return PlatformUtil.getOSName().toLowerCase().contains("windows"); //NON-NLS } + /** + * Check if running on Linux OS + * + * @return true if running on Linux OS + */ + public static boolean isLinuxOS() { + return PlatformUtil.getOSName().toLowerCase().contains("nux"); + } /** * Convert file path (quote) for OS specific From ccce8ba006142eb86f4347d0df2fcf1d8942a964 Mon Sep 17 00:00:00 2001 From: rishwanth1995 Date: Mon, 20 Aug 2018 15:40:54 -0400 Subject: [PATCH 02/12] temp changes --- .../autopsy/casemodule/LocalDiskSelectionDialog.java | 4 ++-- Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java index 9feb86d1770..3bed6f97e7a 100755 --- a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java @@ -305,7 +305,7 @@ public int getColumnCount() { @NbBundle.Messages({ "LocalDiskSelectionDialog.columnName.diskName=Disk Name", "LocalDiskSelectionDialog.columnName.diskSize=Disk Size", - "LocalDiskSelectionDialog.columnName.mountPoint=Mount Point" + "LocalDiskSelectionDialog.columnName.Details=Details" }) @Override @@ -316,7 +316,7 @@ public String getColumnName(int columnIndex) { case 1: return Bundle.LocalDiskSelectionDialog_columnName_diskSize(); case 2: - return Bundle.LocalDiskSelectionDialog_columnName_mountPoint(); + return Bundle.LocalDiskSelectionDialog_columnName_Details(); default: return "Unnamed"; //NON-NLS } diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java index b0ad7607001..a2193816501 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java @@ -23,6 +23,7 @@ import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; +import org.openide.modules.Places; import org.openide.util.Exceptions; /** @@ -98,5 +99,9 @@ private void findMointPoint(String path) { Exceptions.printStackTrace(ex); } } + + public boolean isConfigDrive() { + return Places.getUserDirectory().toString() == this.mountPoint; + } } From edad789453f2980791a7e3b39d7a9eee041fcd57 Mon Sep 17 00:00:00 2001 From: rishwanth1995 Date: Fri, 24 Aug 2018 09:43:59 -0400 Subject: [PATCH 03/12] check for config drive in selection dialog --- .../casemodule/LocalDiskSelectionDialog.java | 2 +- .../sleuthkit/autopsy/coreutils/LocalDisk.java | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java index 3bed6f97e7a..6172b1d32a5 100755 --- a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java @@ -344,7 +344,7 @@ public Object getValueAt(int rowIndex, int columnIndex) { case 1: return disks.get(rowIndex).getReadableSize(); case 2: - return disks.get(rowIndex).getMountPoint(); + return disks.get(rowIndex).getDetail(); default: return disks.get(rowIndex).getPath(); } diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java index a2193816501..953820f6831 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java @@ -19,6 +19,7 @@ package org.sleuthkit.autopsy.coreutils; import java.io.BufferedReader; +import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; @@ -60,6 +61,13 @@ public long getSize() { public String getMountPoint() { return mountPoint; } + + public String getDetail() { + if(isConfigDrive()) { + return mountPoint + ", " + "Autopsy Config"; + } + return mountPoint; + } public String getReadableSize() { int unit = 1024; @@ -91,7 +99,6 @@ private void findMointPoint(String path) { String line = null; while ((line = reader.readLine()) != null) { builder.append(line); - builder.append(System.getProperty("line.separator")); } this.mountPoint = builder.toString(); process.destroy(); @@ -101,7 +108,11 @@ private void findMointPoint(String path) { } public boolean isConfigDrive() { - return Places.getUserDirectory().toString() == this.mountPoint; + System.out.println(this.mountPoint + File.separator + "AutopsyConfig"); + File autopsyConfig = new File(this.mountPoint + File.separator + "AutopsyConfig"); + return autopsyConfig.exists(); } + + } From 68bb76b429c234c854258c49648a1d2b6673fb13 Mon Sep 17 00:00:00 2001 From: rishwanth1995 Date: Tue, 28 Aug 2018 13:09:21 -0400 Subject: [PATCH 04/12] added autopsy config, autopsy iso to details column --- .../sleuthkit/autopsy/coreutils/LocalDisk.java | 18 ++++++++++++------ .../autopsy/coreutils/PlatformUtil.java | 15 +++++++++++++-- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java index 953820f6831..9b3bbed3815 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java @@ -22,9 +22,10 @@ import java.io.File; import java.io.IOException; import java.io.InputStreamReader; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; -import org.openide.modules.Places; import org.openide.util.Exceptions; /** @@ -65,6 +66,8 @@ public String getMountPoint() { public String getDetail() { if(isConfigDrive()) { return mountPoint + ", " + "Autopsy Config"; + } else if (isAutopsyISO()) { + return mountPoint + ", " + "Autopsy ISO"; } return mountPoint; } @@ -107,12 +110,15 @@ private void findMointPoint(String path) { } } - public boolean isConfigDrive() { - System.out.println(this.mountPoint + File.separator + "AutopsyConfig"); - File autopsyConfig = new File(this.mountPoint + File.separator + "AutopsyConfig"); - return autopsyConfig.exists(); + public boolean isConfigDrive() { + Path path = Paths.get(this.mountPoint, "AutopsyConfig"); + File configFile = new File(path.toString()); + return configFile.exists(); } + public boolean isAutopsyISO() { + Path path = Paths.get(this.mountPoint); + return path.toString().equals("/cdrom"); + } - } diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java index 3d9a5a9f1dc..1ec6ecf4902 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java @@ -298,6 +298,15 @@ public static boolean isWindowsOS() { public static boolean isLinuxOS() { return PlatformUtil.getOSName().toLowerCase().contains("nux"); } + + /** + * Check if running on MAC OS + * + * @return true if running on MAC OS + */ + public static boolean isMacOS() { + return PlatformUtil.getOSName().toLowerCase().contains("mac"); + } /** * Convert file path (quote) for OS specific @@ -370,11 +379,12 @@ public static List getPhysicalDrives() { } // Linux drives } else { + int drivelength = isLinuxOS() ? 3 : 5; File dev = new File("/dev/"); File[] files = dev.listFiles(); for (File f : files) { String name = f.getName(); - if ((name.contains("hd") || name.contains("sd") || name.contains("disk")) && f.canRead() && name.length() <= 5) { //NON-NLS + if ((name.contains("hd") || name.contains("sd") || name.contains("disk")) && f.canRead() && name.length() == drivelength) { //NON-NLS String path = "/dev/" + name; //NON-NLS if (canReadDrive(path)) { try { @@ -413,11 +423,12 @@ public static List getPartitions() { } } } else { + int partitionLength = isLinuxOS() ? 4 : 7; File dev = new File("/dev/"); File[] files = dev.listFiles(); for (File f : files) { String name = f.getName(); - if ((name.contains("hd") || name.contains("sd") || name.contains("disk")) && f.canRead() && name.length() <= 7) { //NON-NLS + if ((name.contains("hd") || name.contains("sd") || name.contains("disk")) && f.canRead() && name.length() == partitionLength) { //NON-NLS String path = "/dev/" + name; //NON-NLS if (canReadDrive(path)) { drives.add(new LocalDisk(path, path, f.getTotalSpace())); From 406098fc20a713b06d1fdcb31d3c3e2b3c6dd14d Mon Sep 17 00:00:00 2001 From: rishwanth1995 Date: Tue, 28 Aug 2018 13:52:57 -0400 Subject: [PATCH 05/12] added logger in localdisk.java --- Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java index 9b3bbed3815..3b1de54eadc 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java @@ -26,7 +26,7 @@ import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; -import org.openide.util.Exceptions; +import java.util.logging.Level; /** * Representation of a PhysicalDisk or partition. @@ -37,6 +37,7 @@ public class LocalDisk { private String path; private long size; private String mountPoint = null; + private static final Logger logger = Logger.getLogger(LocalDisk.class.getName()); public LocalDisk(String name, String path, long size) { this.name = name; @@ -106,7 +107,7 @@ private void findMointPoint(String path) { this.mountPoint = builder.toString(); process.destroy(); } catch (IOException ex) { - Exceptions.printStackTrace(ex); + logger.log(Level.WARNING, "Unable to find the mount point for the device", ex); } } From ef0a881e6b382f9b6ed7dd556afbefde939d12ae Mon Sep 17 00:00:00 2001 From: Brian Carrier Date: Fri, 14 Sep 2018 13:24:41 -0400 Subject: [PATCH 06/12] Comment updates. --- .../autopsy/coreutils/LocalDisk.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java index 3b1de54eadc..e16c2c067d3 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java @@ -36,14 +36,15 @@ public class LocalDisk { private String name; private String path; private long size; - private String mountPoint = null; + private String mountPoint; private static final Logger logger = Logger.getLogger(LocalDisk.class.getName()); public LocalDisk(String name, String path, long size) { this.name = name; this.path = path; this.size = size; - if (PlatformUtil.isLinuxOS()) { + mountPoint = ""; + if (PlatformUtil.isLinuxOS() ) { findMointPoint(this.path); } } @@ -60,6 +61,10 @@ public long getSize() { return size; } + /** + * NOTE: Currently works only under Linux + * @returns empty string if unknown + */ public String getMountPoint() { return mountPoint; } @@ -88,7 +93,7 @@ public String toString() { return name + ": " + getReadableSize(); } - private void findMointPoint(String path) { + private void findLinuxMointPoint(String path) { try { List commandLine = new ArrayList<>(); commandLine.add("/bin/bash"); @@ -111,15 +116,22 @@ private void findMointPoint(String path) { } } + /** + * Does this drive contain an AutopsyConfig folder? + * requires the mount point to be known + */ public boolean isConfigDrive() { Path path = Paths.get(this.mountPoint, "AutopsyConfig"); File configFile = new File(path.toString()); return configFile.exists(); } + /** + * Need to better define what this method does.. + * I (BC) am not sure it should be public API. + */ public boolean isAutopsyISO() { Path path = Paths.get(this.mountPoint); return path.toString().equals("/cdrom"); } - } From 0b88900fce044af6a60ce4cb8e553ab65c6becbe Mon Sep 17 00:00:00 2001 From: Brian Carrier Date: Fri, 14 Sep 2018 13:48:54 -0400 Subject: [PATCH 07/12] Update LocalDisk.java --- Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java index e16c2c067d3..7a6da5ca811 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java @@ -45,7 +45,7 @@ public LocalDisk(String name, String path, long size) { this.size = size; mountPoint = ""; if (PlatformUtil.isLinuxOS() ) { - findMointPoint(this.path); + findLinuxMointPoint(this.path); } } From e8ea8bcbe887df0dc773c6585bd1901dbf44fa05 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 30 Sep 2022 11:57:57 -0400 Subject: [PATCH 08/12] changes to reduce public api surface area --- .../autopsy/casemodule/Bundle.properties-MERGED | 1 + .../osaccount/Bundle.properties-MERGED | 1 + .../sleuthkit/autopsy/coreutils/LocalDisk.java | 17 ++++++++--------- .../autopsy/coreutils/PlatformUtil.java | 16 ++++------------ .../actionhelpers/Bundle.properties-MERGED | 3 +++ .../infrastructure/Bundle.properties-MERGED | 15 +++++++++++++++ .../autoingest/Bundle.properties-MERGED | 2 ++ .../keywordsearch/Bundle.properties-MERGED | 3 +-- .../recentactivity/Bundle.properties-MERGED | 14 ++++++++++++++ .../org/netbeans/core/startup/Bundle.properties | 4 ++-- .../core/windows/view/ui/Bundle.properties | 6 +++--- 11 files changed, 54 insertions(+), 28 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties-MERGED index 528d3a50883..297974626fe 100755 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties-MERGED @@ -168,6 +168,7 @@ LocalDiskPanel.imageWriterError.isDirectory=Error - VHD path is a directory LocalDiskPanel.localDiskMessage.unspecified=Unspecified LocalDiskPanel.moduleErrorMessage.body=A module caused an error listening to LocalDiskPanel updates. See log to determine which module. Some data could be incomplete. LocalDiskPanel.moduleErrorMessage.title=Module Error +LocalDiskSelectionDialog.columnName.Details=Details LocalDiskSelectionDialog.columnName.diskName=Disk Name LocalDiskSelectionDialog.columnName.diskSize=Disk Size LocalDiskSelectionDialog.errorMessage.disksNotDetected=Disks were not detected. On some systems it requires admin privileges (or "Run as administrator"). diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle.properties-MERGED index d74307642ce..17353df2d40 100755 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle.properties-MERGED @@ -4,6 +4,7 @@ OsAccountDataPanel_basic_admin=Administrator OsAccountDataPanel_basic_creationDate=Creation Date OsAccountDataPanel_basic_fullname=Full Name OsAccountDataPanel_basic_login=Login +OsAccountDataPanel_basic_objId=Object ID OsAccountDataPanel_basic_title=Basic Properties OsAccountDataPanel_basic_type=Type OsAccountDataPanel_data_accessed_title=Last Login diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java index 7a6da5ca811..de1cffc74fc 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java @@ -60,15 +60,14 @@ public String getPath() { public long getSize() { return size; } - + /** - * NOTE: Currently works only under Linux - * @returns empty string if unknown + * Returns details about the mount point + * of the drive as well as if it is an Autopsy + * config or iso. + * + * NOTE: Currently only works for linux. */ - public String getMountPoint() { - return mountPoint; - } - public String getDetail() { if(isConfigDrive()) { return mountPoint + ", " + "Autopsy Config"; @@ -120,7 +119,7 @@ private void findLinuxMointPoint(String path) { * Does this drive contain an AutopsyConfig folder? * requires the mount point to be known */ - public boolean isConfigDrive() { + private boolean isConfigDrive() { Path path = Paths.get(this.mountPoint, "AutopsyConfig"); File configFile = new File(path.toString()); return configFile.exists(); @@ -130,7 +129,7 @@ public boolean isConfigDrive() { * Need to better define what this method does.. * I (BC) am not sure it should be public API. */ - public boolean isAutopsyISO() { + private boolean isAutopsyISO() { Path path = Paths.get(this.mountPoint); return path.toString().equals("/cdrom"); } diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java index 05186c4e07b..e777292f1f5 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java @@ -334,22 +334,14 @@ public static String getOSArch() { public static boolean isWindowsOS() { return PlatformUtil.getOSName().toLowerCase().contains("windows"); //NON-NLS } + /** * Check if running on Linux OS * * @return true if running on Linux OS */ public static boolean isLinuxOS() { - return PlatformUtil.getOSName().toLowerCase().contains("nux"); - } - - /** - * Check if running on MAC OS - * - * @return true if running on MAC OS - */ - public static boolean isMacOS() { - return PlatformUtil.getOSName().toLowerCase().contains("mac"); + return PlatformUtil.getOSName().toLowerCase().contains("linux"); } /** @@ -428,7 +420,7 @@ public static List getPhysicalDrives() { File[] files = dev.listFiles(); for (File f : files) { String name = f.getName(); - if ((name.contains("hd") || name.contains("sd") || name.contains("disk")) && f.canRead() && name.length() == drivelength) { //NON-NLS + if ((name.contains("hd") || name.contains("sd") || name.contains("disk")) && f.canRead() && name.length() <= drivelength) { //NON-NLS String path = "/dev/" + name; //NON-NLS if (canReadDrive(path)) { try { @@ -472,7 +464,7 @@ public static List getPartitions() { File[] files = dev.listFiles(); for (File f : files) { String name = f.getName(); - if ((name.contains("hd") || name.contains("sd") || name.contains("disk")) && f.canRead() && name.length() == partitionLength) { //NON-NLS + if ((name.contains("hd") || name.contains("sd") || name.contains("disk")) && f.canRead() && name.length() <= partitionLength) { //NON-NLS String path = "/dev/" + name; //NON-NLS if (canReadDrive(path)) { drives.add(new LocalDisk(path, path, f.getTotalSpace())); diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle.properties-MERGED index ec1a9bc5ccb..28c8c2c7a5d 100644 --- a/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle.properties-MERGED @@ -1,6 +1,9 @@ ExtractActionHelper.extractFiles.cantCreateFolderErr.msg=Could not create selected folder. ExtractActionHelper.confDlg.destFileExist.msg=Destination file {0} already exists, overwrite? ExtractActionHelper.confDlg.destFileExist.title=File Exists +# {0} - fileName +ExtractActionHelper.extractOverwrite.msg=A file already exists at {0}. Do you want to overwrite the existing file? +ExtractActionHelper.extractOverwrite.title=Export to csv file ExtractActionHelper.msgDlg.cantOverwriteFile.msg=Could not overwrite existing file {0} ExtractActionHelper.noOpenCase.errMsg=No open case available. ExtractActionHelper.notifyDlg.noFileToExtr.msg=No file(s) to extract. diff --git a/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle.properties-MERGED index 5dcbb7f7dda..ab713103e74 100755 --- a/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle.properties-MERGED @@ -9,6 +9,21 @@ PortableCaseTagsListPanel.error.noOpenCase=There is no case open ReportGenerator.artTableColHdr.comment=Comment ReportGenerator.errList.failedGetBBArtifactTags=Failed to get result tags. ReportGenerator.errList.noOpenCase=No open case available. +# {0} - report module name +ReportGenerator.error.exception=Exception while running report module {0} +# {0} - report module name +ReportGenerator.error.invalidSettings=Invalid settings for report module {0} +# {0} - report module name +ReportGenerator.error.moduleNotFound=Report module {0} not found +# {0} - report module name +ReportGenerator.error.noFileReportSettings=No file report settings for report module {0} +ReportGenerator.error.noReportModules=No report modules found +# {0} - report module name +ReportGenerator.error.noTableReportSettings=No table report settings for report module {0} +# {0} - report configuration name +ReportGenerator.error.unableToLoadConfig=Unable to load reporting configuration {0}. +# {0} - report module name +ReportGenerator.error.unsupportedType=Report module {0} has unsupported report module type ReportGenerator.tagTable.header.userName=User Name ReportProgressIndicator.cancelledMessage=Report generation cancelled ReportProgressIndicator.completedMessage=Report generation completed diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED index 33de996d54e..ef7b51b73f2 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED @@ -214,7 +214,9 @@ DeleteCaseTask.progress.parsingManifest=Parsing manifest file {0}... DeleteCaseTask.progress.releasingManifestLock=Releasing lock on the manifest file {0}... DeleteCaseTask.progress.startMessage=Starting deletion... DeleteOrphanCaseNodesAction.progressDisplayName=Cleanup Case Znodes +# {0} - item count DeleteOrphanCaseNodesDialog.additionalInit.lblNodeCount.text=Znodes found: {0} +# {0} - item count DeleteOrphanCaseNodesDialog.additionalInit.znodesTextArea.countMessage=ZNODES FOUND: {0} DeleteOrphanCaseNodesTask.progress.connectingToCoordSvc=Connecting to the coordination service # {0} - node path diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED index 388f9512766..b1405f68cc0 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED @@ -52,7 +52,7 @@ KeywordSearchResultFactory.createNodeForKey.noResultsFound.text=No results found KeywordSearchResultFactory.query.exception.msg=Could not perform the query OpenIDE-Module-Display-Category=Ingest Module -OpenIDE-Module-Long-Description=Keyword Search ingest module.\n\nThe module indexes files found in the disk image at ingest time.\nIt then periodically runs the search on the indexed files using one or more keyword lists (containing pure words and/or regular expressions) and posts results.\n\nThe module also contains additional tools integrated in the main GUI, such as keyword list configuration, keyword search bar in the top-right corner, extracted text viewer and search results viewer showing highlighted keywords found. +OpenIDE-Module-Long-Description=Keyword Search ingest module.\n\nThe module indexes files found in the disk image at ingest time.\nIt then periodically runs the search on the indexed files using one or more keyword lists (containing pure words and/or regular expressions) and posts results.\n\n\The module also contains additional tools integrated in the main GUI, such as keyword list configuration, keyword search bar in the top-right corner, extracted text viewer and search results viewer showing highlighted keywords found. OpenIDE-Module-Name=KeywordSearch OptionsCategory_Name_KeywordSearchOptions=Keyword Search OptionsCategory_Keywords_KeywordSearchOptions=Keyword Search @@ -371,7 +371,6 @@ SolrSearchService.exceptionMessage.noCurrentSolrCore=IndexMetadata did not conta SolrSearchService.exceptionMessage.noIndexMetadata=Unable to create IndexMetaData from case directory: {0} # {0} - collection name SolrSearchService.exceptionMessage.unableToDeleteCollection=Unable to delete collection {0} -SolrSearchService.indexingError=Unable to index blackboard artifact. SolrSearchService.ServiceName=Solr Keyword Search Service SolrSearchService.DeleteDataSource.msg=Error Deleting Solr data for data source id {0} DropdownSingleTermSearchPanel.dataSourceCheckBox.text=Restrict search to the selected data sources: diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties-MERGED b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties-MERGED index 3713b44c2d3..bd7737dfb9a 100755 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties-MERGED +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties-MERGED @@ -4,10 +4,15 @@ cannotParseXml=Unable to parse XML file: ChromeCacheExtract_adding_artifacts_msg=Chrome Cache: Adding %d artifacts for analysis. ChromeCacheExtract_adding_extracted_files_msg=Chrome Cache: Adding %d extracted files for analysis. ChromeCacheExtract_loading_files_msg=Chrome Cache: Loading files from %s. +# {0} - module name +# {1} - row number +# {2} - table length +# {3} - cache path ChromeCacheExtractor.progressMsg={0}: Extracting cache entry {1} of {2} entries from {3} DataSourceUsage_AndroidMedia=Android Media Card DataSourceUsage_DJU_Drone_DAT=DJI Internal SD Card DataSourceUsage_FlashDrive=Flash Drive +# {0} - OS name DataSourceUsageAnalyzer.customVolume.label=OS Drive ({0}) DataSourceUsageAnalyzer.displayName=Data Source Usage Analyzer DefaultPriorityDomainCategorizer_searchEngineCategory=Search Engine @@ -21,6 +26,7 @@ ExtractEdge_process_errMsg_spartanFail=Failure processing Microsoft Edge spartan ExtractEdge_process_errMsg_unableFindESEViewer=Unable to find ESEDatabaseViewer ExtractEdge_process_errMsg_webcacheFail=Failure processing Microsoft Edge WebCacheV01.dat file ExtractFavicon_Display_Name=Favicon +# {0} - sub module name ExtractIE_executePasco_errMsg_errorRunningPasco={0}: Error analyzing Internet Explorer web history ExtractOs.androidOs.label=Android ExtractOs.androidVolume.label=OS Drive (Android) @@ -53,6 +59,7 @@ ExtractOs.windowsVolume.label=OS Drive (Windows) ExtractOs.yellowDogLinuxOs.label=Linux (Yellow Dog) ExtractOs.yellowDogLinuxVolume.label=OS Drive (Linux Yellow Dog) ExtractOS_progressMessage=Checking for OS +# {0} - sub module name ExtractPrefetch_errMsg_prefetchParsingFailed={0}: Error analyzing prefetch files ExtractPrefetch_module_name=Windows Prefetch Analyzer ExtractRecycleBin_module_name=Recycle Bin Analyzer @@ -163,15 +170,21 @@ Firefox.getDlV24.errMsg.errAnalyzeFile={0}: Error while trying to analyze file:{ Firefox.getDlV24.errMsg.errParsingArtifacts={0}: Error parsing {1} Firefox web download artifacts. Progress_Message_Analyze_Registry=Analyzing Registry Files Progress_Message_Analyze_Usage=Data Sources Usage Analysis +# {0} - browserName Progress_Message_Chrome_AutoFill=Chrome Auto Fill Browser {0} +# {0} - browserName Progress_Message_Chrome_Bookmarks=Chrome Bookmarks Browser {0} Progress_Message_Chrome_Cache=Chrome Cache +# {0} - browserName Progress_Message_Chrome_Cookies=Chrome Cookies Browser {0} +# {0} - browserName Progress_Message_Chrome_Downloads=Chrome Downloads Browser {0} Progress_Message_Chrome_Extensions=Chrome Extensions {0} Progress_Message_Chrome_Favicons=Chrome Downloads Favicons {0} Progress_Message_Chrome_FormHistory=Chrome Form History +# {0} - browserName Progress_Message_Chrome_History=Chrome History Browser {0} +# {0} - browserName Progress_Message_Chrome_Logins=Chrome Logins Browser {0} Progress_Message_Chrome_Profiles=Chrome Profiles {0} Progress_Message_Edge_Bookmarks=Microsoft Edge Bookmarks @@ -234,6 +247,7 @@ Sam_Security_Answer_3_Attribute_Display_Name=Security Answer 3 Sam_Security_Question_1_Attribute_Display_Name=Security Question 1 Sam_Security_Question_2_Attribute_Display_Name=Security Question 2 Sam_Security_Question_3_Attribute_Display_Name=Security Question 3 +# {0} - file name SearchEngineURLQueryAnalyzer.init.exception.msg=Unable to find {0}. SearchEngineURLQueryAnalyzer.moduleName.text=Search Engine Query Analyzer SearchEngineURLQueryAnalyzer.engineName.none=NONE diff --git a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties index 87be1c8010b..b086d7c82e4 100644 --- a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties +++ b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties @@ -1,5 +1,5 @@ #Updated by build script -#Wed, 01 Dec 2021 12:53:03 -0500 +#Fri, 30 Sep 2022 11:47:22 -0400 LBL_splash_window_title=Starting Autopsy SPLASH_HEIGHT=314 SPLASH_WIDTH=538 @@ -8,4 +8,4 @@ SplashRunningTextBounds=0,289,538,18 SplashRunningTextColor=0x0 SplashRunningTextFontSize=19 -currentVersion=Autopsy 4.19.2 +currentVersion=Autopsy 4.19.3 diff --git a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties index bfb787467d7..f05a779e68f 100644 --- a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties +++ b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties @@ -1,4 +1,4 @@ #Updated by build script -#Wed, 01 Dec 2021 12:53:03 -0500 -CTL_MainWindow_Title=Autopsy 4.19.2 -CTL_MainWindow_Title_No_Project=Autopsy 4.19.2 +#Fri, 30 Sep 2022 11:47:22 -0400 +CTL_MainWindow_Title=Autopsy 4.19.3 +CTL_MainWindow_Title_No_Project=Autopsy 4.19.3 From 1335e8971da0d768c606bc6fc201fded7e25b2db Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Mon, 3 Oct 2022 07:50:58 -0400 Subject: [PATCH 09/12] fix accidental properties commit --- .../osaccount/Bundle.properties-MERGED | 1 - .../actionhelpers/Bundle.properties-MERGED | 3 --- .../infrastructure/Bundle.properties-MERGED | 15 --------------- .../autoingest/Bundle.properties-MERGED | 2 -- .../keywordsearch/Bundle.properties-MERGED | 3 ++- .../recentactivity/Bundle.properties-MERGED | 14 -------------- .../core/windows/view/ui/Bundle.properties | 6 +++--- 7 files changed, 5 insertions(+), 39 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle.properties-MERGED index 17353df2d40..d74307642ce 100755 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle.properties-MERGED @@ -4,7 +4,6 @@ OsAccountDataPanel_basic_admin=Administrator OsAccountDataPanel_basic_creationDate=Creation Date OsAccountDataPanel_basic_fullname=Full Name OsAccountDataPanel_basic_login=Login -OsAccountDataPanel_basic_objId=Object ID OsAccountDataPanel_basic_title=Basic Properties OsAccountDataPanel_basic_type=Type OsAccountDataPanel_data_accessed_title=Last Login diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle.properties-MERGED index 28c8c2c7a5d..ec1a9bc5ccb 100644 --- a/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle.properties-MERGED @@ -1,9 +1,6 @@ ExtractActionHelper.extractFiles.cantCreateFolderErr.msg=Could not create selected folder. ExtractActionHelper.confDlg.destFileExist.msg=Destination file {0} already exists, overwrite? ExtractActionHelper.confDlg.destFileExist.title=File Exists -# {0} - fileName -ExtractActionHelper.extractOverwrite.msg=A file already exists at {0}. Do you want to overwrite the existing file? -ExtractActionHelper.extractOverwrite.title=Export to csv file ExtractActionHelper.msgDlg.cantOverwriteFile.msg=Could not overwrite existing file {0} ExtractActionHelper.noOpenCase.errMsg=No open case available. ExtractActionHelper.notifyDlg.noFileToExtr.msg=No file(s) to extract. diff --git a/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle.properties-MERGED index ab713103e74..5dcbb7f7dda 100755 --- a/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle.properties-MERGED @@ -9,21 +9,6 @@ PortableCaseTagsListPanel.error.noOpenCase=There is no case open ReportGenerator.artTableColHdr.comment=Comment ReportGenerator.errList.failedGetBBArtifactTags=Failed to get result tags. ReportGenerator.errList.noOpenCase=No open case available. -# {0} - report module name -ReportGenerator.error.exception=Exception while running report module {0} -# {0} - report module name -ReportGenerator.error.invalidSettings=Invalid settings for report module {0} -# {0} - report module name -ReportGenerator.error.moduleNotFound=Report module {0} not found -# {0} - report module name -ReportGenerator.error.noFileReportSettings=No file report settings for report module {0} -ReportGenerator.error.noReportModules=No report modules found -# {0} - report module name -ReportGenerator.error.noTableReportSettings=No table report settings for report module {0} -# {0} - report configuration name -ReportGenerator.error.unableToLoadConfig=Unable to load reporting configuration {0}. -# {0} - report module name -ReportGenerator.error.unsupportedType=Report module {0} has unsupported report module type ReportGenerator.tagTable.header.userName=User Name ReportProgressIndicator.cancelledMessage=Report generation cancelled ReportProgressIndicator.completedMessage=Report generation completed diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED index ef7b51b73f2..33de996d54e 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED @@ -214,9 +214,7 @@ DeleteCaseTask.progress.parsingManifest=Parsing manifest file {0}... DeleteCaseTask.progress.releasingManifestLock=Releasing lock on the manifest file {0}... DeleteCaseTask.progress.startMessage=Starting deletion... DeleteOrphanCaseNodesAction.progressDisplayName=Cleanup Case Znodes -# {0} - item count DeleteOrphanCaseNodesDialog.additionalInit.lblNodeCount.text=Znodes found: {0} -# {0} - item count DeleteOrphanCaseNodesDialog.additionalInit.znodesTextArea.countMessage=ZNODES FOUND: {0} DeleteOrphanCaseNodesTask.progress.connectingToCoordSvc=Connecting to the coordination service # {0} - node path diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED index b1405f68cc0..388f9512766 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED @@ -52,7 +52,7 @@ KeywordSearchResultFactory.createNodeForKey.noResultsFound.text=No results found KeywordSearchResultFactory.query.exception.msg=Could not perform the query OpenIDE-Module-Display-Category=Ingest Module -OpenIDE-Module-Long-Description=Keyword Search ingest module.\n\nThe module indexes files found in the disk image at ingest time.\nIt then periodically runs the search on the indexed files using one or more keyword lists (containing pure words and/or regular expressions) and posts results.\n\n\The module also contains additional tools integrated in the main GUI, such as keyword list configuration, keyword search bar in the top-right corner, extracted text viewer and search results viewer showing highlighted keywords found. +OpenIDE-Module-Long-Description=Keyword Search ingest module.\n\nThe module indexes files found in the disk image at ingest time.\nIt then periodically runs the search on the indexed files using one or more keyword lists (containing pure words and/or regular expressions) and posts results.\n\nThe module also contains additional tools integrated in the main GUI, such as keyword list configuration, keyword search bar in the top-right corner, extracted text viewer and search results viewer showing highlighted keywords found. OpenIDE-Module-Name=KeywordSearch OptionsCategory_Name_KeywordSearchOptions=Keyword Search OptionsCategory_Keywords_KeywordSearchOptions=Keyword Search @@ -371,6 +371,7 @@ SolrSearchService.exceptionMessage.noCurrentSolrCore=IndexMetadata did not conta SolrSearchService.exceptionMessage.noIndexMetadata=Unable to create IndexMetaData from case directory: {0} # {0} - collection name SolrSearchService.exceptionMessage.unableToDeleteCollection=Unable to delete collection {0} +SolrSearchService.indexingError=Unable to index blackboard artifact. SolrSearchService.ServiceName=Solr Keyword Search Service SolrSearchService.DeleteDataSource.msg=Error Deleting Solr data for data source id {0} DropdownSingleTermSearchPanel.dataSourceCheckBox.text=Restrict search to the selected data sources: diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties-MERGED b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties-MERGED index bd7737dfb9a..3713b44c2d3 100755 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties-MERGED +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties-MERGED @@ -4,15 +4,10 @@ cannotParseXml=Unable to parse XML file: ChromeCacheExtract_adding_artifacts_msg=Chrome Cache: Adding %d artifacts for analysis. ChromeCacheExtract_adding_extracted_files_msg=Chrome Cache: Adding %d extracted files for analysis. ChromeCacheExtract_loading_files_msg=Chrome Cache: Loading files from %s. -# {0} - module name -# {1} - row number -# {2} - table length -# {3} - cache path ChromeCacheExtractor.progressMsg={0}: Extracting cache entry {1} of {2} entries from {3} DataSourceUsage_AndroidMedia=Android Media Card DataSourceUsage_DJU_Drone_DAT=DJI Internal SD Card DataSourceUsage_FlashDrive=Flash Drive -# {0} - OS name DataSourceUsageAnalyzer.customVolume.label=OS Drive ({0}) DataSourceUsageAnalyzer.displayName=Data Source Usage Analyzer DefaultPriorityDomainCategorizer_searchEngineCategory=Search Engine @@ -26,7 +21,6 @@ ExtractEdge_process_errMsg_spartanFail=Failure processing Microsoft Edge spartan ExtractEdge_process_errMsg_unableFindESEViewer=Unable to find ESEDatabaseViewer ExtractEdge_process_errMsg_webcacheFail=Failure processing Microsoft Edge WebCacheV01.dat file ExtractFavicon_Display_Name=Favicon -# {0} - sub module name ExtractIE_executePasco_errMsg_errorRunningPasco={0}: Error analyzing Internet Explorer web history ExtractOs.androidOs.label=Android ExtractOs.androidVolume.label=OS Drive (Android) @@ -59,7 +53,6 @@ ExtractOs.windowsVolume.label=OS Drive (Windows) ExtractOs.yellowDogLinuxOs.label=Linux (Yellow Dog) ExtractOs.yellowDogLinuxVolume.label=OS Drive (Linux Yellow Dog) ExtractOS_progressMessage=Checking for OS -# {0} - sub module name ExtractPrefetch_errMsg_prefetchParsingFailed={0}: Error analyzing prefetch files ExtractPrefetch_module_name=Windows Prefetch Analyzer ExtractRecycleBin_module_name=Recycle Bin Analyzer @@ -170,21 +163,15 @@ Firefox.getDlV24.errMsg.errAnalyzeFile={0}: Error while trying to analyze file:{ Firefox.getDlV24.errMsg.errParsingArtifacts={0}: Error parsing {1} Firefox web download artifacts. Progress_Message_Analyze_Registry=Analyzing Registry Files Progress_Message_Analyze_Usage=Data Sources Usage Analysis -# {0} - browserName Progress_Message_Chrome_AutoFill=Chrome Auto Fill Browser {0} -# {0} - browserName Progress_Message_Chrome_Bookmarks=Chrome Bookmarks Browser {0} Progress_Message_Chrome_Cache=Chrome Cache -# {0} - browserName Progress_Message_Chrome_Cookies=Chrome Cookies Browser {0} -# {0} - browserName Progress_Message_Chrome_Downloads=Chrome Downloads Browser {0} Progress_Message_Chrome_Extensions=Chrome Extensions {0} Progress_Message_Chrome_Favicons=Chrome Downloads Favicons {0} Progress_Message_Chrome_FormHistory=Chrome Form History -# {0} - browserName Progress_Message_Chrome_History=Chrome History Browser {0} -# {0} - browserName Progress_Message_Chrome_Logins=Chrome Logins Browser {0} Progress_Message_Chrome_Profiles=Chrome Profiles {0} Progress_Message_Edge_Bookmarks=Microsoft Edge Bookmarks @@ -247,7 +234,6 @@ Sam_Security_Answer_3_Attribute_Display_Name=Security Answer 3 Sam_Security_Question_1_Attribute_Display_Name=Security Question 1 Sam_Security_Question_2_Attribute_Display_Name=Security Question 2 Sam_Security_Question_3_Attribute_Display_Name=Security Question 3 -# {0} - file name SearchEngineURLQueryAnalyzer.init.exception.msg=Unable to find {0}. SearchEngineURLQueryAnalyzer.moduleName.text=Search Engine Query Analyzer SearchEngineURLQueryAnalyzer.engineName.none=NONE diff --git a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties index f05a779e68f..bfb787467d7 100644 --- a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties +++ b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties @@ -1,4 +1,4 @@ #Updated by build script -#Fri, 30 Sep 2022 11:47:22 -0400 -CTL_MainWindow_Title=Autopsy 4.19.3 -CTL_MainWindow_Title_No_Project=Autopsy 4.19.3 +#Wed, 01 Dec 2021 12:53:03 -0500 +CTL_MainWindow_Title=Autopsy 4.19.2 +CTL_MainWindow_Title_No_Project=Autopsy 4.19.2 From 662097cc598f496788b4bb4e6e04e190680b3218 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Mon, 3 Oct 2022 07:51:38 -0400 Subject: [PATCH 10/12] fix accidental properties commit --- .../core/core.jar/org/netbeans/core/startup/Bundle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties index b086d7c82e4..87be1c8010b 100644 --- a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties +++ b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties @@ -1,5 +1,5 @@ #Updated by build script -#Fri, 30 Sep 2022 11:47:22 -0400 +#Wed, 01 Dec 2021 12:53:03 -0500 LBL_splash_window_title=Starting Autopsy SPLASH_HEIGHT=314 SPLASH_WIDTH=538 @@ -8,4 +8,4 @@ SplashRunningTextBounds=0,289,538,18 SplashRunningTextColor=0x0 SplashRunningTextFontSize=19 -currentVersion=Autopsy 4.19.3 +currentVersion=Autopsy 4.19.2 From 93bdae237fe9243c7ddfe5f63e4c83591402196e Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Mon, 3 Oct 2022 09:29:25 -0400 Subject: [PATCH 11/12] disk selection fixes --- .../casemodule/LocalDiskSelectionDialog.form | 1 + .../casemodule/LocalDiskSelectionDialog.java | 32 ++++++++++++++++--- .../autopsy/coreutils/LocalDisk.java | 11 ------- 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.form b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.form index 3e6f74573f8..baa5bc8628d 100755 --- a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.form +++ b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.form @@ -7,6 +7,7 @@ + diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java index a8fcf8d2861..17005176180 100755 --- a/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/LocalDiskSelectionDialog.java @@ -18,19 +18,25 @@ */ package org.sleuthkit.autopsy.casemodule; +import java.awt.Component; import java.awt.Window; import java.util.ArrayList; import java.util.Collections; +import java.util.Enumeration; import java.util.Iterator; import java.util.List; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; import java.util.logging.Level; import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JTable; import javax.swing.SwingWorker; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.swing.event.TableModelListener; +import javax.swing.table.DefaultTableCellRenderer; +import javax.swing.table.TableColumn; import javax.swing.table.TableModel; import org.openide.util.NbBundle; import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessor; @@ -56,7 +62,8 @@ final class LocalDiskSelectionDialog extends JDialog { private static final long serialVersionUID = 1L; private List disks; private final LocalDiskModel model; - + private final TooltipCellRenderer tooltipCellRenderer = new TooltipCellRenderer(); + /** * Creates a new LocalDiskSelectionDialog instance. */ @@ -69,6 +76,10 @@ final class LocalDiskSelectionDialog extends JDialog { initComponents(); refreshTable(); + for (Enumeration e = localDiskTable.getColumnModel().getColumns(); e.hasMoreElements();) { + e.nextElement().setCellRenderer(tooltipCellRenderer); + } + localDiskTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { @@ -82,10 +93,7 @@ public void valueChanged(ListSelectionEvent e) { * Display the dialog. */ void display() { - setModal(true); - setSize(getPreferredSize()); setLocationRelativeTo(this.getParent()); - setAlwaysOnTop(false); setVisible(true); } @@ -109,6 +117,7 @@ private void initComponents() { setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle(org.openide.util.NbBundle.getMessage(LocalDiskSelectionDialog.class, "LocalDiskSelectionDialog.title")); // NOI18N setAlwaysOnTop(true); + setModal(true); setResizable(false); org.openide.awt.Mnemonics.setLocalizedText(selectLocalDiskLabel, org.openide.util.NbBundle.getMessage(LocalDiskSelectionDialog.class, "LocalDiskSelectionDialog.selectLocalDiskLabel.text")); // NOI18N @@ -255,6 +264,21 @@ LocalDisk getLocalDiskSelection() { } return null; } + + /** + * Shows tooltip for cell. + */ + private class TooltipCellRenderer extends DefaultTableCellRenderer { + public Component getTableCellRendererComponent( + JTable table, Object value, + boolean isSelected, boolean hasFocus, + int row, int column) { + JLabel c = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + String tooltip = value == null ? "" : value.toString(); + c.setToolTipText(tooltip); + return c; + } + } @NbBundle.Messages({ "LocalDiskSelectionDialog.tableMessage.loading=Loading local disks...", diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java index de1cffc74fc..d0f7b022d03 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java @@ -71,8 +71,6 @@ public long getSize() { public String getDetail() { if(isConfigDrive()) { return mountPoint + ", " + "Autopsy Config"; - } else if (isAutopsyISO()) { - return mountPoint + ", " + "Autopsy ISO"; } return mountPoint; } @@ -124,13 +122,4 @@ private boolean isConfigDrive() { File configFile = new File(path.toString()); return configFile.exists(); } - - /** - * Need to better define what this method does.. - * I (BC) am not sure it should be public API. - */ - private boolean isAutopsyISO() { - Path path = Paths.get(this.mountPoint); - return path.toString().equals("/cdrom"); - } } From f01654fc230174d639054723f5b94606b89bcb3d Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 4 Oct 2022 20:22:01 -0400 Subject: [PATCH 12/12] fix for cd rom --- .../coreutils/Bundle.properties-MERGED | 2 ++ .../autopsy/coreutils/LocalDisk.java | 31 +++++++++++++++---- .../autopsy/coreutils/PlatformUtil.java | 2 +- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle.properties-MERGED index a0d535f8e62..f7525c8a68c 100755 --- a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle.properties-MERGED @@ -11,6 +11,8 @@ GetOrGenerateThumbnailTask.generatingPreviewFor=Generating preview for {0} GetOrGenerateThumbnailTask.loadingThumbnailFor=Loading thumbnail for {0} ImageUtils.ffmpegLoadedError.msg=OpenCV FFMpeg library failed to load, see log for more details ImageUtils.ffmpegLoadedError.title=OpenCV FFMpeg +LocalDisk_getDetail_autopsyConfig=Autopsy Config +LocalDisk_getDetail_cdRom=CD-ROM OpenIDE-Module-Name=CoreUtils JLNK.noPrefPath.text=No preferred path found PlatformUtil.nameUnknown=unknown diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java index d0f7b022d03..741deb7f704 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/LocalDisk.java @@ -27,6 +27,7 @@ import java.util.ArrayList; import java.util.List; import java.util.logging.Level; +import org.openide.util.NbBundle.Messages; /** * Representation of a PhysicalDisk or partition. @@ -68,11 +69,21 @@ public long getSize() { * * NOTE: Currently only works for linux. */ + @Messages({ + "LocalDisk_getDetail_autopsyConfig=Autopsy Config", + "LocalDisk_getDetail_cdRom=CD-ROM", + }) public String getDetail() { + String toRet = mountPoint == null ? "" : mountPoint; if(isConfigDrive()) { - return mountPoint + ", " + "Autopsy Config"; + toRet += ", " + Bundle.LocalDisk_getDetail_autopsyConfig(); + } + + if (isCDDrive()) { + toRet += ", " + Bundle.LocalDisk_getDetail_cdRom(); } - return mountPoint; + + return toRet; } public String getReadableSize() { @@ -112,14 +123,22 @@ private void findLinuxMointPoint(String path) { logger.log(Level.WARNING, "Unable to find the mount point for the device", ex); } } - + /** - * Does this drive contain an AutopsyConfig folder? - * requires the mount point to be known + * If AutopsyConfig folder is present, linux autopsy will display drive + * details including 'Autopsy Config'. */ - private boolean isConfigDrive() { + private boolean isConfigDrive() { Path path = Paths.get(this.mountPoint, "AutopsyConfig"); File configFile = new File(path.toString()); return configFile.exists(); } + + /** + * For linux autopsy, determines if drive is CD-ROM if the device starts + * with /dev/sr. + */ + private boolean isCDDrive() { + return this.path.toString().trim().toLowerCase().startsWith("/dev/sr"); + } } diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java index e777292f1f5..20725626886 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/PlatformUtil.java @@ -420,7 +420,7 @@ public static List getPhysicalDrives() { File[] files = dev.listFiles(); for (File f : files) { String name = f.getName(); - if ((name.contains("hd") || name.contains("sd") || name.contains("disk")) && f.canRead() && name.length() <= drivelength) { //NON-NLS + if ((name.contains("hd") || name.contains("sd") || name.contains("sr") || name.contains("disk")) && f.canRead() && name.length() <= drivelength) { //NON-NLS String path = "/dev/" + name; //NON-NLS if (canReadDrive(path)) { try {