mirror of
https://github.com/craigerl/aprsd.git
synced 2026-06-16 04:48:48 -04:00
db3a0428c0
DupePacketFilter.filter() was checking packet.processed (the newly arrived duplicate) instead of found.processed (the previously stored packet). Since all freshly decoded packets have processed=False by default, the dupe detection branch was never reachable — every duplicate message was passed through and re-processed. This caused KM6LYW's retransmit of msg:9028 (via a different digipeater path 63s after first receipt) to trigger NearestPlugin a second time, sending 4 reply packets instead of 2 and resetting the AckPacket retry counter back to (1 of 3). Fix: check found.processed instead of packet.processed. Update existing tests to reflect the correct variable under test. Add regression test test_filter_aprs_retransmit_via_different_digi that reproduces the exact production scenario.