Accept rejected or invalid transmissions as being 'in' despite not being

relayed. Also give extra headroom on the convolution decoders.
This commit is contained in:
Jonathan Naylor 2021-06-25 16:21:48 +01:00
parent a8fe55acc4
commit 50337639b2
8 changed files with 17 additions and 17 deletions

View file

@ -434,9 +434,9 @@ bool CDStarControl::writeModem(unsigned char *data, unsigned int len)
return false;
} else if (type == TAG_DATA1) {
if (m_rfState == RS_RF_REJECTED) {
return false;
return true;
} else if (m_rfState == RS_RF_INVALID) {
return false;
return true;
} else if (m_rfState == RS_RF_LISTENING) {
// The sync is regenerated by the modem so can do exact match
if (::memcmp(data + 1U + DSTAR_VOICE_FRAME_LENGTH_BYTES, DSTAR_SYNC_BYTES, DSTAR_DATA_FRAME_LENGTH_BYTES) == 0) {

View file

@ -554,7 +554,7 @@ bool CM17Control::processRFHeader(bool lateEntry)
if (type != M17_ENCRYPTION_TYPE_NONE) {
LogMessage("M17, access attempt with encryption from %s to %s", source.c_str(), dest.c_str());
m_rfState = RS_RF_REJECTED;
return false;
return true;
}
}
@ -563,7 +563,7 @@ bool CM17Control::processRFHeader(bool lateEntry)
if (!ret) {
LogMessage("M17, invalid access attempt from %s to %s", source.c_str(), dest.c_str());
m_rfState = RS_RF_REJECTED;
return false;
return true;
}
}

View file

@ -56,8 +56,8 @@ m_newMetrics(NULL),
m_decisions(NULL),
m_dp(NULL)
{
m_metrics1 = new uint16_t[16U];
m_metrics2 = new uint16_t[16U];
m_metrics1 = new uint16_t[20U];
m_metrics2 = new uint16_t[20U];
m_decisions = new uint64_t[300U];
}

View file

@ -214,7 +214,7 @@ bool CNXDNControl::processVoice(unsigned char usc, unsigned char option, unsigne
unsigned short srcId = layer3.getSourceUnitId();
if (srcId != m_id) {
m_rfState = RS_RF_REJECTED;
return false;
return true;
}
}
} else {
@ -375,7 +375,7 @@ bool CNXDNControl::processVoice(unsigned char usc, unsigned char option, unsigne
if (m_selfOnly) {
if (srcId != m_id) {
m_rfState = RS_RF_REJECTED;
return false;
return true;
}
}

View file

@ -44,8 +44,8 @@ m_newMetrics(NULL),
m_decisions(NULL),
m_dp(NULL)
{
m_metrics1 = new uint16_t[16U];
m_metrics2 = new uint16_t[16U];
m_metrics1 = new uint16_t[20U];
m_metrics2 = new uint16_t[20U];
m_decisions = new uint64_t[300U];
}

View file

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

View file

@ -233,7 +233,7 @@ bool CYSFControl::processVWData(bool valid, unsigned char *data)
if (!ret) {
LogMessage("YSF, invalid access attempt from %10.10s to DG-ID %u", m_rfSource, dgid);
m_rfState = RS_RF_REJECTED;
return false;
return true;
}
}
@ -402,7 +402,7 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
if (!ret) {
LogMessage("YSF, invalid access attempt from %10.10s to DG-ID %u", m_rfSource, dgid);
m_rfState = RS_RF_REJECTED;
return false;
return true;
}
}
@ -598,7 +598,7 @@ bool CYSFControl::processDNData(bool valid, unsigned char *data)
if (!ret) {
LogMessage("YSF, invalid access attempt from %10.10s to DG-ID %u", m_rfSource, dgid);
m_rfState = RS_RF_REJECTED;
return false;
return true;
}
}
@ -704,7 +704,7 @@ bool CYSFControl::processFRData(bool valid, unsigned char *data)
if (!ret) {
LogMessage("YSF, invalid access attempt from %10.10s to DG-ID %u", m_rfSource, dgid);
m_rfState = RS_RF_REJECTED;
return false;
return true;
}
}

View file

@ -43,8 +43,8 @@ m_newMetrics(NULL),
m_decisions(NULL),
m_dp(NULL)
{
m_metrics1 = new uint16_t[16U];
m_metrics2 = new uint16_t[16U];
m_metrics1 = new uint16_t[20U];
m_metrics2 = new uint16_t[20U];
m_decisions = new uint64_t[180U];
}