mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-15 09:17:42 +00:00
Merge branch 'collaborative' of https://github.com/sleuthkit/autopsy into output_paths
This commit is contained in:
commit
4aca91eb8e
@ -135,7 +135,8 @@ Case.createCaseDir.exception.cantCreateCaseDir=Could not create case directory\:
|
|||||||
Case.createCaseDir.exception.cantCreateModDir=Could not create modules output directory\: {0}
|
Case.createCaseDir.exception.cantCreateModDir=Could not create modules output directory\: {0}
|
||||||
Case.createCaseDir.exception.cantCreateReportsDir=Could not create reports output directory\: {0}
|
Case.createCaseDir.exception.cantCreateReportsDir=Could not create reports output directory\: {0}
|
||||||
Case.createCaseDir.exception.gen=Could not create case directory\: {0}
|
Case.createCaseDir.exception.gen=Could not create case directory\: {0}
|
||||||
Case.OpenEventChannel.ErrMsg=Case opening process failed to connect to nodes collaborating on case {0}.
|
Case.OpenEventChannel.FailPopup.ErrMsg=Failed to connect to any other nodes that may be collaborating on this case.
|
||||||
|
Case.OpenEventChannel.FailPopup.Title=Connection Failure
|
||||||
CaseDeleteAction.closeConfMsg.text=Are you sure want to close and delete this case? \n\
|
CaseDeleteAction.closeConfMsg.text=Are you sure want to close and delete this case? \n\
|
||||||
Case Name\: {0}\n\
|
Case Name\: {0}\n\
|
||||||
Case Directory\: {1}
|
Case Directory\: {1}
|
||||||
|
@ -73,6 +73,7 @@ import org.sleuthkit.datamodel.SleuthkitJNI.CaseDbHandle.AddImageProcess;
|
|||||||
public class Case implements SleuthkitCase.ErrorObserver {
|
public class Case implements SleuthkitCase.ErrorObserver {
|
||||||
|
|
||||||
private static final String autopsyVer = Version.getVersion(); // current version of autopsy. Change it when the version is changed
|
private static final String autopsyVer = Version.getVersion(); // current version of autopsy. Change it when the version is changed
|
||||||
|
private static final String EVENT_CHANNEL_NAME = "%s-Case-Events";
|
||||||
private static String appName = null;
|
private static String appName = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -272,12 +273,18 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
|||||||
RecentCases.getInstance().addRecentCase(currentCase.name, currentCase.configFilePath); // update the recent cases
|
RecentCases.getInstance().addRecentCase(currentCase.name, currentCase.configFilePath); // update the recent cases
|
||||||
if (CaseType.MULTI_USER_CASE == newCase.getCaseType()) {
|
if (CaseType.MULTI_USER_CASE == newCase.getCaseType()) {
|
||||||
try {
|
try {
|
||||||
eventPublisher.openRemoteEventChannel(newCase.getName());
|
/**
|
||||||
|
* Use the text index name as the remote event channel name
|
||||||
|
* prefix since it is unique, the same as the case database
|
||||||
|
* name for a multiuser case, and is readily available
|
||||||
|
* through the Case.getTextIndexName() API.
|
||||||
|
*/
|
||||||
|
eventPublisher.openRemoteEventChannel(String.format(EVENT_CHANNEL_NAME, newCase.getTextIndexName()));
|
||||||
} catch (AutopsyEventException ex) {
|
} catch (AutopsyEventException ex) {
|
||||||
logger.log(Level.SEVERE, "Failed to start remote event publisher", ex);
|
logger.log(Level.SEVERE, "Failed to start remote event publisher", ex);
|
||||||
MessageNotifyUtil.Message.error(NbBundle.getMessage(Case.class,
|
JOptionPane.showMessageDialog(null, NbBundle.getMessage(Case.class, "Case.OpenEventChannel.FailPopup.ErrMsg"),
|
||||||
"Case.OpenEventChannel.ErrMsg",
|
NbBundle.getMessage(Case.class, "Case.OpenEventChannel.FailPopup.Title"),
|
||||||
newCase.getName()));
|
JOptionPane.WARNING_MESSAGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
eventPublisher.publishLocally(new AutopsyEvent(Events.CURRENT_CASE.toString(), null, currentCase));
|
eventPublisher.publishLocally(new AutopsyEvent(Events.CURRENT_CASE.toString(), null, currentCase));
|
||||||
|
@ -28,7 +28,7 @@ import javax.annotation.concurrent.Immutable;
|
|||||||
@Immutable
|
@Immutable
|
||||||
public final class MessageServiceConnectionInfo {
|
public final class MessageServiceConnectionInfo {
|
||||||
|
|
||||||
private static final String MESSAGE_SERVICE_URI = "tcp://%s:%s";
|
private static final String MESSAGE_SERVICE_URI = "tcp://%s:%s?wireFormat.maxInactivityDuration=0";
|
||||||
private final String userName;
|
private final String userName;
|
||||||
private final String password;
|
private final String password;
|
||||||
private final String host;
|
private final String host;
|
||||||
|
@ -58,7 +58,8 @@ IngestManager.StartIngestJobsTask.run.startupErr.dlgMsg=Unable to start up one o
|
|||||||
IngestManager.StartIngestJobsTask.run.startupErr.dlgSolution=Please disable the failed modules or fix the errors and then restart ingest \nby right clicking on the data source and selecting Run Ingest Modules.
|
IngestManager.StartIngestJobsTask.run.startupErr.dlgSolution=Please disable the failed modules or fix the errors and then restart ingest \nby right clicking on the data source and selecting Run Ingest Modules.
|
||||||
IngestManager.StartIngestJobsTask.run.startupErr.dlgErrorList=\nErrors\: \n{0}
|
IngestManager.StartIngestJobsTask.run.startupErr.dlgErrorList=\nErrors\: \n{0}
|
||||||
IngestManager.StartIngestJobsTask.run.startupErr.dlgTitle=Ingest Failure
|
IngestManager.StartIngestJobsTask.run.startupErr.dlgTitle=Ingest Failure
|
||||||
IngestManager.OpenEventChannel.ErrMsg=Analysis process failed to connect to nodes collaborating on case {0}.
|
IngestManager.OpenEventChannel.FailPopup.ErrMsg=Analysis process failed to connect to any other nodes that may be collaborating on case.
|
||||||
|
IngestManager.OpenEventChannel.FailPopup.Title=Connection Failure
|
||||||
IngestJobSettings.createModuleSettingsFolder.warning=Failed to create ingest module settings folder, cannot save settings.
|
IngestJobSettings.createModuleSettingsFolder.warning=Failed to create ingest module settings folder, cannot save settings.
|
||||||
IngestJobSettings.missingModule.warning=Previously loaded {0} module could not be found.
|
IngestJobSettings.missingModule.warning=Previously loaded {0} module could not be found.
|
||||||
IngestJobSettings.save.warning=Failed to save ingest job settings for {0} module.
|
IngestJobSettings.save.warning=Failed to save ingest job settings for {0} module.
|
||||||
|
@ -47,7 +47,6 @@ import org.sleuthkit.autopsy.casemodule.Case;
|
|||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.events.AutopsyEvent;
|
import org.sleuthkit.autopsy.events.AutopsyEvent;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
|
|
||||||
import org.sleuthkit.autopsy.events.AutopsyEventException;
|
import org.sleuthkit.autopsy.events.AutopsyEventException;
|
||||||
import org.sleuthkit.autopsy.events.AutopsyEventPublisher;
|
import org.sleuthkit.autopsy.events.AutopsyEventPublisher;
|
||||||
import org.sleuthkit.autopsy.ingest.events.BlackboardPostEvent;
|
import org.sleuthkit.autopsy.ingest.events.BlackboardPostEvent;
|
||||||
@ -298,28 +297,23 @@ public class IngestManager {
|
|||||||
this.jobCreationIsEnabled = true;
|
this.jobCreationIsEnabled = true;
|
||||||
clearIngestMessageBox();
|
clearIngestMessageBox();
|
||||||
try {
|
try {
|
||||||
|
/**
|
||||||
|
* Use the text index name as the remote event channel name prefix
|
||||||
|
* since it is unique, the same as the case database name for a
|
||||||
|
* multiuser case, and is readily available through the
|
||||||
|
* Case.getTextIndexName() API.
|
||||||
|
*/
|
||||||
Case openedCase = Case.getCurrentCase();
|
Case openedCase = Case.getCurrentCase();
|
||||||
String caseName = openedCase.getName();
|
String channelPrefix = openedCase.getTextIndexName();
|
||||||
if (Case.CaseType.MULTI_USER_CASE == openedCase.getCaseType()) {
|
if (Case.CaseType.MULTI_USER_CASE == openedCase.getCaseType()) {
|
||||||
try {
|
jobEventPublisher.openRemoteEventChannel(String.format(JOB_EVENT_CHANNEL_NAME, channelPrefix));
|
||||||
jobEventPublisher.openRemoteEventChannel(String.format(JOB_EVENT_CHANNEL_NAME, caseName));
|
moduleEventPublisher.openRemoteEventChannel(String.format(MODULE_EVENT_CHANNEL_NAME, channelPrefix));
|
||||||
} catch (AutopsyEventException ex) {
|
|
||||||
logger.log(Level.SEVERE, "Failed to open remote job events channel", ex); //NON-NLS
|
|
||||||
MessageNotifyUtil.Message.error(NbBundle.getMessage(IngestManager.class,
|
|
||||||
"IngestManager.OpenEventChannel.ErrMsg",
|
|
||||||
caseName));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
moduleEventPublisher.openRemoteEventChannel(String.format(MODULE_EVENT_CHANNEL_NAME, caseName));
|
|
||||||
} catch (AutopsyEventException ex) {
|
|
||||||
logger.log(Level.SEVERE, "Failed to open remote module events channel", ex); //NON-NLS
|
|
||||||
MessageNotifyUtil.Message.error(NbBundle.getMessage(IngestManager.class,
|
|
||||||
"IngestManager.OpenEventChannel.ErrMsg",
|
|
||||||
caseName));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (IllegalStateException ex) {
|
} catch (IllegalStateException | AutopsyEventException ex) {
|
||||||
logger.log(Level.SEVERE, "Could not get current case, failed to open remote event channels", ex); //NON-NLS
|
logger.log(Level.SEVERE, "Failed to open remote events channel", ex); //NON-NLS
|
||||||
|
JOptionPane.showMessageDialog(null, NbBundle.getMessage(IngestManager.class, "IngestManager.OpenEventChannel.FailPopup.ErrMsg"),
|
||||||
|
NbBundle.getMessage(IngestManager.class, "IngestManager.OpenEventChannel.FailPopup.Title"),
|
||||||
|
JOptionPane.WARNING_MESSAGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -202,9 +202,9 @@ public class EventDB {
|
|||||||
return "1";
|
return "1";
|
||||||
}
|
}
|
||||||
String strip = StringUtils.strip(filter.getText());
|
String strip = StringUtils.strip(filter.getText());
|
||||||
return "((" + MED_DESCRIPTION_COLUMN + " LIKE '%" + strip + "%') OR (" // NON-NLS
|
return "((LOWER(" + MED_DESCRIPTION_COLUMN + ") LIKE LOWER('%" + strip + "%')) OR (LOWER(" // NON-NLS
|
||||||
+ FULL_DESCRIPTION_COLUMN + " LIKE '%" + strip + "%') OR (" // NON-NLS
|
+ FULL_DESCRIPTION_COLUMN + ") LIKE LOWER('%" + strip + "%')) OR (LOWER(" // NON-NLS
|
||||||
+ SHORT_DESCRIPTION_COLUMN + " LIKE '%" + strip + "%'))"; // NON-NLS
|
+ SHORT_DESCRIPTION_COLUMN + ") LIKE LOWER('%" + strip + "%')))"; // NON-NLS
|
||||||
} else {
|
} else {
|
||||||
return "1";
|
return "1";
|
||||||
}
|
}
|
||||||
|
@ -677,7 +677,7 @@ public final class ImageGalleryController {
|
|||||||
*/
|
*/
|
||||||
class CopyAnalyzedFiles extends InnerTask {
|
class CopyAnalyzedFiles extends InnerTask {
|
||||||
|
|
||||||
final private String DRAWABLE_QUERY = "LOWER(name) LIKE '%." + StringUtils.join(ImageGalleryModule.getAllSupportedExtensions(), "' or LOWER(name) LIKE '%.") + "'";
|
final private String DRAWABLE_QUERY = "LOWER(name) LIKE LOWER('%." + StringUtils.join(ImageGalleryModule.getAllSupportedExtensions(), "') or LOWER(name) LIKE LOWER('%.") + "')";
|
||||||
|
|
||||||
private ProgressHandle progressHandle = ProgressHandleFactory.createHandle("populating analyzed image/video database");
|
private ProgressHandle progressHandle = ProgressHandleFactory.createHandle("populating analyzed image/video database");
|
||||||
|
|
||||||
@ -779,7 +779,7 @@ public final class ImageGalleryController {
|
|||||||
* check for supported images
|
* check for supported images
|
||||||
*/
|
*/
|
||||||
// (name like '.jpg' or name like '.png' ...)
|
// (name like '.jpg' or name like '.png' ...)
|
||||||
private final String DRAWABLE_QUERY = "(LOWER(name) LIKE LOWER('%." + StringUtils.join(ImageGalleryModule.getAllSupportedExtensions(), "') or LOWER(name) LIKE '%.") + "') ";
|
private final String DRAWABLE_QUERY = "(LOWER(name) LIKE LOWER('%." + StringUtils.join(ImageGalleryModule.getAllSupportedExtensions(), "') or LOWER(name) LIKE LOWER('%.") + "')) ";
|
||||||
|
|
||||||
private ProgressHandle progressHandle = ProgressHandleFactory.createHandle("prepopulating image/video database");
|
private ProgressHandle progressHandle = ProgressHandleFactory.createHandle("prepopulating image/video database");
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user