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 -2
View File
@@ -62,7 +62,7 @@ ethernet:
# see .github/workflows/gcc.yml
.PHONY: bsc
bsc:
$(MAKE) BACDL=bsc -s -C apps all
$(MAKE) LEGACY=true BACDL=bsc -s -C apps all
.PHONY: apps
apps:
@@ -226,7 +226,11 @@ server-mini:
.PHONY: sc-hub
sc-hub:
$(MAKE) BACDL=bsc -s -C apps $@
$(MAKE) LEGACY=true BACDL=bsc -s -C apps $@
.PHONY: sc-hub-debug
sc-hub-debug:
$(MAKE) LEGACY=true BACDL=bsc BUILD=debug -s -C apps sc-hub
.PHONY: mstpcap
mstpcap: