From 031c50462226c8ea669878697b0d8b3e395a85ba Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Fri, 11 Nov 2016 07:20:45 +0000 Subject: [PATCH] Unknown CSBKs are passed through. --- DMRSlot.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/DMRSlot.cpp b/DMRSlot.cpp index 282de50..11148f2 100644 --- a/DMRSlot.cpp +++ b/DMRSlot.cpp @@ -329,8 +329,10 @@ void CDMRSlot::writeModem(unsigned char *data, unsigned int len) unsigned int srcId = csbk.getSrcId(); unsigned int dstId = csbk.getDstId(); - if (!CDMRAccessControl::validateAccess(srcId, dstId, m_slotNo, false)) - return; + if (srcId != 0U || dstId != 0U) { + if (!CDMRAccessControl::validateAccess(srcId, dstId, m_slotNo, false)) + return; + } // Regenerate the CSBK data csbk.get(data + 2U); @@ -1205,9 +1207,11 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData) unsigned int srcId = csbk.getSrcId(); unsigned int dstId = csbk.getDstId(); - if (!CDMRAccessControl::validateAccess(srcId, dstId, m_slotNo, true)) - return; - + if (srcId != 0U || dstId != 0U) { + if (!CDMRAccessControl::validateAccess(srcId, dstId, m_slotNo, true)) + return; + } + // Regenerate the CSBK data csbk.get(data + 2U);