Fixed BACnet/SC secure connect VMAC, UUID, and initialization sequence (#1142)

* Refactored the BACnet/SC datalink initialization order by moving certificate file checks and hub connection registration to occur after datalink initialization
* Replaced stdlib rand() with platform-specific cryptographically secure random functions (RtlGenRandom for Windows, getrandom for Linux, arc4random_buf for BSD) to generate UUID and VMAC addresses, preventing duplicates that broke connections
* Enabled conditional debug output in BACnet/SC components when BUILD=debug is specified
This commit is contained in:
Steve Karg
2025-11-14 15:41:17 -06:00
committed by GitHub
parent 74972bd025
commit 25d14c7c15
30 changed files with 672 additions and 339 deletions
+6
View File
@@ -148,6 +148,12 @@ The git repositories are hosted at the following sites:
### Fixed
* Fixed the sequence of BACnet/SC datalink initialization that was
broken during datalink environment changes and POSIX file refactoring.
Refactored the UUID and VMAC random functions into port specific
since stdlib rand() is not random and caused duplicate UUID and VMAC
preventing BACnet/SC from forming any stable connections.
Enabled debug in BACnet/SC datalink when BUILD=debug used.(#1142)
* Fixed WPM workaround for BTL Specified Test 9.23.2.X5 by reverting.(#1140)
* Fixed the API integration for the additional datatypes now supported
in the Channel object by adding CHANNEL_VALUE_ALL to enable and test. (#1135)