From 4943b388c0a247343ba7afe3e2062b35988e6147 Mon Sep 17 00:00:00 2001 From: Scott Powell Date: Wed, 19 Mar 2025 14:31:48 +1100 Subject: [PATCH] * workaround for Identity::verify() bug. --- src/Mesh.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Mesh.cpp b/src/Mesh.cpp index e309685e..705fdd3c 100644 --- a/src/Mesh.cpp +++ b/src/Mesh.cpp @@ -1,5 +1,6 @@ #include "Mesh.h" //#include +#include namespace mesh { @@ -228,16 +229,14 @@ DispatcherAction Mesh::onRecvPacket(Packet* pkt) { // check that signature is valid bool is_ok; { - static uint8_t message[PUB_KEY_SIZE + 4 + MAX_ADVERT_DATA_SIZE]; + uint8_t message[PUB_KEY_SIZE + 4 + MAX_ADVERT_DATA_SIZE]; int msg_len = 0; memcpy(&message[msg_len], id.pub_key, PUB_KEY_SIZE); msg_len += PUB_KEY_SIZE; memcpy(&message[msg_len], ×tamp, 4); msg_len += 4; memcpy(&message[msg_len], app_data, app_data_len); msg_len += app_data_len; - static uint8_t sig_copy[SIGNATURE_SIZE]; - memcpy(sig_copy, signature, SIGNATURE_SIZE); - - is_ok = id.verify(sig_copy, message, msg_len); + //is_ok = id.verify(signature, message, msg_len); + is_ok = Ed25519::verify(signature, id.pub_key, message, msg_len); } if (is_ok) { MESH_DEBUG_PRINTLN("%s Mesh::onRecvPacket(): valid advertisement received!", getLogDateTime());