mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-14 12:02:50 +02:00
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.