diff --git a/mesh_bot.py b/mesh_bot.py index 2762ccd..f51052c 100755 --- a/mesh_bot.py +++ b/mesh_bot.py @@ -985,6 +985,10 @@ def onReceive(packet, interface): elif interface2_enabled and interface2_type == 'ble': rxNode = 2 + # check if the packet is from us + if packet['from'] == myNodeNum1 or packet['from'] == myNodeNum2: + logger.warning(f"System: Packet from self {packet['from']} loop or traffic replay deteted") + # check if the packet has a channel flag use it if packet.get('channel'): channel_number = packet.get('channel', 0) @@ -1185,7 +1189,7 @@ def onReceive(packet, interface): send_message(rMsg, channel_number, 0, 1) else: # Evaluate non TEXT_MESSAGE_APP packets - consumeMetadata(packet, rxNode) + consumeMetadata(packet, rxNode) except KeyError as e: logger.critical(f"System: Error processing packet: {e} Device:{rxNode}") logger.debug(f"System: Error Packet = {packet}") diff --git a/pong_bot.py b/pong_bot.py index cb1dd8f..bf07c89 100755 --- a/pong_bot.py +++ b/pong_bot.py @@ -206,6 +206,10 @@ def onReceive(packet, interface): rxNode = 1 elif interface2_enabled and interface2_type == 'ble': rxNode = 2 + + # check if the packet is from us + if packet['from'] == myNodeNum1 or packet['from'] == myNodeNum2: + logger.warning(f"System: Packet from self {packet['from']} loop or traffic replay deteted") # check if the packet has a channel flag use it if packet.get('channel'): @@ -340,7 +344,7 @@ def onReceive(packet, interface): send_message(rMsg, channel_number, 0, 1) else: # Evaluate non TEXT_MESSAGE_APP packets - consumeMetadata(packet, rxNode) + consumeMetadata(packet, rxNode) except KeyError as e: logger.critical(f"System: Error processing packet: {e} Device:{rxNode}") logger.debug(f"System: Error Packet = {packet}")