Skip to content

Commit

Permalink
Improves ignore messages in Router.cpp (#4442)
Browse files Browse the repository at this point in the history
Signed-off-by: Christopher Hoover <[email protected]>

.
  • Loading branch information
charlieh0tel authored Aug 14, 2024
1 parent 207b9b4 commit 1813251
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions src/mesh/Router.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -517,18 +517,26 @@ void Router::perhapsHandleReceived(meshtastic_MeshPacket *p)
}
#endif
// assert(radioConfig.has_preferences);
bool ignore = is_in_repeated(config.lora.ignore_incoming, p->from) || (config.lora.ignore_mqtt && p->via_mqtt);
if (is_in_repeated(config.lora.ignore_incoming, p->from)) {
LOG_DEBUG("Ignoring incoming message, 0x%x is in our ignore list\n", p->from);
packetPool.release(p);
return;
}

if (ignore) {
LOG_DEBUG("Ignoring incoming message, 0x%x is in our ignore list or came via MQTT\n", p->from);
} else if (ignore |= shouldFilterReceived(p)) {
LOG_DEBUG("Incoming message was filtered 0x%x\n", p->from);
if (config.lora.ignore_mqtt && p->via_mqtt) {
LOG_DEBUG("Message came in via MQTT from 0x%x\n", p->from);
packetPool.release(p);
return;
}

if (shouldFilterReceived(p)) {
LOG_DEBUG("Incoming message was filtered from 0x%x\n", p->from);
packetPool.release(p);
return;
}

// Note: we avoid calling shouldFilterReceived if we are supposed to ignore certain nodes - because some overrides might
// cache/learn of the existence of nodes (i.e. FloodRouter) that they should not
if (!ignore)
handleReceived(p);

handleReceived(p);
packetPool.release(p);
}

0 comments on commit 1813251

Please sign in to comment.