display whether or not voice traffic is encrypted in the activity log;

pull/1/head
Bryan Biedenkapp 5 years ago
parent e2026f33c9
commit a5f11a4aad

@ -115,7 +115,7 @@ bool DataPacket::process(uint8_t* data, uint32_t len)
// validate source RID // validate source RID
if (!acl::AccessControl::validateSrcId(srcId)) { if (!acl::AccessControl::validateSrcId(srcId)) {
LogWarning(LOG_RF, "DMR Slot %u, DMR_SYNC_DATA denial, RID rejection, srcId = %u", m_slot->m_slotNo, srcId); LogWarning(LOG_RF, "DMR Slot %u, DT_VOICE_LC_HEADER denial, RID rejection, srcId = %u", m_slot->m_slotNo, srcId);
delete lc; delete lc;
return false; return false;
} }
@ -123,12 +123,22 @@ bool DataPacket::process(uint8_t* data, uint32_t len)
// validate target TID, if the target is a talkgroup // validate target TID, if the target is a talkgroup
if (flco == FLCO_GROUP) { if (flco == FLCO_GROUP) {
if (!acl::AccessControl::validateTGId(m_slot->m_slotNo, dstId)) { if (!acl::AccessControl::validateTGId(m_slot->m_slotNo, dstId)) {
LogWarning(LOG_RF, "DMR Slot %u, DMR_SYNC_DATA denial, TGID rejection, srcId = %u, dstId = %u", m_slot->m_slotNo, srcId, dstId); LogWarning(LOG_RF, "DMR Slot %u, DT_VOICE_LC_HEADER denial, TGID rejection, srcId = %u, dstId = %u", m_slot->m_slotNo, srcId, dstId);
delete lc; delete lc;
return false; return false;
} }
} }
if (m_verbose) {
LogMessage(LOG_RF, "DMR Slot %u, DT_VOICE_LC_HEADER, srcId = %u, dstId = %u, FLCO = $%02X, FID = $%02X, PF = %u", m_slot->m_slotNo, lc->getSrcId(), lc->getDstId(), lc->getFLCO(), lc->getFID(), lc->getPF());
}
uint8_t fid = lc->getFID();
// NOTE: this is fiddly -- on Motorola a FID of 0x10 indicates a SU has transmitted with Enhanced Privacy enabled -- this might change
// and is not exact science!
bool encrypted = (fid & 0x10U) == 0x10U;
m_rfLC = lc; m_rfLC = lc;
// The standby LC data // The standby LC data
@ -186,7 +196,7 @@ bool DataPacket::process(uint8_t* data, uint32_t len)
Utils::dump(2U, "!!! *TX DMR Frame - DT_VOICE_LC_HEADER", data + 2U, DMR_FRAME_LENGTH_BYTES); Utils::dump(2U, "!!! *TX DMR Frame - DT_VOICE_LC_HEADER", data + 2U, DMR_FRAME_LENGTH_BYTES);
} }
::ActivityLog("DMR", true, "Slot %u, received RF voice header from %u to %s%u", m_slot->m_slotNo, srcId, flco == FLCO_GROUP ? "TG " : "", dstId); ::ActivityLog("DMR", true, "Slot %u, received RF %svoice header from %u to %s%u", m_slot->m_slotNo, encrypted ? "encrypted " : "", srcId, flco == FLCO_GROUP ? "TG " : "", dstId);
return true; return true;
} }
else if (dataType == DT_VOICE_PI_HEADER) { else if (dataType == DT_VOICE_PI_HEADER) {
@ -586,6 +596,10 @@ void DataPacket::processNetwork(const data::Data& dmrData)
dmrData.getSrcId(), dmrData.getFLCO() == FLCO_GROUP ? "TG" : "", dmrData.getDstId(), dmrData.getSrcId(), dmrData.getFLCO() == FLCO_GROUP ? "TG" : "", dmrData.getDstId(),
srcId, flco == FLCO_GROUP ? "TG" : "", dstId); srcId, flco == FLCO_GROUP ? "TG" : "", dstId);
if (m_verbose) {
LogMessage(LOG_NET, "DMR Slot %u, DT_VOICE_LC_HEADER, srcId = %u, dstId = %u, FLCO = $%02X, FID = $%02X, PF = %u", m_slot->m_slotNo, lc->getSrcId(), lc->getDstId(), lc->getFLCO(), lc->getFID(), lc->getPF());
}
m_netLC = lc; m_netLC = lc;
// The standby LC data // The standby LC data

@ -262,7 +262,7 @@ bool VoicePacket::process(uint8_t* data, uint32_t len)
} }
} }
::ActivityLog("P25", true, "received RF voice transmission from %u to %s%u", srcId, m_rfLC.getGroup() ? "TG " : "", dstId); ::ActivityLog("P25", true, "received RF %svoice transmission from %u to %s%u", m_rfLC.getEncrypted() ? "encrypted ": "", srcId, m_rfLC.getGroup() ? "TG " : "", dstId);
if (m_p25->m_control) { if (m_p25->m_control) {
if (m_rfLC.getGroup() && (m_lastPatchGroup != dstId) && if (m_rfLC.getGroup() && (m_lastPatchGroup != dstId) &&
@ -1045,7 +1045,7 @@ void VoicePacket::writeNet_HDU(const lc::LC& control, const data::LowSpeedData&
m_p25->m_trunk->writeRF_ControlData(255U, 0U, false); m_p25->m_trunk->writeRF_ControlData(255U, 0U, false);
} }
::ActivityLog("P25", false, "received network transmission from %u to %s%u", srcId, group ? "TG " : "", dstId); ::ActivityLog("P25", false, "received %snetwork transmission from %u to %s%u", m_netLC.getEncrypted() ? "encrypted " : "", srcId, group ? "TG " : "", dstId);
m_rfLC.reset(); m_rfLC.reset();
m_rfLC.setMI(mi); m_rfLC.setMI(mi);

Loading…
Cancel
Save

Powered by TurnKey Linux.