Skip to content

R04H31 2025-05-25

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 25 May 15:57
· 10 commits to master since this release
738ee91
R04H31 Merge to Master (#89)

* simplify and refactor peer-link packet handling;

* bump version number to match dev branch; alter logging for peer-link data;

* warn on packets generated over 4K;

* don't clear map directly, use clear() helper;

* use parens vs braces for initializers; correct case fall-thru on SysView;

* for clarity relabel RPT_CLOSING and MST_CLOSING to RPT_DISC and MST_DISC;

* discontinue support for TRANSFER command on the traffic port entirely; hide useAlternatePortForDiagnostics and allowActivityTransfer options in FNE configuration; add stern warnings and alerts if the FNE disabled either useAlternatePortForDiagnostics or allowActivityTransfer (these are really critical operations); alert in peer log if the master does not report support for the alternate port for diagnostics;

* make oversized packet warning clearer (this warning is not a end-user warning, the user can't do antyhing about this this is a developer BUGBUG warning);

* apply recv timeout on InfluxDB operations (this hopefully will prevent stuck queries if the InfluxDB server dies while query is in progress);

* prevent InfluxDB query from becoming stuck in a tight infinite loop within select();

* don't bother handling responses from the influx query, remove fluxQL (we don't make queries with this library);

* cleanup unused vars;

* generate an error log if a fluxql worker fails to write data to influx;

* implement support to save/retain configuration pushed from peer link connections;

* fix memory leak caused by not deleting unused packetbuffer;

* refactor ACL updates;

* refactor log messages for channels to be <channel ID>-<channel No> in most cases where applicable;

* add more <channel ID>-<channel No> changes;

* whoops wrong variable type;

* correct fatal bug where update lookup timer was never started;

* check the RF state at the bottom of a talkgroup hang expiration timer for RF talkgroup activity, if the state is not listening, handle the end of call as if it was a frame loss;

* fix potential memory leak in PacketBuffer fragmenter, the encoder was not deleting the storage buffer before end of scope;

* ensure decompressed buffer is deleted;

* ensure decompressed buffer is deleted in error conditions too;

* add support to disable adjacent site broadcast;

* lay the groundwork for explicit channel configuration;

* [EXPERIMENTAL] implement experimental support for a CC to define explicit channel identity information for voice channels (NOTE: this does *NOT* implement support for hotspots to operate in explicit channel mode!);

* don't use the concurrent::unordered_map for this (this gives me great pause for a problem...);

* add some extra debug trace;

* add some extra debug trace;

* display MI data during calibration; update modem submodule;

* this is ugly, and I hate it, but to fix very strange WIN32 deadlock situations, we'll selectively use our concurrent unordered_map on non-WIN32, and on WIN32 use the std unordered_map + a local mutex;

* update modem submodule; change P25 Voice MI logging messages from DEBUG to MESSAGE; fix issue in HostSetup/HostCal where PDU header decoding was broken;

* only dump MI data if the call is encrypted (don't bother displaying zeros for a clear call);

* whoops check right variable;

* cleanup and clarify MI logging;

* cleanup and clarify MI logging (again LDU2 was out of log sequence);

* hate me later, dont use a colon as the string separator for the MI bytes, use equals;

* log DMR PI MI dta;

* refactor debug messaging for HDU;

* reorganize core meta-programming macros, move class property macros into ClassProperties.h, move bit manipulation into BitManipulation.h, move VLA into VariableLengthArray.h; rename meta-programming macros for clarity most of these macros declare some sort of variable and/or functions, as such I'm dropping the notation for __BLAHBLAH and using DECLARE_BLAHBLAH instead; better document class property meta-programming macros; refactor __GET/__SET_UINT16 into __GET/__SET_UINT24 these macros set 24-bit values from and to buffers, this will reduce programming confusion;

* add property documentation for some KMM classes;

* correct file copyright headers;

* change commenting to reflect section more clearly;

* use proper GPL license for file;

* detect arch and properly update internal variable;

* handle instance where the system does not return a valid processor type for arch detection;

* display target arch along side host arch if we're cross compiling;

* strip newlines;

* fix missing parens around response encoding;