* minor fixes

This commit is contained in:
Scott Powell 2025-01-15 00:39:32 +11:00
parent a05b951018
commit daa157cf49
3 changed files with 12 additions and 5 deletions

View file

@ -108,7 +108,7 @@ protected:
void onPeerDataRecv(mesh::Packet* packet, uint8_t type, int sender_idx, uint8_t* data, size_t len) override { void onPeerDataRecv(mesh::Packet* packet, uint8_t type, int sender_idx, uint8_t* data, size_t len) override {
if (type == PAYLOAD_TYPE_TXT_MSG && len > 5) { if (type == PAYLOAD_TYPE_TXT_MSG && len > 5) {
int i = matching_peer_indexes[sender_idx]; int i = matching_peer_indexes[sender_idx];
if (i < 0 && i >= num_contacts) { if (i < 0 || i >= num_contacts) {
MESH_DEBUG_PRINTLN("onPeerDataRecv: Invalid sender idx: %d", i); MESH_DEBUG_PRINTLN("onPeerDataRecv: Invalid sender idx: %d", i);
return; return;
} }
@ -150,7 +150,7 @@ protected:
void onPeerPathRecv(mesh::Packet* packet, int sender_idx, uint8_t* path, uint8_t path_len, uint8_t extra_type, uint8_t* extra, uint8_t extra_len) override { void onPeerPathRecv(mesh::Packet* packet, int sender_idx, uint8_t* path, uint8_t path_len, uint8_t extra_type, uint8_t* extra, uint8_t extra_len) override {
int i = matching_peer_indexes[sender_idx]; int i = matching_peer_indexes[sender_idx];
if (i < 0 && i >= num_contacts) { if (i < 0 || i >= num_contacts) {
MESH_DEBUG_PRINTLN("onPeerPathRecv: Invalid sender idx: %d", i); MESH_DEBUG_PRINTLN("onPeerPathRecv: Invalid sender idx: %d", i);
return; return;
} }

View file

@ -63,8 +63,8 @@ void LocalIdentity::sign(uint8_t* sig, const uint8_t* message, int msg_len) cons
ed25519_sign(sig, message, msg_len, pub_key, prv_key); ed25519_sign(sig, message, msg_len, pub_key, prv_key);
} }
void LocalIdentity::calcSharedSecret(uint8_t* secret, const Identity& other) { void LocalIdentity::calcSharedSecret(uint8_t* secret, const uint8_t* other_pub_key) {
ed25519_key_exchange(secret, other.pub_key, prv_key); ed25519_key_exchange(secret, other_pub_key, prv_key);
} }
} }

View file

@ -64,7 +64,14 @@ public:
* \param secret OUT - the 'shared secret' (must be PUB_KEY_SIZE bytes) * \param secret OUT - the 'shared secret' (must be PUB_KEY_SIZE bytes)
* \param other IN - the second party in the exchange. * \param other IN - the second party in the exchange.
*/ */
void calcSharedSecret(uint8_t* secret, const Identity& other); void calcSharedSecret(uint8_t* secret, const Identity& other) { calcSharedSecret(secret, other.pub_key); }
/**
* \brief the ECDH key exhange, with Ed25519 public key transposed to Ex25519.
* \param secret OUT - the 'shared secret' (must be PUB_KEY_SIZE bytes)
* \param other_pub_key IN - the public key of second party in the exchange (must be PUB_KEY_SIZE bytes)
*/
void calcSharedSecret(uint8_t* secret, const uint8_t* other_pub_key);
bool readFrom(Stream& s); bool readFrom(Stream& s);
bool writeTo(Stream& s) const; bool writeTo(Stream& s) const;