Two more from Codex:
- Addresses come from one subnet but live in two tables (hosts.wg_ip and
vpn_peers.allowed_ip), so a concurrent host onboarding and console creation
could each see the same address as free and both insert — neither unique
index sees the other. Creation now waits on Cache::lock('wireguard:allocate'),
the same lock ConfigureWireguard already holds while reserving a host address.
- mount() runs once, so revoking vpn.manage left an open tab polling every five
seconds and still receiving fresh peer state. Authorization now also runs on
hydration, which is what the poll goes through.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| Admin | ||
| Auth | ||
| Concerns | ||
| Backups.php | ||
| Billing.php | ||
| Cloud.php | ||
| ConfirmCancelPackage.php | ||
| ConfirmCloseAccount.php | ||
| CustomerProvisioning.php | ||
| Dashboard.php | ||
| Invoices.php | ||
| Settings.php | ||
| Support.php | ||
| Users.php | ||