mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-06 05:04:27 +08:00
avoid setting nil endpoint if peer using internet gw (#3529)
This commit is contained in:
parent
2df02f747e
commit
aca911712b
3 changed files with 10 additions and 1 deletions
|
@ -645,6 +645,8 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
||||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
newNode.RelayedNodes = append(newNode.RelayedNodes, newNode.InetNodeReq.InetNodeClientIDs...)
|
||||||
|
newNode.RelayedNodes = logic.UniqueStrings(newNode.RelayedNodes)
|
||||||
}
|
}
|
||||||
relayUpdate := logic.RelayUpdates(¤tNode, newNode)
|
relayUpdate := logic.RelayUpdates(¤tNode, newNode)
|
||||||
if relayUpdate && newNode.IsRelay {
|
if relayUpdate && newNode.IsRelay {
|
||||||
|
|
|
@ -330,7 +330,7 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
|
||||||
peerEndpoint = peerHost.EndpointIPv6
|
peerEndpoint = peerHost.EndpointIPv6
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if node.IsRelay && peer.RelayedBy == node.ID.String() && !peer.IsStatic {
|
if node.IsRelay && peer.RelayedBy == node.ID.String() && peer.InternetGwID == "" && !peer.IsStatic {
|
||||||
// don't set endpoint on relayed peer
|
// don't set endpoint on relayed peer
|
||||||
peerEndpoint = nil
|
peerEndpoint = nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,6 +113,13 @@ func PublishSingleHostPeerUpdate(host *models.Host, allNodes []models.Node, dele
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
for _, nodeID := range host.Nodes {
|
||||||
|
|
||||||
|
node, err := logic.GetNodeByID(nodeID)
|
||||||
|
if err == nil && node.Connected && node.InternetGwID != "" {
|
||||||
|
replacePeers = false
|
||||||
|
}
|
||||||
|
}
|
||||||
peerUpdate.OldPeerUpdateFields = models.OldPeerUpdateFields{
|
peerUpdate.OldPeerUpdateFields = models.OldPeerUpdateFields{
|
||||||
NodePeers: peerUpdate.NodePeers,
|
NodePeers: peerUpdate.NodePeers,
|
||||||
OldPeers: peerUpdate.Peers,
|
OldPeers: peerUpdate.Peers,
|
||||||
|
|
Loading…
Add table
Reference in a new issue