Browse Source
Merge pull request #1131 from wel97459/dev-uint
Changed uint used in flags to uint8_t
pull/1150/head
ripplebiz
6 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with
6 additions and
6 deletions
-
examples/simple_repeater/MyMesh.cpp
-
examples/simple_room_server/MyMesh.cpp
-
examples/simple_sensor/SensorMesh.cpp
-
examples/simple_sensor/SensorMesh.h
-
src/helpers/BaseChatMesh.cpp
|
|
|
@ -545,7 +545,7 @@ void MyMesh::onPeerDataRecv(mesh::Packet *packet, uint8_t type, int sender_idx, |
|
|
|
} else if (type == PAYLOAD_TYPE_TXT_MSG && len > 5 && client->isAdmin()) { // a CLI command
|
|
|
|
uint32_t sender_timestamp; |
|
|
|
memcpy(&sender_timestamp, data, 4); // timestamp (by sender's RTC clock - which could be wrong)
|
|
|
|
uint flags = (data[4] >> 2); // message attempt number, and other flags
|
|
|
|
uint8_t flags = (data[4] >> 2); // message attempt number, and other flags
|
|
|
|
|
|
|
|
if (!(flags == TXT_TYPE_PLAIN || flags == TXT_TYPE_CLI_DATA)) { |
|
|
|
MESH_DEBUG_PRINTLN("onPeerDataRecv: unsupported text type received: flags=%02x", (uint32_t)flags); |
|
|
|
|
|
|
|
@ -398,7 +398,7 @@ void MyMesh::onPeerDataRecv(mesh::Packet *packet, uint8_t type, int sender_idx, |
|
|
|
if (type == PAYLOAD_TYPE_TXT_MSG && len > 5) { // a CLI command or new Post
|
|
|
|
uint32_t sender_timestamp; |
|
|
|
memcpy(&sender_timestamp, data, 4); // timestamp (by sender's RTC clock - which could be wrong)
|
|
|
|
uint flags = (data[4] >> 2); // message attempt number, and other flags
|
|
|
|
uint8_t flags = (data[4] >> 2); // message attempt number, and other flags
|
|
|
|
|
|
|
|
if (!(flags == TXT_TYPE_PLAIN || flags == TXT_TYPE_CLI_DATA)) { |
|
|
|
MESH_DEBUG_PRINTLN("onPeerDataRecv: unsupported command flags received: flags=%02x", (uint32_t)flags); |
|
|
|
|
|
|
|
@ -554,7 +554,7 @@ void SensorMesh::onPeerDataRecv(mesh::Packet* packet, uint8_t type, int sender_i |
|
|
|
} else if (type == PAYLOAD_TYPE_TXT_MSG && len > 5 && from->isAdmin()) { // a CLI command
|
|
|
|
uint32_t sender_timestamp; |
|
|
|
memcpy(&sender_timestamp, data, 4); // timestamp (by sender's RTC clock - which could be wrong)
|
|
|
|
uint flags = (data[4] >> 2); // message attempt number, and other flags
|
|
|
|
uint8_t flags = (data[4] >> 2); // message attempt number, and other flags
|
|
|
|
|
|
|
|
if (sender_timestamp > from->last_timestamp) { // prevent replay attacks
|
|
|
|
if (flags == TXT_TYPE_PLAIN) { |
|
|
|
@ -612,7 +612,7 @@ void SensorMesh::onPeerDataRecv(mesh::Packet* packet, uint8_t type, int sender_i |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
bool SensorMesh::handleIncomingMsg(ClientInfo& from, uint32_t timestamp, uint8_t* data, uint flags, size_t len) { |
|
|
|
bool SensorMesh::handleIncomingMsg(ClientInfo& from, uint32_t timestamp, uint8_t* data, uint8_t flags, size_t len) { |
|
|
|
MESH_DEBUG_PRINT("handleIncomingMsg: unhandled msg from "); |
|
|
|
#ifdef MESH_DEBUG |
|
|
|
mesh::Utils::printHex(Serial, from.id.pub_key, PUB_KEY_SIZE); |
|
|
|
|
|
|
|
@ -127,7 +127,7 @@ protected: |
|
|
|
bool onPeerPathRecv(mesh::Packet* packet, int sender_idx, const uint8_t* secret, uint8_t* path, uint8_t path_len, uint8_t extra_type, uint8_t* extra, uint8_t extra_len) override; |
|
|
|
void onControlDataRecv(mesh::Packet* packet) override; |
|
|
|
void onAckRecv(mesh::Packet* packet, uint32_t ack_crc) override; |
|
|
|
virtual bool handleIncomingMsg(ClientInfo& from, uint32_t timestamp, uint8_t* data, uint flags, size_t len); |
|
|
|
virtual bool handleIncomingMsg(ClientInfo& from, uint32_t timestamp, uint8_t* data, uint8_t flags, size_t len); |
|
|
|
void sendAckTo(const ClientInfo& dest, uint32_t ack_hash); |
|
|
|
private: |
|
|
|
FILESYSTEM* _fs; |
|
|
|
|
|
|
|
@ -166,7 +166,7 @@ void BaseChatMesh::onPeerDataRecv(mesh::Packet* packet, uint8_t type, int sender |
|
|
|
if (type == PAYLOAD_TYPE_TXT_MSG && len > 5) { |
|
|
|
uint32_t timestamp; |
|
|
|
memcpy(×tamp, data, 4); // timestamp (by sender's RTC clock - which could be wrong)
|
|
|
|
uint flags = data[4] >> 2; // message attempt number, and other flags
|
|
|
|
uint8_t flags = data[4] >> 2; // message attempt number, and other flags
|
|
|
|
|
|
|
|
// len can be > original length, but 'text' will be padded with zeroes
|
|
|
|
data[len] = 0; // need to make a C string again, with null terminator
|
|
|
|
|