From 2a67aa7138075dca35f7c10fb586fc666848625d Mon Sep 17 00:00:00 2001 From: LX1IQ Date: Thu, 4 Nov 2021 07:23:17 +0100 Subject: [PATCH 1/3] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 914af52..9f3b35a 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ The sources are published under GPL Licenses. - In D-Star, Icom-G3Terminal, DExtra, DPLus and DCS - In DMR, DMRPlus (dongle) and DMRMmdvm -- In C4FM, YSF, Wires-X and IRMS +- In C4FM, YSF, Wires-X and IMRS - XLX Interlink protocol # Usage @@ -136,7 +136,7 @@ XLX Server requires the following ports to be open and forwarded properly for in - UDP port 10101 - 10199 (AMBE transcoding port) - UDP port 12345 - 12346 (Icom Terminal presence and request port) - UDP port 40000 (Icom Terminal dv port) - - UDP port 21110 (Yaesu IRMS protocol) + - UDP port 21110 (Yaesu IMRS protocol) # YSF Master Server From f8644e1f1fe89c06ed80db6b4a1e66d71b9c9a13 Mon Sep 17 00:00:00 2001 From: Jim Tittsler Date: Fri, 5 Nov 2021 13:07:07 +0900 Subject: [PATCH 2/3] fix Linux AF_INET iteration segfault Prevent segfault when WireGuard is active and an interface has `ifaptr->ifa_addr == NULL` --- src/creflector.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/creflector.cpp b/src/creflector.cpp index 1f5e65b..a813df9 100644 --- a/src/creflector.cpp +++ b/src/creflector.cpp @@ -790,7 +790,7 @@ bool CReflector::UpdateListenMac(void) for ( ifaptr = ifap; (ifaptr != NULL) && !found; ifaptr = (ifaptr)->ifa_next ) { // is it an AF_INET? - if ( ifaptr->ifa_addr->sa_family == AF_INET ) + if ( ifaptr->ifa_addr && ifaptr->ifa_addr->sa_family == AF_INET ) { if (ifaptr->ifa_addr == NULL) continue; From 2fd3d875dc3c7a6f53b4fd4e86af2e04b1ccfc2b Mon Sep 17 00:00:00 2001 From: LX3JL Date: Sun, 7 Nov 2021 11:07:30 +0100 Subject: [PATCH 3/3] xlxd 2.5.1 Corrected issue with IMRS repeataer disconnecting during very long QSO --- src/cimrsprotocol.cpp | 6 ++++-- src/main.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/cimrsprotocol.cpp b/src/cimrsprotocol.cpp index 4ad5fe3..1062646 100644 --- a/src/cimrsprotocol.cpp +++ b/src/cimrsprotocol.cpp @@ -126,10 +126,9 @@ void CImrsProtocol::Task(void) EncodePongPacket(&Buffer); m_Socket.Send(Buffer, Ip, IMRS_PORT); - // and our turn + // our turn EncodePingPacket(&Buffer); m_Socket.Send(Buffer, Ip, IMRS_PORT); - } else if ( IsValidConnectPacket(Buffer, &Callsign) ) { @@ -327,6 +326,9 @@ void CImrsProtocol::HandleQueue(void) m_Socket.Send(buffer, client->GetIp(), IMRS_PORT); //std::cout << "sending " << buffer.size() << " bytes to " << client->GetIp() << std::endl; } + // as DR-2X doesn't seems to respond to keepalives when receiving a stream + // tickle the keepalive timer here + client->Alive(); } g_Reflector.ReleaseClients(); } diff --git a/src/main.h b/src/main.h index ae10c8c..3f8f9d3 100644 --- a/src/main.h +++ b/src/main.h @@ -50,7 +50,7 @@ #define VERSION_MAJOR 2 #define VERSION_MINOR 5 -#define VERSION_REVISION 0 +#define VERSION_REVISION 1 // global ------------------------------------------------------