·
10 commits
to master
since this release
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;