From 9fb22011396634c2f9127baca5fee65bbf10f917 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Fri, 12 Jan 2024 16:25:57 -0500 Subject: [PATCH] code cleanup; some minor modifications for out-of-band software; --- src/common/Thread.h | 2 +- src/common/network/UDPSocket.cpp | 32 +++++++++---------- src/common/p25/data/DataHeader.cpp | 19 ++++++++--- src/common/p25/data/DataHeader.h | 4 +-- src/common/p25/dfsi/DFSIDefines.h | 25 ++++++++++++++- .../p25/lc/tsbk/mbt/MBT_IOSP_ACK_RSP.cpp | 4 +-- .../p25/lc/tsbk/mbt/MBT_IOSP_CALL_ALRT.cpp | 4 +-- .../p25/lc/tsbk/mbt/MBT_IOSP_EXT_FNCT.cpp | 4 +-- .../p25/lc/tsbk/mbt/MBT_IOSP_GRP_AFF.cpp | 4 +-- .../p25/lc/tsbk/mbt/MBT_IOSP_MSG_UPDT.cpp | 4 +-- .../p25/lc/tsbk/mbt/MBT_IOSP_STS_UPDT.cpp | 4 +-- .../p25/lc/tsbk/mbt/MBT_ISP_AUTH_RESP_M.cpp | 22 ++++++------- .../p25/lc/tsbk/mbt/MBT_ISP_AUTH_SU_DMD.cpp | 4 +-- .../p25/lc/tsbk/mbt/MBT_ISP_CAN_SRV_REQ.cpp | 4 +-- .../p25/lc/tsbk/mbt/MBT_OSP_ADJ_STS_BCAST.cpp | 4 +-- .../p25/lc/tsbk/mbt/MBT_OSP_AUTH_DMD.cpp | 24 +++++++------- .../p25/lc/tsbk/mbt/MBT_OSP_NET_STS_BCAST.cpp | 4 +-- .../lc/tsbk/mbt/MBT_OSP_RFSS_STS_BCAST.cpp | 4 +-- src/fne/network/FNENetwork.cpp | 1 - src/fne/network/FNENetwork.h | 2 ++ src/host/network/Network.cpp | 20 ++++++------ 21 files changed, 114 insertions(+), 81 deletions(-) diff --git a/src/common/Thread.h b/src/common/Thread.h index af5f77de..37ca6c8e 100644 --- a/src/common/Thread.h +++ b/src/common/Thread.h @@ -71,7 +71,7 @@ private: public: /// Flag indicating if the thread was started. - __READONLY_PROPERTY_PLAIN(bool, started, started); + __PROTECTED_READONLY_PROPERTY_PLAIN(bool, started, started); }; #endif // __THREAD_H__ diff --git a/src/common/network/UDPSocket.cpp b/src/common/network/UDPSocket.cpp index f3704f8c..343f6499 100644 --- a/src/common/network/UDPSocket.cpp +++ b/src/common/network/UDPSocket.cpp @@ -459,14 +459,14 @@ bool UDPSocket::match(const sockaddr_storage& addr1, const sockaddr_storage& add if (type == IMT_ADDRESS_AND_PORT) { switch (addr1.ss_family) { case AF_INET: - struct sockaddr_in* in_1, * in_2; - in_1 = (struct sockaddr_in*) & addr1; - in_2 = (struct sockaddr_in*) & addr2; + struct sockaddr_in* in_1, *in_2; + in_1 = (struct sockaddr_in*)& addr1; + in_2 = (struct sockaddr_in*)& addr2; return (in_1->sin_addr.s_addr == in_2->sin_addr.s_addr) && (in_1->sin_port == in_2->sin_port); case AF_INET6: struct sockaddr_in6* in6_1, *in6_2; - in6_1 = (struct sockaddr_in6*) & addr1; - in6_2 = (struct sockaddr_in6*) & addr2; + in6_1 = (struct sockaddr_in6*)& addr1; + in6_2 = (struct sockaddr_in6*)& addr2; return IN6_ARE_ADDR_EQUAL(&in6_1->sin6_addr, &in6_2->sin6_addr) && (in6_1->sin6_port == in6_2->sin6_port); default: return false; @@ -475,14 +475,14 @@ bool UDPSocket::match(const sockaddr_storage& addr1, const sockaddr_storage& add else if (type == IMT_ADDRESS_ONLY) { switch (addr1.ss_family) { case AF_INET: - struct sockaddr_in* in_1, * in_2; - in_1 = (struct sockaddr_in*) & addr1; - in_2 = (struct sockaddr_in*) & addr2; + struct sockaddr_in* in_1, *in_2; + in_1 = (struct sockaddr_in*)& addr1; + in_2 = (struct sockaddr_in*)& addr2; return in_1->sin_addr.s_addr == in_2->sin_addr.s_addr; case AF_INET6: - struct sockaddr_in6* in6_1, * in6_2; - in6_1 = (struct sockaddr_in6*) & addr1; - in6_2 = (struct sockaddr_in6*) & addr2; + struct sockaddr_in6* in6_1, *in6_2; + in6_1 = (struct sockaddr_in6*)& addr1; + in6_2 = (struct sockaddr_in6*)& addr2; return IN6_ARE_ADDR_EQUAL(&in6_1->sin6_addr, &in6_2->sin6_addr); default: return false; @@ -507,7 +507,7 @@ std::string UDPSocket::address(const sockaddr_storage& addr) case AF_INET: { struct sockaddr_in* in; - in = (struct sockaddr_in*) & addr; + in = (struct sockaddr_in*)& addr; inet_ntop(AF_INET, &(in->sin_addr), str, INET_ADDRSTRLEN); address = std::string(str); } @@ -515,7 +515,7 @@ std::string UDPSocket::address(const sockaddr_storage& addr) case AF_INET6: { struct sockaddr_in6* in6; - in6 = (struct sockaddr_in6*) & addr; + in6 = (struct sockaddr_in6*)& addr; inet_ntop(AF_INET6, &(in6->sin6_addr), str, INET_ADDRSTRLEN); address = std::string(str); } @@ -540,14 +540,14 @@ uint16_t UDPSocket::port(const sockaddr_storage& addr) case AF_INET: { struct sockaddr_in* in; - in = (struct sockaddr_in*) & addr; + in = (struct sockaddr_in*)& addr; port = ntohs(in->sin_port); } break; case AF_INET6: { struct sockaddr_in6* in6; - in6 = (struct sockaddr_in6*) & addr; + in6 = (struct sockaddr_in6*)& addr; port = ntohs(in6->sin6_port); } break; @@ -565,7 +565,7 @@ uint16_t UDPSocket::port(const sockaddr_storage& addr) /// bool UDPSocket::isNone(const sockaddr_storage& addr) { - struct sockaddr_in* in = (struct sockaddr_in*) & addr; + struct sockaddr_in* in = (struct sockaddr_in*)& addr; return ((addr.ss_family == AF_INET) && (in->sin_addr.s_addr == htonl(INADDR_NONE))); } diff --git a/src/common/p25/data/DataHeader.cpp b/src/common/p25/data/DataHeader.cpp index cd30f00b..41ca2322 100644 --- a/src/common/p25/data/DataHeader.cpp +++ b/src/common/p25/data/DataHeader.cpp @@ -86,13 +86,20 @@ DataHeader::~DataHeader() /// Decodes P25 PDU data header. /// /// +/// /// True, if PDU data header was decoded, otherwise false. -bool DataHeader::decode(const uint8_t* data) +bool DataHeader::decode(const uint8_t* data, bool noTrellis) { assert(data != nullptr); // decode 1/2 rate Trellis & check CRC-CCITT 16 - bool valid = m_trellis.decode12(data, m_data); + bool valid = true; + if (noTrellis) { + ::memcpy(m_data, data, P25_PDU_HEADER_LENGTH_BYTES); + } + else { + valid = m_trellis.decode12(data, m_data); + } if (valid) valid = edac::CRC::checkCCITT162(m_data, P25_PDU_HEADER_LENGTH_BYTES); if (!valid) { @@ -171,7 +178,7 @@ bool DataHeader::decode(const uint8_t* data) /// Encodes P25 PDU data header. /// /// -void DataHeader::encode(uint8_t* data) +void DataHeader::encode(uint8_t* data, bool noTrellis) { assert(data != nullptr); @@ -243,8 +250,10 @@ void DataHeader::encode(uint8_t* data) Utils::dump(1U, "P25, DataHeader::encode(), PDU Header Data", header, P25_PDU_HEADER_LENGTH_BYTES); #endif - // encode 1/2 rate Trellis - m_trellis.encode12(header, data); + if (!noTrellis) { + // encode 1/2 rate Trellis + m_trellis.encode12(header, data); + } } /// diff --git a/src/common/p25/data/DataHeader.h b/src/common/p25/data/DataHeader.h index a6cd61a2..09ffc577 100644 --- a/src/common/p25/data/DataHeader.h +++ b/src/common/p25/data/DataHeader.h @@ -48,9 +48,9 @@ namespace p25 ~DataHeader(); /// Decodes P25 PDU data header. - bool decode(const uint8_t* data); + bool decode(const uint8_t* data, bool noTrellis = false); /// Encodes P25 PDU data header. - void encode(uint8_t* data); + void encode(uint8_t* data, bool noTrellis = false); /// Helper to reset data values to defaults. void reset(); diff --git a/src/common/p25/dfsi/DFSIDefines.h b/src/common/p25/dfsi/DFSIDefines.h index 81bbc1fa..ac922246 100644 --- a/src/common/p25/dfsi/DFSIDefines.h +++ b/src/common/p25/dfsi/DFSIDefines.h @@ -7,7 +7,7 @@ * */ /* -* Copyright (C) 2022 by Bryan Biedenkapp N2PLL +* Copyright (C) 2022-2024 by Bryan Biedenkapp N2PLL * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -44,6 +44,26 @@ namespace p25 // Constants // --------------------------------------------------------------------------- + const uint8_t P25_DFSI_STATUS_NO_ERROR = 0x00; // + const uint8_t P25_DFSI_STATUS_ERASE = 0x02; // + + const uint8_t P25_DFSI_RT_ENABLED = 0x02; // + const uint8_t P25_DFSI_RT_DISABLED = 0x04; // + + const uint8_t P25_DFSI_START_FLAG = 0x0C; // + const uint8_t P25_DFSI_STOP_FLAG = 0x25; // + + const uint8_t P25_DFSI_TYPE_DATA_PAYLOAD = 0x06; // + const uint8_t P25_DFSI_TYPE_VOICE = 0x0B; // + + const uint8_t P25_DFSI_DEF_ICW_SOURCE = 0x00; // Infrastructure Source - Default Source + const uint8_t P25_DFSI_DEF_SOURCE = 0x00; // + + const uint8_t P25_DFSI_MOT_START_STOP = 0x00; // Motorola Start/Stop Frame + + const uint32_t P25_DFSI_VHDR_RAW_LEN = 36U; + const uint32_t P25_DFSI_VHDR_LEN = 27U; + const uint32_t P25_DFSI_LDU1_VOICE1_FRAME_LENGTH_BYTES = 22U; const uint32_t P25_DFSI_LDU1_VOICE2_FRAME_LENGTH_BYTES = 14U; const uint32_t P25_DFSI_LDU1_VOICE3_FRAME_LENGTH_BYTES = 17U; @@ -65,6 +85,9 @@ namespace p25 const uint32_t P25_DFSI_LDU2_VOICE18_FRAME_LENGTH_BYTES = 16U; // Frame Type(s) + const uint8_t P25_DFSI_MOT_VHDR_1 = 0x60; // Motorola Voice Header 1 + const uint8_t P25_DFSI_MOT_VHDR_2 = 0x61; // Motorola Voice Header 2 + const uint8_t P25_DFSI_LDU1_VOICE1 = 0x62U; // IMBE LDU1 - Voice 1 const uint8_t P25_DFSI_LDU1_VOICE2 = 0x63U; // IMBE LDU1 - Voice 2 const uint8_t P25_DFSI_LDU1_VOICE3 = 0x64U; // IMBE LDU1 - Voice 3 + Link Control diff --git a/src/common/p25/lc/tsbk/mbt/MBT_IOSP_ACK_RSP.cpp b/src/common/p25/lc/tsbk/mbt/MBT_IOSP_ACK_RSP.cpp index 9f9e6130..8c8e7a4d 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_IOSP_ACK_RSP.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_IOSP_ACK_RSP.cpp @@ -55,7 +55,7 @@ MBT_IOSP_ACK_RSP::MBT_IOSP_ACK_RSP() : AMBT() /// True, if TSBK was decoded, otherwise false. bool MBT_IOSP_ACK_RSP::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); uint8_t pduUserData[P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()]; ::memset(pduUserData, 0x00U, P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()); @@ -83,7 +83,7 @@ bool MBT_IOSP_ACK_RSP::decodeMBT(const data::DataHeader& dataHeader, const data: /// void MBT_IOSP_ACK_RSP::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); /* stub */ diff --git a/src/common/p25/lc/tsbk/mbt/MBT_IOSP_CALL_ALRT.cpp b/src/common/p25/lc/tsbk/mbt/MBT_IOSP_CALL_ALRT.cpp index e8fa47f7..32eb2b86 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_IOSP_CALL_ALRT.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_IOSP_CALL_ALRT.cpp @@ -55,7 +55,7 @@ MBT_IOSP_CALL_ALRT::MBT_IOSP_CALL_ALRT() : AMBT() /// True, if TSBK was decoded, otherwise false. bool MBT_IOSP_CALL_ALRT::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); uint8_t pduUserData[P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()]; ::memset(pduUserData, 0x00U, P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()); @@ -81,7 +81,7 @@ bool MBT_IOSP_CALL_ALRT::decodeMBT(const data::DataHeader& dataHeader, const dat /// void MBT_IOSP_CALL_ALRT::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); /* stub */ diff --git a/src/common/p25/lc/tsbk/mbt/MBT_IOSP_EXT_FNCT.cpp b/src/common/p25/lc/tsbk/mbt/MBT_IOSP_EXT_FNCT.cpp index e01c0046..4f0b9d63 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_IOSP_EXT_FNCT.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_IOSP_EXT_FNCT.cpp @@ -56,7 +56,7 @@ MBT_IOSP_EXT_FNCT::MBT_IOSP_EXT_FNCT() : AMBT(), /// True, if TSBK was decoded, otherwise false. bool MBT_IOSP_EXT_FNCT::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); uint8_t pduUserData[P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()]; ::memset(pduUserData, 0x00U, P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()); @@ -83,7 +83,7 @@ bool MBT_IOSP_EXT_FNCT::decodeMBT(const data::DataHeader& dataHeader, const data /// void MBT_IOSP_EXT_FNCT::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); /* stub */ diff --git a/src/common/p25/lc/tsbk/mbt/MBT_IOSP_GRP_AFF.cpp b/src/common/p25/lc/tsbk/mbt/MBT_IOSP_GRP_AFF.cpp index f6f7ade6..1bcaff14 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_IOSP_GRP_AFF.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_IOSP_GRP_AFF.cpp @@ -55,7 +55,7 @@ MBT_IOSP_GRP_AFF::MBT_IOSP_GRP_AFF() : AMBT() /// True, if TSBK was decoded, otherwise false. bool MBT_IOSP_GRP_AFF::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); uint8_t pduUserData[P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()]; ::memset(pduUserData, 0x00U, P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()); @@ -81,7 +81,7 @@ bool MBT_IOSP_GRP_AFF::decodeMBT(const data::DataHeader& dataHeader, const data: /// void MBT_IOSP_GRP_AFF::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); /* stub */ diff --git a/src/common/p25/lc/tsbk/mbt/MBT_IOSP_MSG_UPDT.cpp b/src/common/p25/lc/tsbk/mbt/MBT_IOSP_MSG_UPDT.cpp index efe45f03..9670f50a 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_IOSP_MSG_UPDT.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_IOSP_MSG_UPDT.cpp @@ -56,7 +56,7 @@ MBT_IOSP_MSG_UPDT::MBT_IOSP_MSG_UPDT() : AMBT(), /// True, if TSBK was decoded, otherwise false. bool MBT_IOSP_MSG_UPDT::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); uint8_t pduUserData[P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()]; ::memset(pduUserData, 0x00U, P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()); @@ -83,7 +83,7 @@ bool MBT_IOSP_MSG_UPDT::decodeMBT(const data::DataHeader& dataHeader, const data /// void MBT_IOSP_MSG_UPDT::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); /* stub */ diff --git a/src/common/p25/lc/tsbk/mbt/MBT_IOSP_STS_UPDT.cpp b/src/common/p25/lc/tsbk/mbt/MBT_IOSP_STS_UPDT.cpp index 7d9a0739..92dcfbe2 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_IOSP_STS_UPDT.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_IOSP_STS_UPDT.cpp @@ -56,7 +56,7 @@ MBT_IOSP_STS_UPDT::MBT_IOSP_STS_UPDT() : AMBT(), /// True, if TSBK was decoded, otherwise false. bool MBT_IOSP_STS_UPDT::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); uint8_t pduUserData[P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()]; ::memset(pduUserData, 0x00U, P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()); @@ -83,7 +83,7 @@ bool MBT_IOSP_STS_UPDT::decodeMBT(const data::DataHeader& dataHeader, const data /// void MBT_IOSP_STS_UPDT::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); /* stub */ diff --git a/src/common/p25/lc/tsbk/mbt/MBT_ISP_AUTH_RESP_M.cpp b/src/common/p25/lc/tsbk/mbt/MBT_ISP_AUTH_RESP_M.cpp index 1b97864b..ee6d9224 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_ISP_AUTH_RESP_M.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_ISP_AUTH_RESP_M.cpp @@ -57,14 +57,14 @@ MBT_ISP_AUTH_RESP_M::MBT_ISP_AUTH_RESP_M() : AMBT() /// MBT_ISP_AUTH_RESP_M::~MBT_ISP_AUTH_RESP_M() { - if (m_authRes != NULL) { + if (m_authRes != nullptr) { delete[] m_authRes; - m_authRes = NULL; + m_authRes = nullptr; } - if (m_authRC != NULL) { + if (m_authRC != nullptr) { delete[] m_authRC; - m_authRC = NULL; + m_authRC = nullptr; } } @@ -76,7 +76,7 @@ MBT_ISP_AUTH_RESP_M::~MBT_ISP_AUTH_RESP_M() /// True, if TSBK was decoded, otherwise false. bool MBT_ISP_AUTH_RESP_M::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); uint8_t pduUserData[P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()]; ::memset(pduUserData, 0x00U, P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()); @@ -120,7 +120,7 @@ bool MBT_ISP_AUTH_RESP_M::decodeMBT(const data::DataHeader& dataHeader, const da /// void MBT_ISP_AUTH_RESP_M::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); /* stub */ @@ -141,7 +141,7 @@ std::string MBT_ISP_AUTH_RESP_M::toString(bool isp) /// void MBT_ISP_AUTH_RESP_M::getAuthRes(uint8_t* res) const { - assert(res != NULL); + assert(res != nullptr); ::memcpy(res, m_authRes, P25_AUTH_RES_LENGTH_BYTES); } @@ -150,7 +150,7 @@ void MBT_ISP_AUTH_RESP_M::getAuthRes(uint8_t* res) const /// void MBT_ISP_AUTH_RESP_M::setAuthRC(const uint8_t* rc) { - assert(rc != NULL); + assert(rc != nullptr); ::memcpy(m_authRC, rc, P25_AUTH_RAND_CHLNG_LENGTH_BYTES); } @@ -159,7 +159,7 @@ void MBT_ISP_AUTH_RESP_M::setAuthRC(const uint8_t* rc) /// void MBT_ISP_AUTH_RESP_M::getAuthRC(uint8_t* rc) const { - assert(rc != NULL); + assert(rc != nullptr); ::memcpy(rc, m_authRC, P25_AUTH_RAND_CHLNG_LENGTH_BYTES); } @@ -178,14 +178,14 @@ void MBT_ISP_AUTH_RESP_M::copy(const MBT_ISP_AUTH_RESP_M& data) m_authStandalone = data.m_authStandalone; - if (m_authRes != NULL) { + if (m_authRes != nullptr) { delete[] m_authRes; } m_authRes = new uint8_t[P25_AUTH_RES_LENGTH_BYTES]; ::memcpy(m_authRes, data.m_authRes, P25_AUTH_RES_LENGTH_BYTES); - if (m_authRC != NULL) { + if (m_authRC != nullptr) { delete[] m_authRC; } diff --git a/src/common/p25/lc/tsbk/mbt/MBT_ISP_AUTH_SU_DMD.cpp b/src/common/p25/lc/tsbk/mbt/MBT_ISP_AUTH_SU_DMD.cpp index 39cc77b7..49878b15 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_ISP_AUTH_SU_DMD.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_ISP_AUTH_SU_DMD.cpp @@ -55,7 +55,7 @@ MBT_ISP_AUTH_SU_DMD::MBT_ISP_AUTH_SU_DMD() : AMBT() /// True, if TSBK was decoded, otherwise false. bool MBT_ISP_AUTH_SU_DMD::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); uint8_t pduUserData[P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()]; ::memset(pduUserData, 0x00U, P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()); @@ -80,7 +80,7 @@ bool MBT_ISP_AUTH_SU_DMD::decodeMBT(const data::DataHeader& dataHeader, const da /// void MBT_ISP_AUTH_SU_DMD::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); /* stub */ diff --git a/src/common/p25/lc/tsbk/mbt/MBT_ISP_CAN_SRV_REQ.cpp b/src/common/p25/lc/tsbk/mbt/MBT_ISP_CAN_SRV_REQ.cpp index 08c7a293..d3b0c183 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_ISP_CAN_SRV_REQ.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_ISP_CAN_SRV_REQ.cpp @@ -55,7 +55,7 @@ MBT_ISP_CAN_SRV_REQ::MBT_ISP_CAN_SRV_REQ() : AMBT() /// True, if TSBK was decoded, otherwise false. bool MBT_ISP_CAN_SRV_REQ::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); uint8_t pduUserData[P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()]; ::memset(pduUserData, 0x00U, P25_PDU_UNCONFIRMED_LENGTH_BYTES * dataHeader.getBlocksToFollow()); @@ -85,7 +85,7 @@ bool MBT_ISP_CAN_SRV_REQ::decodeMBT(const data::DataHeader& dataHeader, const da /// void MBT_ISP_CAN_SRV_REQ::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); /* stub */ diff --git a/src/common/p25/lc/tsbk/mbt/MBT_OSP_ADJ_STS_BCAST.cpp b/src/common/p25/lc/tsbk/mbt/MBT_OSP_ADJ_STS_BCAST.cpp index 829ca48c..1c575f9f 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_OSP_ADJ_STS_BCAST.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_OSP_ADJ_STS_BCAST.cpp @@ -61,7 +61,7 @@ MBT_OSP_ADJ_STS_BCAST::MBT_OSP_ADJ_STS_BCAST() : AMBT(), /// True, if TSBK was decoded, otherwise false. bool MBT_OSP_ADJ_STS_BCAST::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); /* stub */ @@ -75,7 +75,7 @@ bool MBT_OSP_ADJ_STS_BCAST::decodeMBT(const data::DataHeader& dataHeader, const /// void MBT_OSP_ADJ_STS_BCAST::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); if ((m_adjRfssId != 0U) && (m_adjSiteId != 0U) && (m_adjChannelNo != 0U)) { if (m_adjSysId == 0U) { diff --git a/src/common/p25/lc/tsbk/mbt/MBT_OSP_AUTH_DMD.cpp b/src/common/p25/lc/tsbk/mbt/MBT_OSP_AUTH_DMD.cpp index 9286c2b2..9e6bbeec 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_OSP_AUTH_DMD.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_OSP_AUTH_DMD.cpp @@ -57,14 +57,14 @@ MBT_OSP_AUTH_DMD::MBT_OSP_AUTH_DMD() : AMBT() /// MBT_OSP_AUTH_DMD::~MBT_OSP_AUTH_DMD() { - if (m_authRS != NULL) { + if (m_authRS != nullptr) { delete[] m_authRS; - m_authRS = NULL; + m_authRS = nullptr; } - if (m_authRC != NULL) { + if (m_authRC != nullptr) { delete[] m_authRC; - m_authRC = NULL; + m_authRC = nullptr; } } @@ -76,7 +76,7 @@ MBT_OSP_AUTH_DMD::~MBT_OSP_AUTH_DMD() /// True, if TSBK was decoded, otherwise false. bool MBT_OSP_AUTH_DMD::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); /* stub */ @@ -90,7 +90,7 @@ bool MBT_OSP_AUTH_DMD::decodeMBT(const data::DataHeader& dataHeader, const data: /// void MBT_OSP_AUTH_DMD::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); dataHeader.setBlocksToFollow(2U); @@ -138,7 +138,7 @@ std::string MBT_OSP_AUTH_DMD::toString(bool isp) /// void MBT_OSP_AUTH_DMD::setAuthRS(const uint8_t* rs) { - assert(rs != NULL); + assert(rs != nullptr); ::memcpy(m_authRS, rs, P25_AUTH_RAND_SEED_LENGTH_BYTES); } @@ -147,7 +147,7 @@ void MBT_OSP_AUTH_DMD::setAuthRS(const uint8_t* rs) /// void MBT_OSP_AUTH_DMD::getAuthRS(uint8_t* rs) const { - assert(rs != NULL); + assert(rs != nullptr); ::memcpy(rs, m_authRS, P25_AUTH_RAND_SEED_LENGTH_BYTES); } @@ -156,7 +156,7 @@ void MBT_OSP_AUTH_DMD::getAuthRS(uint8_t* rs) const /// void MBT_OSP_AUTH_DMD::setAuthRC(const uint8_t* rc) { - assert(rc != NULL); + assert(rc != nullptr); ::memcpy(m_authRC, rc, P25_AUTH_RAND_CHLNG_LENGTH_BYTES); } @@ -165,7 +165,7 @@ void MBT_OSP_AUTH_DMD::setAuthRC(const uint8_t* rc) /// void MBT_OSP_AUTH_DMD::getAuthRC(uint8_t* rc) const { - assert(rc != NULL); + assert(rc != nullptr); ::memcpy(rc, m_authRC, P25_AUTH_RAND_CHLNG_LENGTH_BYTES); } @@ -182,14 +182,14 @@ void MBT_OSP_AUTH_DMD::copy(const MBT_OSP_AUTH_DMD& data) { TSBK::copy(data); - if (m_authRS != NULL) { + if (m_authRS != nullptr) { delete[] m_authRS; } m_authRS = new uint8_t[P25_AUTH_RAND_SEED_LENGTH_BYTES]; ::memcpy(m_authRS, data.m_authRS, P25_AUTH_RAND_SEED_LENGTH_BYTES); - if (m_authRC != NULL) { + if (m_authRC != nullptr) { delete[] m_authRC; } diff --git a/src/common/p25/lc/tsbk/mbt/MBT_OSP_NET_STS_BCAST.cpp b/src/common/p25/lc/tsbk/mbt/MBT_OSP_NET_STS_BCAST.cpp index ccf80322..1dd994f2 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_OSP_NET_STS_BCAST.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_OSP_NET_STS_BCAST.cpp @@ -55,7 +55,7 @@ MBT_OSP_NET_STS_BCAST::MBT_OSP_NET_STS_BCAST() : AMBT() /// True, if TSBK was decoded, otherwise false. bool MBT_OSP_NET_STS_BCAST::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); /* stub */ @@ -69,7 +69,7 @@ bool MBT_OSP_NET_STS_BCAST::decodeMBT(const data::DataHeader& dataHeader, const /// void MBT_OSP_NET_STS_BCAST::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); // pack LRA and system ID into LLID uint32_t llId = m_siteData.lra(); // Location Registration Area diff --git a/src/common/p25/lc/tsbk/mbt/MBT_OSP_RFSS_STS_BCAST.cpp b/src/common/p25/lc/tsbk/mbt/MBT_OSP_RFSS_STS_BCAST.cpp index 47b47a4f..f83f9f04 100644 --- a/src/common/p25/lc/tsbk/mbt/MBT_OSP_RFSS_STS_BCAST.cpp +++ b/src/common/p25/lc/tsbk/mbt/MBT_OSP_RFSS_STS_BCAST.cpp @@ -55,7 +55,7 @@ MBT_OSP_RFSS_STS_BCAST::MBT_OSP_RFSS_STS_BCAST() : AMBT() /// True, if TSBK was decoded, otherwise false. bool MBT_OSP_RFSS_STS_BCAST::decodeMBT(const data::DataHeader& dataHeader, const data::DataBlock* blocks) { - assert(blocks != NULL); + assert(blocks != nullptr); /* stub */ @@ -69,7 +69,7 @@ bool MBT_OSP_RFSS_STS_BCAST::decodeMBT(const data::DataHeader& dataHeader, const /// void MBT_OSP_RFSS_STS_BCAST::encodeMBT(data::DataHeader& dataHeader, uint8_t* pduUserData) { - assert(pduUserData != NULL); + assert(pduUserData != nullptr); // pack LRA and system ID into LLID uint32_t llId = m_siteData.lra(); // Location Registration Area diff --git a/src/fne/network/FNENetwork.cpp b/src/fne/network/FNENetwork.cpp index fff1e22a..c18f7549 100644 --- a/src/fne/network/FNENetwork.cpp +++ b/src/fne/network/FNENetwork.cpp @@ -65,7 +65,6 @@ using namespace network::fne; /// Flag indicating whether a parrot TG will generate a grant demand. /// Flag indicating that the system activity logs will be sent to the network. /// Flag indicating that the system diagnostic logs will be sent to the network. -/// Flag indicating if traffic should be repeated from this master. /// /// FNENetwork::FNENetwork(HostFNE* host, const std::string& address, uint16_t port, uint32_t peerId, const std::string& password, diff --git a/src/fne/network/FNENetwork.h b/src/fne/network/FNENetwork.h index 25dae3b2..1ab900d9 100644 --- a/src/fne/network/FNENetwork.h +++ b/src/fne/network/FNENetwork.h @@ -68,6 +68,7 @@ namespace network m_connected(false), m_connectionState(NET_STAT_INVALID), m_pingsReceived(0U), + m_lastPing(0U), m_config(), m_pktLastSeq(0U), m_pktNextSeq(1U) @@ -89,6 +90,7 @@ namespace network m_connected(false), m_connectionState(NET_STAT_INVALID), m_pingsReceived(0U), + m_lastPing(0U), m_config(), m_pktLastSeq(0U), m_pktNextSeq(1U) diff --git a/src/host/network/Network.cpp b/src/host/network/Network.cpp index cd8a23b5..b212c9dc 100644 --- a/src/host/network/Network.cpp +++ b/src/host/network/Network.cpp @@ -53,7 +53,7 @@ using namespace network; /// /// Network Hostname/IP address to connect to. /// Network port number. -/// +/// /// Unique ID on the network. /// Network authentication password. /// Flag indicating full-duplex operation. @@ -597,15 +597,6 @@ bool Network::open() return true; } -/// -/// Sets flag enabling network communication. -/// -/// -void Network::enable(bool enabled) -{ - m_enabled = enabled; -} - /// /// Closes connection to the network. /// @@ -629,6 +620,15 @@ void Network::close() m_status = NET_STAT_WAITING_CONNECT; } +/// +/// Sets flag enabling network communication. +/// +/// +void Network::enable(bool enabled) +{ + m_enabled = enabled; +} + // --------------------------------------------------------------------------- // Protected Class Members // ---------------------------------------------------------------------------