From 31e6769ddcd85c49c57194871e174eefedf10730 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Sat, 8 Jul 2023 13:35:05 -0400 Subject: [PATCH] don't network repeat AMBT PDUs; ensure AMBTs aren't processed if control processing is disabled; --- src/p25/packet/Data.cpp | 6 +++++- src/p25/packet/Trunk.cpp | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/p25/packet/Data.cpp b/src/p25/packet/Data.cpp index 6b84bdc0..988f7397 100644 --- a/src/p25/packet/Data.cpp +++ b/src/p25/packet/Data.cpp @@ -236,7 +236,11 @@ bool Data::process(uint8_t* data, uint32_t len) } } - writeNetwork(m_rfDataBlockCnt, m_pduUserData + dataOffset, (m_rfDataHeader.getFormat() == PDU_FMT_CONFIRMED) ? P25_PDU_CONFIRMED_DATA_LENGTH_BYTES : P25_PDU_UNCONFIRMED_LENGTH_BYTES); + // only repeat data blocks if we're not an AMBT + if (m_rfDataHeader.getFormat() != PDU_FMT_AMBT) { + writeNetwork(m_rfDataBlockCnt, m_pduUserData + dataOffset, (m_rfDataHeader.getFormat() == PDU_FMT_CONFIRMED) ? P25_PDU_CONFIRMED_DATA_LENGTH_BYTES : P25_PDU_UNCONFIRMED_LENGTH_BYTES); + } + m_rfDataBlockCnt++; } else { diff --git a/src/p25/packet/Trunk.cpp b/src/p25/packet/Trunk.cpp index 7ad2cfdc..fb3c6144 100644 --- a/src/p25/packet/Trunk.cpp +++ b/src/p25/packet/Trunk.cpp @@ -909,6 +909,10 @@ bool Trunk::processNetwork(uint8_t* data, uint32_t len, lc::LC& control, data::L /// bool Trunk::processMBT(DataHeader dataHeader, DataBlock* blocks) { + if (!m_p25->m_control) { + return false; + } + uint8_t data[1U]; ::memset(data, 0x00U, 1U);