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
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
@@ -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())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user