diff --git a/Core/release/modules/ext/jython-standalone-2.7.0.jar b/Core/release/modules/ext/jython-standalone-2.7.0.jar index e7b35d6c5f68da2c4b474ddf135b03b77751d84e..0e4dc16cdbb956e53dd93041c5a058887d1531fa 100755 Binary files a/Core/release/modules/ext/jython-standalone-2.7.0.jar and b/Core/release/modules/ext/jython-standalone-2.7.0.jar differ diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestJobSettings.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestJobSettings.java index d0cb616e0676f1891ade2cf9aba18a010eacf651..14b1982d43a6ceacca318a2ae6062fe09273fd6a 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestJobSettings.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestJobSettings.java @@ -22,6 +22,7 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; +import java.io.ObjectStreamClass; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -341,7 +342,9 @@ private IngestModuleIngestJobSettings loadModuleSettings(IngestModuleFactory fac * @return The file path. */ private String getModuleSettingsFilePath(IngestModuleFactory factory) { - String fileName = factory.getClass().getCanonicalName() + IngestJobSettings.MODULE_SETTINGS_FILE_EXT; + // add serialVersionUID to maintain unique names for ingest modules with + // same factory class name. + String fileName = factory.getClass().getCanonicalName() + "-" + Long.toString(ObjectStreamClass.lookup(factory.getDefaultIngestJobSettings().getClass()).getSerialVersionUID()) + IngestJobSettings.MODULE_SETTINGS_FILE_EXT; Path path = Paths.get(this.moduleSettingsFolderPath, fileName); return path.toAbsolutePath().toString(); } @@ -384,12 +387,6 @@ private void store() { private void saveModuleSettings(IngestModuleFactory factory, IngestModuleIngestJobSettings settings) { try { String moduleSettingsFilePath = getModuleSettingsFilePath(factory); - // compiled python modules have substring org.python.proxies. It can be used to identify them. - if (isPythonModuleSettingsFile(moduleSettingsFilePath)) { - // compiled python modules have variable instance number as a part of their file name. - // This block of code gets rid of that variable instance number and helps maitains constant module name over multiple runs. - moduleSettingsFilePath = moduleSettingsFilePath.replaceAll("[$][\\d]+.settings$", "\\$.settings"); - } try (NbObjectOutputStream out = new NbObjectOutputStream(new FileOutputStream(moduleSettingsFilePath))) { out.writeObject(settings); }