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
+5 -5
View File
@@ -2,23 +2,23 @@
Test BACnet/SC using the following steps:
* Build apps for bsc datalink:
* Build all the apps and the hub for the BACnet/SC datalink:
make bsc
make clean bsc sc-hub
* Run hub app:
* Run the BACnet/SC hub application:
cd bin
./bsc-server.sh
./bacschub 1 Hubster
* Run server app:
* Run BACnet/SC server application:
cd bin
./bsc-client.sh
./bacserv 123 Francine
* Run any client:
* Run any BACnet/SC client:
cd bin
./bsc-client.sh