Some bug fixes, working better.

This commit is contained in:
jdl
2026-06-09 20:36:30 +02:00
parent b0ff07aad6
commit 8bf30b345b
2 changed files with 11 additions and 2 deletions

View File

@@ -37,7 +37,14 @@ func (a *App) onAddPeer(p HubPeer) {
a.peersByIP[peer.VPNIP] = peer
if !peer.IsPublic {
if a.isPublic {
// Public nodes accept traffic from non-public peers as soon as they
// initiate a handshake. Set /32 AllowedIPs now; WireGuard learns the
// endpoint from the incoming handshake automatically.
a.devPromote(peer)
} else {
a.devAddPeer(peer)
}
return
}

View File

@@ -37,7 +37,9 @@ func (a *App) onTick() {
case StateDirect:
// Demote stale non-public direct peers back to probing.
if !p.IsPublic && !p.Up() {
// Public nodes skip this: the non-public peer will re-initiate the
// handshake, and WireGuard will update the endpoint automatically.
if !p.IsPublic && !p.Up() && !a.isPublic {
a.devAddProbe(p, p.WGEndpoint())
}
}