From 256df0169c7f19010b157292a6add408e0a90352 Mon Sep 17 00:00:00 2001 From: Jonathan Bennett Date: Mon, 15 Dec 2025 22:18:19 -0600 Subject: [PATCH] fix --- src/modules/Native/StoreForwardPlusPlus.cpp | 26 ++++++++++++--------- src/modules/Native/StoreForwardPlusPlus.h | 1 + 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/modules/Native/StoreForwardPlusPlus.cpp b/src/modules/Native/StoreForwardPlusPlus.cpp index 7236b206d..fb3fc42b1 100644 --- a/src/modules/Native/StoreForwardPlusPlus.cpp +++ b/src/modules/Native/StoreForwardPlusPlus.cpp @@ -145,6 +145,10 @@ StoreForwardPlusPlusModule::StoreForwardPlusPlusModule() from local_messages where channel_hash=? order by rx_time asc LIMIT 1;", // earliest first -1, &fromScratchStmt, NULL); + sqlite3_prepare_v2(ppDb, "select destination, sender, packet_id, encrypted_bytes, message_hash, rx_time, channel_hash \ + from local_messages where message_hash=? order by rx_time asc LIMIT 1;", // earliest first + -1, &fromScratchByHashStmt, NULL); + sqlite3_prepare_v2(ppDb, "SELECT COUNT(*) from channel_messages where message_hash=?", -1, &checkDup, NULL); sqlite3_prepare_v2(ppDb, "SELECT COUNT(*) from local_messages where message_hash=?", -1, &checkScratch, NULL); @@ -947,22 +951,22 @@ StoreForwardPlusPlusModule::link_object StoreForwardPlusPlusModule::getFromScrat LOG_WARN("getFromScratch"); link_object lo; - sqlite3_bind_blob(fromScratchStmt, 1, message_hash_bytes, hash_len, NULL); - auto res = sqlite3_step(fromScratchStmt); + sqlite3_bind_blob(fromScratchByHashStmt, 1, message_hash_bytes, hash_len, NULL); + auto res = sqlite3_step(fromScratchByHashStmt); const char *_error_mesg = sqlite3_errmsg(ppDb); LOG_WARN("step %u, %s", res, _error_mesg); - lo.to = sqlite3_column_int(fromScratchStmt, 0); - lo.from = sqlite3_column_int(fromScratchStmt, 1); - lo.id = sqlite3_column_int(fromScratchStmt, 2); + lo.to = sqlite3_column_int(fromScratchByHashStmt, 0); + lo.from = sqlite3_column_int(fromScratchByHashStmt, 1); + lo.id = sqlite3_column_int(fromScratchByHashStmt, 2); - uint8_t *encrypted_bytes = (uint8_t *)sqlite3_column_blob(fromScratchStmt, 3); - lo.encrypted_len = sqlite3_column_bytes(fromScratchStmt, 3); + uint8_t *encrypted_bytes = (uint8_t *)sqlite3_column_blob(fromScratchByHashStmt, 3); + lo.encrypted_len = sqlite3_column_bytes(fromScratchByHashStmt, 3); memcpy(lo.encrypted_bytes, encrypted_bytes, lo.encrypted_len); - uint8_t *message_hash = (uint8_t *)sqlite3_column_blob(fromScratchStmt, 4); + uint8_t *message_hash = (uint8_t *)sqlite3_column_blob(fromScratchByHashStmt, 4); memcpy(lo.message_hash, message_hash, 32); - lo.rx_time = sqlite3_column_int(fromScratchStmt, 5); - lo.channel_hash - sqlite3_column_int(fromScratchStmt, 6); - sqlite3_reset(fromScratchStmt); + lo.rx_time = sqlite3_column_int(fromScratchByHashStmt, 5); + lo.channel_hash - sqlite3_column_int(fromScratchByHashStmt, 6); + sqlite3_reset(fromScratchByHashStmt); return lo; } diff --git a/src/modules/Native/StoreForwardPlusPlus.h b/src/modules/Native/StoreForwardPlusPlus.h index b248f5408..172e460f5 100644 --- a/src/modules/Native/StoreForwardPlusPlus.h +++ b/src/modules/Native/StoreForwardPlusPlus.h @@ -66,6 +66,7 @@ class StoreForwardPlusPlusModule : public ProtobufModule