diff --git a/bindings/java/jni/auto_db_java.cpp b/bindings/java/jni/auto_db_java.cpp index a31cb26acce6a2fc697519425f800a91bc5c438b..20e915d81c21412a12f83536ad618421b4cfcc1a 100644 --- a/bindings/java/jni/auto_db_java.cpp +++ b/bindings/java/jni/auto_db_java.cpp @@ -79,7 +79,7 @@ TskAutoDbJava::initializeJni(JNIEnv * jniEnv, jobject jobj) { } m_callbackClass = (jclass)m_jniEnv->NewGlobalRef(localCallbackClass); - m_addImageMethodID = m_jniEnv->GetMethodID(m_callbackClass, "addImageInfo", "(IJLjava/lang/String;JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J[Ljava/lang/String;)J"); + m_addImageMethodID = m_jniEnv->GetMethodID(m_callbackClass, "addImageInfo", "(IJLjava/lang/String;JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J"); if (m_addImageMethodID == NULL) { return TSK_ERR; } @@ -216,7 +216,7 @@ TskAutoDbJava::addImageInfo(int type, TSK_OFF_T ssize, int64_t & objId, const st } jlong objIdj = m_jniEnv->CallLongMethod(m_javaDbObj, m_addImageMethodID, - type, ssize, tzj, size, md5j, sha1j, sha256j, devIdj, collj, m_hostId, imgNamesj); + type, ssize, tzj, size, md5j, sha1j, sha256j, devIdj, collj, imgNamesj); objId = (int64_t)objIdj; if (objId < 0) { @@ -947,10 +947,6 @@ int64_t TskAutoDbJava::getImageID() { return m_curImgId; } -void TskAutoDbJava::setHostId(long hostId) { - m_hostId = hostId; -} - void TskAutoDbJava::closeImage() { TskAuto::closeImage(); } diff --git a/bindings/java/jni/auto_db_java.h b/bindings/java/jni/auto_db_java.h index ae11e6a58a3a2561aa9c4025bf73ccd88fda0132..b324a71c43445a88099b5901d061ce7c5e9a5812 100644 --- a/bindings/java/jni/auto_db_java.h +++ b/bindings/java/jni/auto_db_java.h @@ -111,8 +111,6 @@ class TskAutoDbJava :public TskAuto { int64_t getImageID(); - void setHostId(long hostId); - TSK_RETVAL_ENUM initializeJni(JNIEnv *, jobject); private: @@ -139,7 +137,6 @@ class TskAutoDbJava :public TskAuto { int64_t m_maxChunkSize; ///< Max number of unalloc bytes to process before writing to the database, even if there is no natural break. -1 for no chunking bool m_foundStructure; ///< Set to true when we find either a volume or file system bool m_attributeAdded; ///< Set to true when an attribute was added by processAttributes - int64_t m_hostId; ///< ID of host for this image (already in database) // These are used to write unallocated blocks for pools at the end of the add image // process. We can't load the pool_info objects directly from the database so we will diff --git a/bindings/java/jni/dataModel_SleuthkitJNI.cpp b/bindings/java/jni/dataModel_SleuthkitJNI.cpp index 0688cae46931514995c978b35aeda657d463a0c0..3310bc1860c516aefed403921abe4431909d89cd 100644 --- a/bindings/java/jni/dataModel_SleuthkitJNI.cpp +++ b/bindings/java/jni/dataModel_SleuthkitJNI.cpp @@ -811,8 +811,8 @@ JNIEXPORT jobject JNICALL Java_org_sleuthkit_datamodel_SleuthkitJNI_hashDbLookup */ JNIEXPORT jlong JNICALL Java_org_sleuthkit_datamodel_SleuthkitJNI_initAddImgNat(JNIEnv * env, - jclass obj, jobject callbackObj, jstring timeZone, jboolean addUnallocSpace, jboolean skipFatFsOrphans, jlong hostId) { - return Java_org_sleuthkit_datamodel_SleuthkitJNI_initializeAddImgNat(env, obj, callbackObj, timeZone, true, addUnallocSpace, skipFatFsOrphans, hostId); + jclass obj, jobject callbackObj, jstring timeZone, jboolean addUnallocSpace, jboolean skipFatFsOrphans) { + return Java_org_sleuthkit_datamodel_SleuthkitJNI_initializeAddImgNat(env, obj, callbackObj, timeZone, true, addUnallocSpace, skipFatFsOrphans); } /* @@ -830,7 +830,7 @@ JNIEXPORT jlong JNICALL */ JNIEXPORT jlong JNICALL Java_org_sleuthkit_datamodel_SleuthkitJNI_initializeAddImgNat(JNIEnv * env, jclass obj, - jobject callbackObj, jstring timeZone, jboolean addFileSystems, jboolean addUnallocSpace, jboolean skipFatFsOrphans, jlong hostId) { + jobject callbackObj, jstring timeZone, jboolean addFileSystems, jboolean addUnallocSpace, jboolean skipFatFsOrphans) { jboolean isCopy; if (env->GetStringUTFLength(timeZone) > 0) { @@ -866,9 +866,6 @@ Java_org_sleuthkit_datamodel_SleuthkitJNI_initializeAddImgNat(JNIEnv * env, jcla return 0; } - // Save the host ID - tskAutoJava->setHostId(hostId); - // set the options flags tskAutoJava->setAddFileSystems(addFileSystems?true:false); if (addFileSystems) { diff --git a/bindings/java/jni/dataModel_SleuthkitJNI.h b/bindings/java/jni/dataModel_SleuthkitJNI.h index c1808c422052a9e3b30d4f4be734ced843829ef7..418db745756349cdc47dc756939e0a14c2e425c3 100644 --- a/bindings/java/jni/dataModel_SleuthkitJNI.h +++ b/bindings/java/jni/dataModel_SleuthkitJNI.h @@ -170,18 +170,18 @@ JNIEXPORT jobject JNICALL Java_org_sleuthkit_datamodel_SleuthkitJNI_hashDbLookup /* * Class: org_sleuthkit_datamodel_SleuthkitJNI * Method: initAddImgNat - * Signature: (Lorg/sleuthkit/datamodel/TskCaseDbBridge;Ljava/lang/String;ZZJ)J + * Signature: (Lorg/sleuthkit/datamodel/TskCaseDbBridge;Ljava/lang/String;ZZ)J */ JNIEXPORT jlong JNICALL Java_org_sleuthkit_datamodel_SleuthkitJNI_initAddImgNat - (JNIEnv *, jclass, jobject, jstring, jboolean, jboolean, jlong); + (JNIEnv *, jclass, jobject, jstring, jboolean, jboolean); /* * Class: org_sleuthkit_datamodel_SleuthkitJNI * Method: initializeAddImgNat - * Signature: (Lorg/sleuthkit/datamodel/TskCaseDbBridge;Ljava/lang/String;ZZZJ)J + * Signature: (Lorg/sleuthkit/datamodel/TskCaseDbBridge;Ljava/lang/String;ZZZ)J */ JNIEXPORT jlong JNICALL Java_org_sleuthkit_datamodel_SleuthkitJNI_initializeAddImgNat - (JNIEnv *, jclass, jobject, jstring, jboolean, jboolean, jboolean, jlong); + (JNIEnv *, jclass, jobject, jstring, jboolean, jboolean, jboolean); /* * Class: org_sleuthkit_datamodel_SleuthkitJNI diff --git a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java index 3d5f1a1fb3f3e0fc00c2fd54bb8518ee1cee489d..9730623ce51528ada1c93a2d31d6c213d4d583c1 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java +++ b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java @@ -452,7 +452,7 @@ long addImageInfo(long deviceObjId, List<String> imageFilePaths, String timeZone host = skCase.getHostManager().getOrCreateHost(hostName); } TskCaseDbBridge dbHelper = new TskCaseDbBridge(skCase, new DefaultAddDataSourceCallbacks(), host); - long tskAutoDbPointer = initializeAddImgNat(dbHelper, timezoneLongToShort(timeZone), false, false, false, host.getId()); + long tskAutoDbPointer = initializeAddImgNat(dbHelper, timezoneLongToShort(timeZone), false, false, false); runOpenAndAddImgNat(tskAutoDbPointer, UUID.randomUUID().toString(), imageFilePaths.toArray(new String[0]), imageFilePaths.size(), timeZone); long id = finishAddImgNat(tskAutoDbPointer); dbHelper.finish(); @@ -581,7 +581,7 @@ public void run(String deviceId, Image image, int sectorSize, } if (!isCanceled) { //with isCanceled being guarded by this it will have the same value everywhere in this synchronized block imageHandle = image.getImageHandle(); - tskAutoDbPointer = initAddImgNat(dbHelper, timezoneLongToShort(timeZone), addUnallocSpace, skipFatFsOrphans, host.getId()); + tskAutoDbPointer = initAddImgNat(dbHelper, timezoneLongToShort(timeZone), addUnallocSpace, skipFatFsOrphans); } if (0 == tskAutoDbPointer) { throw new TskCoreException("initAddImgNat returned a NULL TskAutoDb pointer"); @@ -2149,9 +2149,9 @@ public static long openFile(long fsHandle, long fileId, TSK_FS_ATTR_TYPE_ENUM at private static native HashHitInfo hashDbLookupVerbose(String hash, int dbHandle) throws TskCoreException; - private static native long initAddImgNat(TskCaseDbBridge dbHelperObj, String timezone, boolean addUnallocSpace, boolean skipFatFsOrphans, long hostId) throws TskCoreException; + private static native long initAddImgNat(TskCaseDbBridge dbHelperObj, String timezone, boolean addUnallocSpace, boolean skipFatFsOrphans) throws TskCoreException; - private static native long initializeAddImgNat(TskCaseDbBridge dbHelperObj, String timezone, boolean addFileSystems, boolean addUnallocSpace, boolean skipFatFsOrphans, long hostId) throws TskCoreException; + private static native long initializeAddImgNat(TskCaseDbBridge dbHelperObj, String timezone, boolean addFileSystems, boolean addUnallocSpace, boolean skipFatFsOrphans) throws TskCoreException; private static native void runOpenAndAddImgNat(long process, String deviceId, String[] imgPath, int splits, String timezone) throws TskCoreException, TskDataException; diff --git a/bindings/java/src/org/sleuthkit/datamodel/TskCaseDbBridge.java b/bindings/java/src/org/sleuthkit/datamodel/TskCaseDbBridge.java index 4f8a90cd9a3c453a9f0d8a9f1d7431b28567113e..51c9ed9ea8ac04877bf1a2302294a860d9f11db5 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/TskCaseDbBridge.java +++ b/bindings/java/src/org/sleuthkit/datamodel/TskCaseDbBridge.java @@ -130,18 +130,17 @@ void finish() { * @param sha256 SHA256 hash. * @param deviceId Device ID. * @param collectionDetails The collection details. - * @param hostId Host ID. * @param paths Data source path(s) * * @return The object ID of the new image or -1 if an error occurred */ long addImageInfo(int type, long ssize, String timezone, long size, String md5, String sha1, String sha256, String deviceId, - String collectionDetails, long hostId, String[] paths) { + String collectionDetails, String[] paths) { try { beginTransaction(); long objId = addImageToDb(TskData.TSK_IMG_TYPE_ENUM.valueOf(type), ssize, size, - timezone, md5, sha1, sha256, deviceId, collectionDetails, hostId, trans); + timezone, md5, sha1, sha256, deviceId, collectionDetails, trans); for (int i = 0;i < paths.length;i++) { addImageNameToDb(objId, paths[i], i, trans); } @@ -986,7 +985,7 @@ private long addFileToDb(long parentObjId, */ private long addImageToDb(TskData.TSK_IMG_TYPE_ENUM type, long sectorSize, long size, String timezone, String md5, String sha1, String sha256, - String deviceId, String collectionDetails, long hostId, + String deviceId, String collectionDetails, CaseDbTransaction transaction) throws TskCoreException { try { // Insert a row for the Image into the tsk_objects table. @@ -1020,7 +1019,7 @@ private long addImageToDb(TskData.TSK_IMG_TYPE_ENUM type, long sectorSize, long preparedStatement.setString(2, deviceId); preparedStatement.setString(3, timezone); preparedStatement.setString(4, collectionDetails); - preparedStatement.setLong(5, hostId); + preparedStatement.setLong(5, imageHost.getId()); connection.executeUpdate(preparedStatement); return newObjId;