Some bug fixes, working better.
This commit is contained in:
@@ -37,7 +37,14 @@ func (a *App) onAddPeer(p HubPeer) {
|
|||||||
a.peersByIP[peer.VPNIP] = peer
|
a.peersByIP[peer.VPNIP] = peer
|
||||||
|
|
||||||
if !peer.IsPublic {
|
if !peer.IsPublic {
|
||||||
a.devAddPeer(peer)
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,9 @@ func (a *App) onTick() {
|
|||||||
|
|
||||||
case StateDirect:
|
case StateDirect:
|
||||||
// Demote stale non-public direct peers back to probing.
|
// 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())
|
a.devAddProbe(p, p.WGEndpoint())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user