mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 16:06:15 +00:00
Add overload of process() that includes host.
This commit is contained in:
parent
e51a78a6b2
commit
5e02ac0d7e
@ -450,20 +450,21 @@ public class ImageDSProcessor implements DataSourceProcessor, AutoIngestDataSour
|
|||||||
// able to process the data source
|
// able to process the data source
|
||||||
return 100;
|
return 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
public void process(String deviceId, Path dataSourcePath, Host host, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
||||||
this.deviceId = deviceId;
|
this.deviceId = deviceId;
|
||||||
this.imagePath = dataSourcePath.toString();
|
this.imagePath = dataSourcePath.toString();
|
||||||
this.sectorSize = 0;
|
this.sectorSize = 0;
|
||||||
this.timeZone = Calendar.getInstance().getTimeZone().getID();
|
this.timeZone = Calendar.getInstance().getTimeZone().getID();
|
||||||
|
this.host = host;
|
||||||
this.ignoreFatOrphanFiles = false;
|
this.ignoreFatOrphanFiles = false;
|
||||||
setDataSourceOptionsCalled = true;
|
setDataSourceOptionsCalled = true;
|
||||||
|
|
||||||
ingestStream = new DefaultIngestStream();
|
ingestStream = new DefaultIngestStream();
|
||||||
try {
|
try {
|
||||||
image = SleuthkitJNI.addImageToDatabase(Case.getCurrentCase().getSleuthkitCase(),
|
image = SleuthkitJNI.addImageToDatabase(Case.getCurrentCase().getSleuthkitCase(),
|
||||||
new String[]{imagePath}, sectorSize, timeZone, "", "", "", deviceId);
|
new String[]{imagePath}, sectorSize, timeZone, "", "", "", deviceId, host);
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
logger.log(Level.SEVERE, "Error adding data source with path " + imagePath + " to database", ex);
|
logger.log(Level.SEVERE, "Error adding data source with path " + imagePath + " to database", ex);
|
||||||
final List<String> errors = new ArrayList<>();
|
final List<String> errors = new ArrayList<>();
|
||||||
@ -477,17 +478,23 @@ public class ImageDSProcessor implements DataSourceProcessor, AutoIngestDataSour
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IngestStream processWithIngestStream(String deviceId, Path dataSourcePath, IngestJobSettings settings, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
public IngestStream processWithIngestStream(String deviceId, Path dataSourcePath, IngestJobSettings settings, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
||||||
|
return processWithIngestStream(deviceId, dataSourcePath, null, settings, progressMonitor, callBack);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IngestStream processWithIngestStream(String deviceId, Path dataSourcePath, Host host, IngestJobSettings settings, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
||||||
this.deviceId = deviceId;
|
this.deviceId = deviceId;
|
||||||
this.imagePath = dataSourcePath.toString();
|
this.imagePath = dataSourcePath.toString();
|
||||||
this.sectorSize = 0;
|
this.sectorSize = 0;
|
||||||
this.timeZone = Calendar.getInstance().getTimeZone().getID();
|
this.timeZone = Calendar.getInstance().getTimeZone().getID();
|
||||||
|
this.host = host;
|
||||||
this.ignoreFatOrphanFiles = false;
|
this.ignoreFatOrphanFiles = false;
|
||||||
setDataSourceOptionsCalled = true;
|
setDataSourceOptionsCalled = true;
|
||||||
|
|
||||||
// Set up the data source before creating the ingest stream
|
// Set up the data source before creating the ingest stream
|
||||||
try {
|
try {
|
||||||
image = SleuthkitJNI.addImageToDatabase(Case.getCurrentCase().getSleuthkitCase(),
|
image = SleuthkitJNI.addImageToDatabase(Case.getCurrentCase().getSleuthkitCase(),
|
||||||
new String[]{imagePath}, sectorSize, timeZone, md5, sha1, sha256, deviceId);
|
new String[]{imagePath}, sectorSize, timeZone, md5, sha1, sha256, deviceId, host);
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
logger.log(Level.SEVERE, "Error adding data source with path " + imagePath + " to database", ex);
|
logger.log(Level.SEVERE, "Error adding data source with path " + imagePath + " to database", ex);
|
||||||
final List<String> errors = new ArrayList<>();
|
final List<String> errors = new ArrayList<>();
|
||||||
|
@ -407,9 +407,9 @@ public class LocalFilesDSProcessor implements DataSourceProcessor, AutoIngestDat
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
public void process(String deviceId, Path dataSourcePath, Host host, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
||||||
List<String> filePaths = Arrays.asList(new String[]{dataSourcePath.toString()});
|
List<String> filePaths = Arrays.asList(new String[]{dataSourcePath.toString()});
|
||||||
run(deviceId, "", filePaths, progressMonitor, callBack);
|
run(deviceId, "", filePaths, host, progressMonitor, callBack);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -24,6 +24,7 @@ import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback
|
|||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorProgressMonitor;
|
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorProgressMonitor;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestJobSettings;
|
import org.sleuthkit.autopsy.ingest.IngestJobSettings;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestStream;
|
import org.sleuthkit.autopsy.ingest.IngestStream;
|
||||||
|
import org.sleuthkit.datamodel.Host;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface implemented by DataSourceProcessors in order to be supported by
|
* Interface implemented by DataSourceProcessors in order to be supported by
|
||||||
@ -66,8 +67,29 @@ public interface AutoIngestDataSourceProcessor extends DataSourceProcessor {
|
|||||||
* @param callBack Callback that will be used by the background task
|
* @param callBack Callback that will be used by the background task
|
||||||
* to return results.
|
* to return results.
|
||||||
*/
|
*/
|
||||||
void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack);
|
default void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
||||||
|
process(deviceId, dataSourcePath, null, progressMonitor, callBack);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a data source to the case database using a background task in a
|
||||||
|
* separate thread by calling DataSourceProcessor.run() method. Returns as
|
||||||
|
* soon as the background task is started. The background task uses a
|
||||||
|
* callback object to signal task completion and return results. Method can
|
||||||
|
* throw an exception for a system level problem. The exception should not
|
||||||
|
* be thrown for an issue related to bad input data.
|
||||||
|
*
|
||||||
|
* @param deviceId An ASCII-printable identifier for the device
|
||||||
|
* associated with the data source that is intended
|
||||||
|
* to be unique across multiple cases (e.g., a UUID).
|
||||||
|
* @param dataSourcePath Path to the data source.
|
||||||
|
* @param host Host for this data source.
|
||||||
|
* @param progressMonitor Progress monitor that will be used by the
|
||||||
|
* background task to report progress.
|
||||||
|
* @param callBack Callback that will be used by the background task
|
||||||
|
* to return results.
|
||||||
|
*/
|
||||||
|
void process(String deviceId, Path dataSourcePath, Host host, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a data source to the case database using a background task in a
|
* Adds a data source to the case database using a background task in a
|
||||||
@ -93,6 +115,31 @@ public interface AutoIngestDataSourceProcessor extends DataSourceProcessor {
|
|||||||
throw new UnsupportedOperationException("Streaming ingest not supported for this data source processor");
|
throw new UnsupportedOperationException("Streaming ingest not supported for this data source processor");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a data source to the case database using a background task in a
|
||||||
|
* separate thread by calling DataSourceProcessor.run() method. Returns as
|
||||||
|
* soon as the background task is started. The background task uses a
|
||||||
|
* callback object to signal task completion and return results. Method can
|
||||||
|
* throw an exception for a system level problem. The exception should not
|
||||||
|
* be thrown for an issue related to bad input data.
|
||||||
|
*
|
||||||
|
* @param deviceId An ASCII-printable identifier for the device
|
||||||
|
* associated with the data source that is intended
|
||||||
|
* to be unique across multiple cases (e.g., a UUID).
|
||||||
|
* @param dataSourcePath Path to the data source.
|
||||||
|
* @param host The host for this data source.
|
||||||
|
* @param settings The ingest job settings.
|
||||||
|
* @param progressMonitor Progress monitor that will be used by the
|
||||||
|
* background task to report progress.
|
||||||
|
* @param callBack Callback that will be used by the background task
|
||||||
|
* to return results.
|
||||||
|
*
|
||||||
|
* @return The new ingest stream or null if an error occurred. Errors will be handled by the callback.
|
||||||
|
*/
|
||||||
|
default IngestStream processWithIngestStream(String deviceId, Path dataSourcePath, Host host, IngestJobSettings settings, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
||||||
|
throw new UnsupportedOperationException("Streaming ingest not supported for this data source processor");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A custom exception for the use of AutomatedIngestDataSourceProcessor.
|
* A custom exception for the use of AutomatedIngestDataSourceProcessor.
|
||||||
*/
|
*/
|
||||||
|
@ -217,10 +217,10 @@ public class RawDSProcessor implements DataSourceProcessor, AutoIngestDataSource
|
|||||||
|
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
public void process(String deviceId, Path dataSourcePath, Host host, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
||||||
run(deviceId, dataSourcePath.toString(), Calendar.getInstance().getTimeZone().getID(), DEFAULT_CHUNK_SIZE, null, progressMonitor, callBack);
|
run(deviceId, dataSourcePath.toString(), Calendar.getInstance().getTimeZone().getID(), DEFAULT_CHUNK_SIZE, host, progressMonitor, callBack);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -239,11 +239,12 @@ public class XRYDataSourceProcessor implements DataSourceProcessor, AutoIngestDa
|
|||||||
*
|
*
|
||||||
* @param deviceId
|
* @param deviceId
|
||||||
* @param dataSourcePath
|
* @param dataSourcePath
|
||||||
|
* @param host
|
||||||
* @param progressMonitor
|
* @param progressMonitor
|
||||||
* @param callBack
|
* @param callBack
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
public void process(String deviceId, Path dataSourcePath, Host host, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack) {
|
||||||
progressMonitor.setIndeterminate(true);
|
progressMonitor.setIndeterminate(true);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -251,7 +252,7 @@ public class XRYDataSourceProcessor implements DataSourceProcessor, AutoIngestDa
|
|||||||
Case currentCase = Case.getCurrentCaseThrows();
|
Case currentCase = Case.getCurrentCaseThrows();
|
||||||
//Move heavy lifting to a background task.
|
//Move heavy lifting to a background task.
|
||||||
swingWorker = new XRYReportProcessorSwingWorker(xryFolder, progressMonitor,
|
swingWorker = new XRYReportProcessorSwingWorker(xryFolder, progressMonitor,
|
||||||
callBack, currentCase, deviceId, null);
|
callBack, currentCase, deviceId, host);
|
||||||
swingWorker.execute();
|
swingWorker.execute();
|
||||||
} catch (NoCurrentCaseException ex) {
|
} catch (NoCurrentCaseException ex) {
|
||||||
logger.log(Level.WARNING, "[XRY DSP] No case is currently open.", ex);
|
logger.log(Level.WARNING, "[XRY DSP] No case is currently open.", ex);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user