Files
XC_VM/src/Cli
Divarion_D d47c4915a7 feat(license): block load-balancer install on an unlicensed panel
Large deployments always run load-balancer nodes, so LB is the natural
licence chokepoint: an unlicensed white-label panel stays fully usable
locally but cannot add LB servers. server:install refuses type=2 when the
panel is not licensed (community install with attribution, or a valid
activation key), marking the server failed with a clear message.

This is a first-line stopgap (removable PHP); the tamper-proof gate is
XC_VM::db_grant() in the compiled core, which refuses the LB node its DB
access unless licensed. LicenseGate gains licensed() (the general licence
check; fanoutAllowed() now delegates to it).

The added branch is offset by collapsing the cosmetic root/non-root auth
log line into one branchless line (now prints the actual username), so
execute()'s complexity is unchanged.
2026-09-18 21:13:37 +03:00
..