mirror of
https://github.com/meshtastic/firmware.git
synced 2025-04-29 19:03:52 +00:00
commit
ad05b91f89
@ -69,22 +69,25 @@ void MQTT::onPublish(char *topic, byte *payload, unsigned int length)
|
|||||||
DEBUG_MSG("Invalid MQTT service envelope, topic %s, len %u!\n", topic, length);
|
DEBUG_MSG("Invalid MQTT service envelope, topic %s, len %u!\n", topic, length);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
pb_decode_from_bytes(payload, length, ServiceEnvelope_fields, &e);
|
if (!pb_decode_from_bytes(payload, length, ServiceEnvelope_fields, &e)) {
|
||||||
if (strcmp(e.gateway_id, owner.id) == 0)
|
DEBUG_MSG("Invalid MQTT service envelope, topic %s, len %u!\n", topic, length);
|
||||||
DEBUG_MSG("Ignoring downlink message we originally sent.\n");
|
return;
|
||||||
else {
|
}else {
|
||||||
if (e.packet) {
|
if (strcmp(e.gateway_id, owner.id) == 0)
|
||||||
DEBUG_MSG("Received MQTT topic %s, len=%u\n", topic, length);
|
DEBUG_MSG("Ignoring downlink message we originally sent.\n");
|
||||||
MeshPacket *p = packetPool.allocCopy(*e.packet);
|
else {
|
||||||
|
if (e.packet) {
|
||||||
|
DEBUG_MSG("Received MQTT topic %s, len=%u\n", topic, length);
|
||||||
|
MeshPacket *p = packetPool.allocCopy(*e.packet);
|
||||||
|
|
||||||
// ignore messages sent by us or if we don't have the channel key
|
// ignore messages sent by us or if we don't have the channel key
|
||||||
if (router && p->from != nodeDB.getNodeNum() && perhapsDecode(p))
|
if (router && p->from != nodeDB.getNodeNum() && perhapsDecode(p))
|
||||||
router->enqueueReceivedMessage(p);
|
router->enqueueReceivedMessage(p);
|
||||||
else
|
else
|
||||||
packetPool.release(p);
|
packetPool.release(p);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// make sure to free both strings and the MeshPacket (passing in NULL is acceptable)
|
// make sure to free both strings and the MeshPacket (passing in NULL is acceptable)
|
||||||
free(e.channel_id);
|
free(e.channel_id);
|
||||||
free(e.gateway_id);
|
free(e.gateway_id);
|
||||||
|
Loading…
Reference in New Issue
Block a user