mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-03 19:54:22 +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"))
|
||||
return
|
||||
}
|
||||
newNode.RelayedNodes = append(newNode.RelayedNodes, newNode.InetNodeReq.InetNodeClientIDs...)
|
||||
newNode.RelayedNodes = logic.UniqueStrings(newNode.RelayedNodes)
|
||||
}
|
||||
relayUpdate := logic.RelayUpdates(¤tNode, newNode)
|
||||
if relayUpdate && newNode.IsRelay {
|
||||
|
|
|
@ -330,7 +330,7 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
|
|||
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
|
||||
peerEndpoint = nil
|
||||
}
|
||||
|
|
|
@ -113,6 +113,13 @@ func PublishSingleHostPeerUpdate(host *models.Host, allNodes []models.Node, dele
|
|||
if err != nil {
|
||||
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{
|
||||
NodePeers: peerUpdate.NodePeers,
|
||||
OldPeers: peerUpdate.Peers,
|
||||
|
|
Loading…
Add table
Reference in a new issue