ircDDBGateway/Common
Andy Taylor fc571c1e13 Fix MQTT implementation, align with DStarGateway, and add documentation
MQTT Implementation (aligned with DStarGateway / MMDVMHost):
- Rewrite MQTTConnection with mosquitto_loop_stop() fix to prevent
  background thread zombies on shutdown
- Add MQTT authentication support (mqttAuth, mqttUsername, mqttPassword)
- Add configurable client name (mqttName) used as topic prefix
- Use PID-based client IDs (avoids time_t truncation on 32-bit ARM)
- Use std::string interface throughout (no wxString in MQTT layer)
- Align JSON link status fields with DStarGateway (repeater/reflector/
  protocol/reason/action) for dashboard compatibility

Shutdown Safety:
- Add MQTTLogFinalise() calls to both daemon (IRCDDBGatewayAppD::run)
  and GUI (IRCDDBGatewayApp::OnExit) shutdown paths to ensure clean
  MQTT disconnection and thread cleanup before process exit

JSON Status Events:
- Update all ~30 WriteJSON call sites across DPlus, DExtra, DCS, and
  CCS protocol handlers to use new function signatures
- Simplify IRCDDBGatewayThread::writeJSONStatus to delegate to
  WriteJSONStatus

Config Parser Hardening:
- Add empty-line crash guard to IRCDDBGatewayConfig, TimerControlConfig,
  and TimeServerConfig parsers (str.IsEmpty() check before GetChar)

Documentation:
- Add MQTT.md with topic structure, JSON examples, and troubleshooting
- Add CONFIGURATION.md with full reference for all config files
- Add BUILD.md with build parameters and dependency information
- Add linux/ example configs for ircddbgateway, timeserver, timercontrol
- Modernise README.md with feature list and DStarGateway recommendation
2026-03-08 21:34:45 +00:00
..
AMBEData.cpp Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
AMBEData.h Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
AnnouncementUnit.cpp Initial commit. 2018-05-09 19:23:17 +01:00
AnnouncementUnit.h Initial commit. 2018-05-09 19:23:17 +01:00
APRSCollector.cpp Protect the pointer array. 2018-11-05 07:51:41 +00:00
APRSCollector.h Use the header my callsign for the APRS callsign on a TH-D74. 2018-07-17 19:15:25 +01:00
APRSWriter.cpp Add basic JSON logging and JSON status messages. 2023-07-21 11:44:45 +01:00
APRSWriter.h Add basic JSON logging and JSON status messages. 2023-07-21 11:44:45 +01:00
AudioUnit.cpp Add Portuguese voice files 2021-06-03 02:42:26 +01:00
AudioUnit.h Initial commit. 2018-05-09 19:23:17 +01:00
CacheManager.cpp Revert "Merge pull request #16 from F4FXL/UDPHolePunching" 2019-01-15 20:50:58 +00:00
CacheManager.h Revert "Merge pull request #16 from F4FXL/UDPHolePunching" 2019-01-15 20:50:58 +00:00
CallsignList.cpp Initial commit. 2018-05-09 19:23:17 +01:00
CallsignList.h Initial commit. 2018-05-09 19:23:17 +01:00
CallsignServer.cpp Initial commit. 2018-05-09 19:23:17 +01:00
CallsignServer.h Initial commit. 2018-05-09 19:23:17 +01:00
CCITTChecksum.cpp Initial commit. 2018-05-09 19:23:17 +01:00
CCITTChecksum.h Initial commit. 2018-05-09 19:23:17 +01:00
CCSCallback.h Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
CCSData.cpp Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
CCSData.h Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
CCSHandler.cpp Fix MQTT implementation, align with DStarGateway, and add documentation 2026-03-08 21:34:45 +00:00
CCSHandler.h Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
CCSProtocolHandler.cpp Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
CCSProtocolHandler.h Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
Common.vcxproj Merge branch 'master' into mqtt 2026-02-18 17:56:52 +00:00
Common.vcxproj.filters Merge branch 'master' into mqtt 2026-02-18 17:56:52 +00:00
ConnectData.cpp Revert "Handle D-Plus reply of "BUSY" as a rejection. Treat "OKRO" in the same way." 2020-08-04 12:10:55 +01:00
ConnectData.h Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
ConsoleLogger.cpp Adds console logging option to ircddbgatewayd 2020-05-27 22:24:26 +02:00
ConsoleLogger.h Adds console logging option to ircddbgatewayd 2020-05-27 22:24:26 +02:00
DCSHandler.cpp Fix MQTT implementation, align with DStarGateway, and add documentation 2026-03-08 21:34:45 +00:00
DCSHandler.h Allow direct connection using XLX instead of DCS 2019-03-23 08:17:42 +01:00
DCSProtocolHandler.cpp Initial commit. 2018-05-09 19:23:17 +01:00
DCSProtocolHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
DCSProtocolHandlerPool.cpp Initial commit. 2018-05-09 19:23:17 +01:00
DCSProtocolHandlerPool.h Initial commit. 2018-05-09 19:23:17 +01:00
DDData.cpp Initial commit. 2018-05-09 19:23:17 +01:00
DDData.h Initial commit. 2018-05-09 19:23:17 +01:00
DDHandler.cpp Revert "Tweaks for OpenWrt build" 2019-12-13 08:36:39 +00:00
DDHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
Defs.h Revert "Tweaks for OpenWrt build" 2019-12-13 08:36:39 +00:00
DExtraHandler.cpp Fix MQTT implementation, align with DStarGateway, and add documentation 2026-03-08 21:34:45 +00:00
DExtraHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
DExtraProtocolHandler.cpp Initial commit. 2018-05-09 19:23:17 +01:00
DExtraProtocolHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
DExtraProtocolHandlerPool.cpp Initial commit. 2018-05-09 19:23:17 +01:00
DExtraProtocolHandlerPool.h Initial commit. 2018-05-09 19:23:17 +01:00
DPlusAuthenticator.cpp Remove the dutch-star D-Plus authentication. 2019-12-27 17:15:08 +00:00
DPlusAuthenticator.h Remove the dutch-star D-Plus authentication. 2019-12-27 17:15:08 +00:00
DPlusHandler.cpp Fix MQTT implementation, align with DStarGateway, and add documentation 2026-03-08 21:34:45 +00:00
DPlusHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
DPlusProtocolHandler.cpp Initial commit. 2018-05-09 19:23:17 +01:00
DPlusProtocolHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
DPlusProtocolHandlerPool.cpp Initial commit. 2018-05-09 19:23:17 +01:00
DPlusProtocolHandlerPool.h Initial commit. 2018-05-09 19:23:17 +01:00
DRATSServer.cpp Initial commit. 2018-05-09 19:23:17 +01:00
DRATSServer.h Initial commit. 2018-05-09 19:23:17 +01:00
DStarDefines.h Revert "Tweaks for OpenWrt build" 2019-12-13 08:36:39 +00:00
DTMF.cpp Changed # for A for XLX linking ... 2019-04-08 13:56:42 +02:00
DTMF.h Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
DummyRepeaterProtocolHandler.cpp Initial commit. 2018-05-09 19:23:17 +01:00
DummyRepeaterProtocolHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
DVTOOLFileReader.cpp Initial commit. 2018-05-09 19:23:17 +01:00
DVTOOLFileReader.h Initial commit. 2018-05-09 19:23:17 +01:00
EchoUnit.cpp Initial commit. 2018-05-09 19:23:17 +01:00
EchoUnit.h Initial commit. 2018-05-09 19:23:17 +01:00
G2Handler.cpp Initial commit. 2018-05-09 19:23:17 +01:00
G2Handler.h Initial commit. 2018-05-09 19:23:17 +01:00
G2ProtocolHandler.cpp Remove UDP hole puncher. 2019-01-16 20:50:59 +00:00
G2ProtocolHandler.h Remove UDP hole puncher. 2019-01-16 20:50:59 +00:00
GatewayCache.cpp Revert "Merge pull request #16 from F4FXL/UDPHolePunching" 2019-01-15 20:50:58 +00:00
GatewayCache.h Revert "Merge pull request #16 from F4FXL/UDPHolePunching" 2019-01-15 20:50:58 +00:00
HBRepeaterProtocolHandler.cpp Initial commit. 2018-05-09 19:23:17 +01:00
HBRepeaterProtocolHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
HeaderData.cpp Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
HeaderData.h Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
HeaderLogger.cpp Initial commit. 2018-05-09 19:23:17 +01:00
HeaderLogger.h Initial commit. 2018-05-09 19:23:17 +01:00
HeardData.cpp Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
HeardData.h Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
HostFile.cpp Initial commit. 2018-05-09 19:23:17 +01:00
HostFile.h Initial commit. 2018-05-09 19:23:17 +01:00
IcomRepeaterProtocolHandler.cpp Initial commit. 2018-05-09 19:23:17 +01:00
IcomRepeaterProtocolHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
IRCDDBGatewayConfig.cpp Fix MQTT implementation, align with DStarGateway, and add documentation 2026-03-08 21:34:45 +00:00
IRCDDBGatewayConfig.h Fix MQTT implementation, align with DStarGateway, and add documentation 2026-03-08 21:34:45 +00:00
LogEvent.cpp Initial commit. 2018-05-09 19:23:17 +01:00
LogEvent.h Initial commit. 2018-05-09 19:23:17 +01:00
Logger.cpp Add basic JSON logging and JSON status messages. 2023-07-21 11:44:45 +01:00
Logger.h Add basic JSON logging and JSON status messages. 2023-07-21 11:44:45 +01:00
Makefile Add basic JSON logging and JSON status messages. 2023-07-21 11:44:45 +01:00
MQTTConnection.cpp Fix MQTT implementation, align with DStarGateway, and add documentation 2026-03-08 21:34:45 +00:00
MQTTConnection.h Fix MQTT implementation, align with DStarGateway, and add documentation 2026-03-08 21:34:45 +00:00
MQTTLog.cpp Fix MQTT implementation, align with DStarGateway, and add documentation 2026-03-08 21:34:45 +00:00
MQTTLog.h Fix MQTT implementation, align with DStarGateway, and add documentation 2026-03-08 21:34:45 +00:00
NatTraversalHandler.cpp Allow to compile without NAT traversal, disabled by default 2019-01-16 20:41:57 +01:00
NatTraversalHandler.h Allow to compile without NAT traversal, disabled by default 2019-01-16 20:41:57 +01:00
PollData.cpp Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
PollData.h Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
ReflectorCallback.h Initial commit. 2018-05-09 19:23:17 +01:00
RemoteHandler.cpp Revert "First stage of CCS removal." 2018-09-19 15:09:28 +01:00
RemoteHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
RemoteLinkData.cpp Initial commit. 2018-05-09 19:23:17 +01:00
RemoteLinkData.h Initial commit. 2018-05-09 19:23:17 +01:00
RemoteProtocolHandler.cpp Initial commit. 2018-05-09 19:23:17 +01:00
RemoteProtocolHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
RemoteRepeaterData.cpp Initial commit. 2018-05-09 19:23:17 +01:00
RemoteRepeaterData.h Initial commit. 2018-05-09 19:23:17 +01:00
RemoteStarNetGroup.cpp Initial commit. 2018-05-09 19:23:17 +01:00
RemoteStarNetGroup.h Initial commit. 2018-05-09 19:23:17 +01:00
RemoteStarNetUser.cpp Initial commit. 2018-05-09 19:23:17 +01:00
RemoteStarNetUser.h Initial commit. 2018-05-09 19:23:17 +01:00
RepeaterCache.cpp Initial commit. 2018-05-09 19:23:17 +01:00
RepeaterCache.h Initial commit. 2018-05-09 19:23:17 +01:00
RepeaterCallback.h Initial commit. 2018-05-09 19:23:17 +01:00
RepeaterHandler.cpp Add Portuguese voice files 2021-06-03 02:42:26 +01:00
RepeaterHandler.h Revert "Merge pull request #16 from F4FXL/UDPHolePunching" 2019-01-15 20:50:58 +00:00
RepeaterProtocolHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
RingBuffer.h Initial commit. 2018-05-09 19:23:17 +01:00
SHA256.cpp Initial commit. 2018-05-09 19:23:17 +01:00
SHA256.h Initial commit. 2018-05-09 19:23:17 +01:00
SlowDataEncoder.cpp Initial commit. 2018-05-09 19:23:17 +01:00
SlowDataEncoder.h Initial commit. 2018-05-09 19:23:17 +01:00
StarNetHandler.cpp Initial commit. 2018-05-09 19:23:17 +01:00
StarNetHandler.h Initial commit. 2018-05-09 19:23:17 +01:00
StatusData.cpp Initial commit. 2018-05-09 19:23:17 +01:00
StatusData.h Initial commit. 2018-05-09 19:23:17 +01:00
TCPReaderWriterClient.cpp Initial commit. 2018-05-09 19:23:17 +01:00
TCPReaderWriterClient.h Initial commit. 2018-05-09 19:23:17 +01:00
TCPReaderWriterServer.cpp Initial commit. 2018-05-09 19:23:17 +01:00
TCPReaderWriterServer.h Initial commit. 2018-05-09 19:23:17 +01:00
TextCollector.cpp Initial commit. 2018-05-09 19:23:17 +01:00
TextCollector.h Initial commit. 2018-05-09 19:23:17 +01:00
TextData.cpp Initial commit. 2018-05-09 19:23:17 +01:00
TextData.h Initial commit. 2018-05-09 19:23:17 +01:00
Timer.cpp Initial commit. 2018-05-09 19:23:17 +01:00
Timer.h Initial commit. 2018-05-09 19:23:17 +01:00
UDPReaderWriter.cpp Fix compile issues. 2018-11-06 19:52:30 +00:00
UDPReaderWriter.h Fix compile issues. 2018-11-06 19:52:30 +00:00
UserCache.cpp Initial commit. 2018-05-09 19:23:17 +01:00
UserCache.h Initial commit. 2018-05-09 19:23:17 +01:00
Utils.cpp Add basic JSON logging and JSON status messages. 2023-07-21 11:44:45 +01:00
Utils.h Add basic JSON logging and JSON status messages. 2023-07-21 11:44:45 +01:00
Version.h Merge branch 'master' into mqtt 2026-02-18 17:56:52 +00:00
VersionUnit.cpp Initial commit. 2018-05-09 19:23:17 +01:00
VersionUnit.h Initial commit. 2018-05-09 19:23:17 +01:00
XLXHostsFileDownloader.cpp Revert "Tweaks for OpenWrt build" 2019-12-13 08:36:39 +00:00
XLXHostsFileDownloader.h Fix Windows build asking for wget 2019-04-17 10:42:18 +02:00