no more support for XRFd

unstable
Tom Early 4 years ago
parent e4bc4e2c87
commit 63c3302681

@ -32,9 +32,7 @@ CCallsign::CCallsign()
::memset(m_Callsign, ' ', sizeof(m_Callsign));
::memset(m_Suffix, ' ', sizeof(m_Suffix));
m_Module = ' ';
#ifndef NO_XLX
m_uiDmrid = 0;
#endif
}
CCallsign::CCallsign(const char *sz, uint32_t dmrid)
@ -43,9 +41,7 @@ CCallsign::CCallsign(const char *sz, uint32_t dmrid)
::memset(m_Callsign, ' ', sizeof(m_Callsign));
::memset(m_Suffix, ' ', sizeof(m_Suffix));
m_Module = ' ';
#ifndef NO_XLX
m_uiDmrid = dmrid;
#endif
// and populate
if ( ::strlen(sz) > 0 )
@ -56,7 +52,6 @@ CCallsign::CCallsign(const char *sz, uint32_t dmrid)
{
m_Module = sz[sizeof(m_Callsign)-1];
}
#ifndef NO_XLX
// dmrid ok ?
if ( m_uiDmrid == 0 )
{
@ -78,7 +73,6 @@ CCallsign::CCallsign(const char *sz, uint32_t dmrid)
}
}
g_DmridDir.Unlock();
#endif
}
}
@ -149,7 +143,6 @@ void CCallsign::SetCallsign(const char *sz, bool UpdateDmrid)
{
m_Module = sz[sizeof(m_Callsign)-1];
}
#ifndef NO_XLX
// and update dmrid
if ( UpdateDmrid )
{
@ -159,7 +152,6 @@ void CCallsign::SetCallsign(const char *sz, bool UpdateDmrid)
}
g_DmridDir.Unlock();
}
#endif
}
void CCallsign::SetCallsign(const uint8_t *buffer, int len, bool UpdateDmrid)
@ -179,7 +171,6 @@ void CCallsign::SetCallsign(const uint8_t *buffer, int len, bool UpdateDmrid)
{
m_Module = (char)buffer[sizeof(m_Callsign)-1];
}
#ifndef NO_XLX
if ( UpdateDmrid )
{
g_DmridDir.Lock();
@ -188,10 +179,8 @@ void CCallsign::SetCallsign(const uint8_t *buffer, int len, bool UpdateDmrid)
}
g_DmridDir.Unlock();
}
#endif
}
#ifndef NO_XLX
void CCallsign::SetDmrid(uint32_t dmrid, bool UpdateCallsign)
{
m_uiDmrid = dmrid;
@ -216,7 +205,6 @@ void CCallsign::SetDmrid(const uint8_t *buffer, bool UpdateCallsign)
sz[8] = 0;
SetDmrid((uint32_t)::strtol(sz, nullptr, 16), UpdateCallsign);
}
#endif
void CCallsign::SetModule(char c)
{
@ -317,9 +305,7 @@ bool CCallsign::operator ==(const CCallsign &callsign) const
{
return ((::memcmp(callsign.m_Callsign, m_Callsign, sizeof(m_Callsign)) == 0) && (m_Module == callsign.m_Module)
&& (::memcmp(callsign.m_Suffix, m_Suffix, sizeof(m_Suffix)) == 0)
#ifndef NO_XLX
&& (m_uiDmrid == callsign.m_uiDmrid)
#endif
);
}

@ -43,10 +43,8 @@ public:
// set
void SetCallsign(const char *, bool = true);
void SetCallsign(const uint8_t *, int, bool = true);
#ifndef NO_XLX
void SetDmrid(uint32_t, bool = true);
void SetDmrid(const uint8_t *, bool = true);
#endif
void SetModule(char);
void SetSuffix(const char *);
void SetSuffix(const uint8_t *, int);
@ -57,9 +55,7 @@ public:
// get
void GetCallsign(uint8_t *) const;
void GetCallsignString(char *) const;
#ifndef NO_XLX
uint32_t GetDmrid(void) const { return m_uiDmrid; }
#endif
void GetSuffix(uint8_t *) const;
char GetModule(void) const { return m_Module; }
@ -85,7 +81,5 @@ protected:
char m_Suffix[CALLSUFFIX_LEN];
char m_Module;
mutable char m_sz[CALLSIGN_LEN+CALLSUFFIX_LEN+5];
#ifndef NO_XLX
uint32_t m_uiDmrid;
#endif
};

@ -28,10 +28,8 @@ CDvFramePacket::CDvFramePacket()
{
::memset(m_uiAmbe, 0, sizeof(m_uiAmbe));
::memset(m_uiDvData, 0, sizeof(m_uiDvData));
#ifndef NO_XLX
::memset(m_uiAmbePlus, 0, sizeof(m_uiAmbePlus));
::memset(m_uiDvSync, 0, sizeof(m_uiDvSync));
#endif
};
// dstar constructor
@ -41,13 +39,10 @@ CDvFramePacket::CDvFramePacket(const struct dstar_dvframe *dvframe, uint16_t sid
{
::memcpy(m_uiAmbe, dvframe->AMBE, sizeof(m_uiAmbe));
::memcpy(m_uiDvData, dvframe->DVDATA, sizeof(m_uiDvData));
#ifndef NO_XLX
::memset(m_uiAmbePlus, 0, sizeof(m_uiAmbePlus));
::memset(m_uiDvSync, 0, sizeof(m_uiDvSync));
#endif
}
#ifndef NO_XLX
// dmr constructor
CDvFramePacket::CDvFramePacket(const uint8_t *ambe, const uint8_t *sync, uint16_t sid, uint8_t pid, uint8_t spid)
@ -83,7 +78,6 @@ CDvFramePacket::CDvFramePacket
::memcpy(m_uiAmbePlus, dmrambe, sizeof(m_uiAmbePlus));
::memcpy(m_uiDvSync, dmrsync, sizeof(m_uiDvSync));
}
#endif
////////////////////////////////////////////////////////////////////////////////////////
// virtual duplication
@ -102,10 +96,8 @@ const uint8_t *CDvFramePacket::GetAmbe(uint8_t uiCodec) const
{
case CODEC_AMBEPLUS:
return m_uiAmbe;
#ifndef NO_XLX
case CODEC_AMBE2PLUS:
return m_uiAmbePlus;
#endif
default:
return nullptr;
}
@ -126,11 +118,9 @@ void CDvFramePacket::SetAmbe(uint8_t uiCodec, uint8_t *Ambe)
case CODEC_AMBEPLUS:
::memcpy(m_uiAmbe, Ambe, sizeof(m_uiAmbe));
break;
#ifndef NO_XLX
case CODEC_AMBE2PLUS:
::memcpy(m_uiAmbePlus, Ambe, sizeof(m_uiAmbe));
break;
#endif
}
}
@ -142,9 +132,7 @@ bool CDvFramePacket::operator ==(const CDvFramePacket &DvFrame) const
{
return ( (::memcmp(m_uiAmbe, DvFrame.m_uiAmbe, sizeof(m_uiAmbe)) == 0)
&& (::memcmp(m_uiDvData, DvFrame.m_uiDvData, sizeof(m_uiDvData)) == 0)
#ifndef NO_XLX
&& (::memcmp(m_uiAmbePlus, DvFrame.m_uiAmbePlus, sizeof(m_uiAmbePlus)) == 0)
&& (::memcmp(m_uiDvSync, DvFrame.m_uiDvSync, sizeof(m_uiDvSync)) == 0)
#endif
);
}

@ -47,28 +47,22 @@ public:
// constructor
CDvFramePacket();
CDvFramePacket(const struct dstar_dvframe *, uint16_t, uint8_t);
#ifndef NO_XLX
CDvFramePacket(const uint8_t *, const uint8_t *, uint16_t, uint8_t, uint8_t);
CDvFramePacket(const uint8_t *, uint16_t, uint8_t, uint8_t, uint8_t);
CDvFramePacket(uint16_t, uint8_t, const uint8_t *, const uint8_t *, uint8_t, uint8_t, const uint8_t *, const uint8_t *);
#endif
// virtual duplication
std::unique_ptr<CPacket> Duplicate(void) const;
// identity
bool IsDvFrame(void) const { return true; }
#ifndef NO_XLX
bool HasTranscodableAmbe(void) const { return true; }
#endif
// get
const uint8_t *GetAmbe(uint8_t) const;
const uint8_t *GetAmbe(void) const { return m_uiAmbe; }
#ifndef NO_XLX
const uint8_t *GetAmbePlus(void) const { return m_uiAmbePlus; }
const uint8_t *GetDvSync(void) const { return m_uiDvSync; }
#endif
const uint8_t *GetDvData(void) const { return m_uiDvData; }
// set
@ -81,17 +75,13 @@ public:
protected:
// get
uint8_t *GetAmbeData(void) { return m_uiAmbe; }
#ifndef NO_XLX
uint8_t *GetAmbePlusData(void) { return m_uiAmbePlus; }
#endif
protected:
// data (dstar)
uint8_t m_uiAmbe[AMBE_SIZE];
uint8_t m_uiDvData[DVDATA_SIZE];
#ifndef NO_XLX
// data (dmr)
uint8_t m_uiAmbePlus[AMBEPLUS_SIZE];
uint8_t m_uiDvSync[DVSYNC_SIZE];
#endif
};

@ -49,7 +49,6 @@ CDvHeaderPacket::CDvHeaderPacket(const struct dstar_header *buffer, uint16_t sid
m_uiCrc = buffer->Crc;
}
#ifndef NO_XLX
// dmr constructor
CDvHeaderPacket::CDvHeaderPacket(uint32_t my, const CCallsign &ur, const CCallsign &rpt1, const CCallsign &rpt2, uint16_t sid, uint8_t pid, uint8_t spid)
@ -79,7 +78,6 @@ CDvHeaderPacket::CDvHeaderPacket(const CCallsign &my, const CCallsign &ur, const
m_csRPT2 = rpt2;
m_csMY = my;
}
#endif
////////////////////////////////////////////////////////////////////////////////////////
// virtual duplication

@ -55,10 +55,8 @@ public:
// constructor
CDvHeaderPacket();
CDvHeaderPacket(const struct dstar_header *, uint16_t, uint8_t);
#ifndef NO_XLX
CDvHeaderPacket(uint32_t, const CCallsign &, const CCallsign &, const CCallsign &, uint16_t, uint8_t, uint8_t);
CDvHeaderPacket(const CCallsign &, const CCallsign &, const CCallsign &, const CCallsign &, uint16_t, uint8_t);
#endif
// virtual duplication
std::unique_ptr<CPacket> Duplicate(void) const;

@ -34,7 +34,6 @@ CDvLastFramePacket::CDvLastFramePacket(const struct dstar_dvframe *DvFrame, uint
{
}
#ifndef NO_XLX
// dmr constructor
CDvLastFramePacket::CDvLastFramePacket(const uint8_t *ambe, const uint8_t *sync, uint16_t sid, uint8_t pid, uint8_t spid)
@ -58,9 +57,6 @@ CDvLastFramePacket::CDvLastFramePacket(const uint8_t *ambe, uint16_t sid, uint8_
: CDvFramePacket(ambe, sid, pid, spid, fid)
{
}
#endif
// copy constructor
CDvLastFramePacket::CDvLastFramePacket(const CDvLastFramePacket &DvFrame)

@ -26,11 +26,9 @@ public:
// constructor
CDvLastFramePacket();
CDvLastFramePacket(const struct dstar_dvframe *, uint16_t, uint8_t);
#ifndef NO_XLX
CDvLastFramePacket(const uint8_t *, const uint8_t *, uint16_t, uint8_t, uint8_t);
CDvLastFramePacket(const uint8_t *, uint16_t, uint8_t, uint8_t, uint8_t);
CDvLastFramePacket(uint16_t, uint8_t, const uint8_t *, const uint8_t *, uint8_t, uint8_t, const uint8_t *, const uint8_t *);
#endif
CDvLastFramePacket(const CDvLastFramePacket &);
// virtual duplication

@ -85,11 +85,9 @@ bool CGateKeeper::MayLink(const CCallsign &callsign, const CIp &ip, int protocol
case PROTOCOL_DEXTRA:
case PROTOCOL_DPLUS:
case PROTOCOL_DCS:
#ifndef NO_XLX
case PROTOCOL_DMRPLUS:
case PROTOCOL_DMRMMDVM:
case PROTOCOL_YSF:
#endif
#ifndef NO_G3
case PROTOCOL_G3:
#endif
@ -98,12 +96,10 @@ bool CGateKeeper::MayLink(const CCallsign &callsign, const CIp &ip, int protocol
// todo: then apply any protocol specific authorisation for the operation
break;
#ifndef NO_XLX
// XLX interlinks
case PROTOCOL_XLX:
ok &= IsPeerListedOk(callsign, ip, modules);
break;
#endif
// unsupported
case PROTOCOL_NONE:
@ -133,11 +129,9 @@ bool CGateKeeper::MayTransmit(const CCallsign &callsign, const CIp &ip, int prot
case PROTOCOL_DEXTRA:
case PROTOCOL_DPLUS:
case PROTOCOL_DCS:
#ifndef NO_XLX
case PROTOCOL_DMRPLUS:
case PROTOCOL_DMRMMDVM:
case PROTOCOL_YSF:
#endif
#ifndef NO_G3
case PROTOCOL_G3:
#endif
@ -146,12 +140,10 @@ bool CGateKeeper::MayTransmit(const CCallsign &callsign, const CIp &ip, int prot
// todo: then apply any protocol specific authorisation for the operation
break;
#ifndef NO_XLX
// XLX interlinks
case PROTOCOL_XLX:
ok = ok && IsPeerListedOk(callsign, ip, module);
break;
#endif
// unsupported
case PROTOCOL_NONE:

@ -76,12 +76,10 @@
#define PROTOCOL_DEXTRA 1
#define PROTOCOL_DPLUS 2
#define PROTOCOL_DCS 3
#ifndef NO_XLX
#define PROTOCOL_XLX 4
#define PROTOCOL_DMRPLUS 5
#define PROTOCOL_DMRMMDVM 6
#define PROTOCOL_YSF 7
#endif
#ifndef NO_G3
#define PROTOCOL_G3 8
#endif
@ -102,7 +100,6 @@
#define DCS_KEEPALIVE_PERIOD 1 // in seconds
#define DCS_KEEPALIVE_TIMEOUT (DCS_KEEPALIVE_PERIOD*30) // in seconds
#ifndef NO_XLX
// XLX
#define XLX_PORT 10002 // UDP port
#define XLX_KEEPALIVE_PERIOD 1 // in seconds
@ -132,7 +129,6 @@
// the following two defines are now in configure.h
// #define YSF_AUTOLINK_ENABLE 0 // 1 = enable, 0 = disable auto-link
// #define YSF_AUTOLINK_MODULE 'B' // module for client to auto-link to
#endif
#ifndef NO_G3
// G3 Terminal
@ -156,7 +152,6 @@
#define CODEC_NONE 0
#define CODEC_AMBEPLUS 1 // DStar
#ifndef NO_XLX
#define CODEC_AMBE2PLUS 2 // DMR
@ -171,7 +166,6 @@
#define YSFNODEDB_USE_RLX_SERVER 1 // 1 = use http, 0 = use local file
#define YSFNODEDB_PATH "/usr/local/etc/ysfnode.dat" // local file path
#define YSFNODEDB_REFRESH_RATE 180 // in minutes
#endif
// xml & json reporting -----------------------------------------
@ -183,15 +177,6 @@
#endif
// system paths -------------------------------------------------
#ifdef NO_XLX
#define XML_PATH "/var/log/xrfd.xml"
#define WHITELIST_PATH "/usr/local/etc/xrfd.whitelist"
#define BLACKLIST_PATH "/usr/local/etc/xrfd.blacklist"
#define INTERLINKLIST_PATH "/usr/local/etc/xrfd.interlink"
#define TERMINALOPTIONS_PATH "/usr/local/etc/xrfd.terminal"
#define DEBUGDUMP_PATH "/var/log/xrfd.debug"
#define PIDFILE_PATH "/var/run/xrfd.pid"
#else
#define XML_PATH "/var/log/xlxd.xml"
#define WHITELIST_PATH "/usr/local/etc/xlxd.whitelist"
#define BLACKLIST_PATH "/usr/local/etc/xlxd.blacklist"
@ -199,7 +184,6 @@
#define TERMINALOPTIONS_PATH "/usr/local/etc/xlxd.terminal"
#define DEBUGDUMP_PATH "/var/log/xlxd.debug"
#define PIDFILE_PATH "/var/run/xlxd.pid"
#endif
////////////////////////////////////////////////////////////////////////////////////////
@ -223,7 +207,6 @@ extern CReflector g_Reflector;
class CGateKeeper;
extern CGateKeeper g_GateKeeper;
#ifndef NO_XLX
#if (DMRIDDB_USE_RLX_SERVER == 1)
class CDmridDirHttp;
extern CDmridDirHttp g_DmridDir;
@ -242,4 +225,3 @@ extern CYsfNodeDirFile g_YsfNodeDir;
class CTranscoder;
extern CTranscoder g_Transcoder;
#endif

@ -20,12 +20,10 @@
#include "DExtraProtocol.h"
#include "DPlusProtocol.h"
#include "DCSProtocol.h"
#ifndef NO_XLX
#include "ULXProtocol.h"
#include "DMRPlusProtocol.h"
#include "DMRMMDVMProtocol.h"
#include "YSFProtocol.h"
#endif
#ifndef NO_G3
#include "G3Protocol.h"
#endif
@ -58,7 +56,6 @@ bool CProtocols::Init(void)
if (! m_Protocols.back()->Initialize("DCS", PROTOCOL_DCS, DCS_PORT, DSTAR_IPV4, DSTAR_IPV6))
return false;
#ifndef NO_XLX
m_Protocols.emplace_back(std::unique_ptr<CDmrmmdvmProtocol>(new CDmrmmdvmProtocol));
if (! m_Protocols.back()->Initialize(nullptr, PROTOCOL_DMRMMDVM, DMRMMDVM_PORT, DMR_IPV4, DMR_IPV6))
return false;
@ -74,7 +71,6 @@ bool CProtocols::Init(void)
m_Protocols.emplace_back(std::unique_ptr<CUlxProtocol>(new CUlxProtocol));
if (! m_Protocols.back()->Initialize("XLX", PROTOCOL_XLX, XLX_PORT, DMR_IPV4, DMR_IPV6))
return false;
#endif
#ifndef NO_G3
m_Protocols.emplace_back(std::unique_ptr<CG3Protocol>(new CG3Protocol));

@ -83,7 +83,6 @@ bool CReflector::Start(void)
// init gate keeper. It can only return true!
g_GateKeeper.Init();
#ifndef NO_XLX
// init dmrid directory. No need to check the return value.
g_DmridDir.Init();
@ -94,7 +93,6 @@ bool CReflector::Start(void)
// init the transcoder
if (! g_Transcoder.Init())
return false;
#endif
#endif
// create protocols
@ -156,11 +154,9 @@ void CReflector::Stop(void)
g_Transcoder.Close();
#endif
#ifndef NO_XLX
// close databases
g_DmridDir.Close();
g_YsfNodeDir.Close();
#endif
}
////////////////////////////////////////////////////////////////////////////////////////

Loading…
Cancel
Save

Powered by TurnKey Linux.