From e9d10c37d183002b8e96242cb232f87264acc5b7 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Wed, 16 Mar 2022 23:11:28 -0400 Subject: [PATCH] add support to convert P25 CAI IP to an actual representative IP in the log; --- Defines.h | 6 ++++++ p25/DataPacket.cpp | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Defines.h b/Defines.h index 942afe80..ccd2de5f 100644 --- a/Defines.h +++ b/Defines.h @@ -192,6 +192,12 @@ inline std::string __FLOAT_STR(const float& value) { return ss.str(); } +inline std::string __IP_FROM_ULONG(const ulong64_t& value) { + std::stringstream ss; + ss << ((value >> 24) & 0xFFU) << "." << ((value >> 16) & 0xFFU) << "." << ((value >> 8) & 0xFFU) << "." << (value & 0xFFU); + return ss.str(); +} + // --------------------------------------------------------------------------- // Macros // --------------------------------------------------------------------------- diff --git a/p25/DataPacket.cpp b/p25/DataPacket.cpp index f15c270a..a4e71dd3 100644 --- a/p25/DataPacket.cpp +++ b/p25/DataPacket.cpp @@ -278,13 +278,13 @@ bool DataPacket::process(uint8_t* data, uint32_t len) (m_pduUserData[10U] << 8) + m_pduUserData[11U]; if (m_verbose) { - LogMessage(LOG_RF, P25_PDU_STR ", PDU_REG_TYPE_REQ_CNCT (Registration Request Connect), llId = %u, ipAddr = %u", llId, ipAddr); + LogMessage(LOG_RF, P25_PDU_STR ", PDU_REG_TYPE_REQ_CNCT (Registration Request Connect), llId = %u, ipAddr = %s", llId, __IP_FROM_ULONG(ipAddr).c_str()); } writeRF_PDU_Ack_Response(PDU_ACK_CLASS_ACK, PDU_ACK_TYPE_ACK, llId); if (!acl::AccessControl::validateSrcId(llId)) { - LogWarning(LOG_RF, P25_PDU_STR ", PDU_REG_TYPE_RSP_DENY (Registration Response Deny), llId = %u, ipAddr = %u", llId, ipAddr); + LogWarning(LOG_RF, P25_PDU_STR ", PDU_REG_TYPE_RSP_DENY (Registration Response Deny), llId = %u, ipAddr = %s", llId, __IP_FROM_ULONG(ipAddr).c_str()); writeRF_PDU_Reg_Response(PDU_REG_TYPE_RSP_DENY, llId, ipAddr); } else { @@ -294,7 +294,7 @@ bool DataPacket::process(uint8_t* data, uint32_t len) } if (m_verbose) { - LogMessage(LOG_RF, P25_PDU_STR ", PDU_REG_TYPE_RSP_ACCPT (Registration Response Accept), llId = %u, ipAddr = %u", llId, ipAddr); + LogMessage(LOG_RF, P25_PDU_STR ", PDU_REG_TYPE_RSP_ACCPT (Registration Response Accept), llId = %u, ipAddr = %s", llId, __IP_FROM_ULONG(ipAddr).c_str()); } writeRF_PDU_Reg_Response(PDU_REG_TYPE_RSP_ACCPT, llId, ipAddr);