Merge branch 'master' into mqtt

This commit is contained in:
Jonathan Naylor
2023-12-06 17:36:37 +00:00
5 changed files with 17 additions and 10 deletions

View File

@@ -592,7 +592,10 @@ void CM17Control::writeNetwork()
m_networkWatchdog.start(); m_networkWatchdog.start();
if (!m_allowEncryption) { if (!m_allowEncryption) {
unsigned char type = m_netLSF.getEncryptionType(); CM17LSF lsf;
lsf.setNetwork(netData);
unsigned char type = lsf.getEncryptionType();
if (type != M17_ENCRYPTION_TYPE_NONE) { if (type != M17_ENCRYPTION_TYPE_NONE) {
m_network->reset(); m_network->reset();
return; return;

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2020,2021 by Jonathan Naylor G4KLX * Copyright (C) 2020,2021,2023 by Jonathan Naylor G4KLX
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@@ -38,6 +38,8 @@ m_lsf(NULL),
m_valid(false) m_valid(false)
{ {
m_lsf = new unsigned char[M17_LSF_LENGTH_BYTES]; m_lsf = new unsigned char[M17_LSF_LENGTH_BYTES];
::memset(m_lsf, 0x00U, M17_LSF_LENGTH_BYTES);
} }
CM17LSF::~CM17LSF() CM17LSF::~CM17LSF()

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2020,2021 by Jonathan Naylor G4KLX * Copyright (C) 2020,2021,2023 by Jonathan Naylor G4KLX
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@@ -104,7 +104,7 @@ bool CM17Network::write(const unsigned char* data)
buffer[53U] = 0x00U; buffer[53U] = 0x00U;
if (m_debug) if (m_debug)
CUtils::dump(1U, "M17 data transmitted", buffer, 54U); CUtils::dump(1U, "M17 Network Transmitted", buffer, 54U);
return m_socket.write(buffer, 54U, m_addr, m_addrLen); return m_socket.write(buffer, 54U, m_addr, m_addrLen);
} }
@@ -131,7 +131,7 @@ void CM17Network::clock(unsigned int ms)
} }
if (m_debug) if (m_debug)
CUtils::dump(1U, "M17 Network Data Received", buffer, length); CUtils::dump(1U, "M17 Network Received", buffer, length);
if (!m_enabled) if (!m_enabled)
return; return;
@@ -188,7 +188,9 @@ void CM17Network::reset()
void CM17Network::enable(bool enabled) void CM17Network::enable(bool enabled)
{ {
if (!enabled && m_enabled) if (enabled && !m_enabled)
reset();
else if (!enabled && m_enabled)
m_buffer.clear(); m_buffer.clear();
m_enabled = enabled; m_enabled = enabled;
@@ -209,7 +211,7 @@ void CM17Network::sendPing()
buffer[3U] = 'G'; buffer[3U] = 'G';
if (m_debug) if (m_debug)
CUtils::dump(1U, "M17 data transmitted", buffer, 4U); CUtils::dump(1U, "M17 Network Transmitted", buffer, 4U);
m_socket.write(buffer, 4U, m_addr, m_addrLen); m_socket.write(buffer, 4U, m_addr, m_addrLen);
} }

View File

@@ -2638,7 +2638,7 @@ void CMMDVMHost::remoteControl()
m_nxdnNetwork->enable(true); m_nxdnNetwork->enable(true);
break; break;
case RCD_ENABLE_M17: case RCD_ENABLE_M17:
if (m_m17 != NULL && m_m17Enabled == false) if (m_m17 != NULL && !m_m17Enabled)
processEnableCommand(m_m17Enabled, true); processEnableCommand(m_m17Enabled, true);
if (m_m17Network != NULL) if (m_m17Network != NULL)
m_m17Network->enable(true); m_m17Network->enable(true);
@@ -2682,7 +2682,7 @@ void CMMDVMHost::remoteControl()
m_nxdnNetwork->enable(false); m_nxdnNetwork->enable(false);
break; break;
case RCD_DISABLE_M17: case RCD_DISABLE_M17:
if (m_m17 != NULL && m_m17Enabled == true) if (m_m17 != NULL && m_m17Enabled)
processEnableCommand(m_m17Enabled, false); processEnableCommand(m_m17Enabled, false);
if (m_m17Network != NULL) if (m_m17Network != NULL)
m_m17Network->enable(false); m_m17Network->enable(false);

View File

@@ -19,6 +19,6 @@
#if !defined(VERSION_H) #if !defined(VERSION_H)
#define VERSION_H #define VERSION_H
const char* VERSION = "20231025"; const char* VERSION = "20231206";
#endif #endif