Skip to content

Commit aca9117

Browse files
authored
avoid setting nil endpoint if peer using internet gw (#3529)
1 parent 2df02f7 commit aca9117

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

controllers/node.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,8 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
645645
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
646646
return
647647
}
648+
newNode.RelayedNodes = append(newNode.RelayedNodes, newNode.InetNodeReq.InetNodeClientIDs...)
649+
newNode.RelayedNodes = logic.UniqueStrings(newNode.RelayedNodes)
648650
}
649651
relayUpdate := logic.RelayUpdates(&currentNode, newNode)
650652
if relayUpdate && newNode.IsRelay {

logic/peers.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
330330
peerEndpoint = peerHost.EndpointIPv6
331331
}
332332
}
333-
if node.IsRelay && peer.RelayedBy == node.ID.String() && !peer.IsStatic {
333+
if node.IsRelay && peer.RelayedBy == node.ID.String() && peer.InternetGwID == "" && !peer.IsStatic {
334334
// don't set endpoint on relayed peer
335335
peerEndpoint = nil
336336
}

mq/publishers.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,13 @@ func PublishSingleHostPeerUpdate(host *models.Host, allNodes []models.Node, dele
113113
if err != nil {
114114
return err
115115
}
116+
for _, nodeID := range host.Nodes {
117+
118+
node, err := logic.GetNodeByID(nodeID)
119+
if err == nil && node.Connected && node.InternetGwID != "" {
120+
replacePeers = false
121+
}
122+
}
116123
peerUpdate.OldPeerUpdateFields = models.OldPeerUpdateFields{
117124
NodePeers: peerUpdate.NodePeers,
118125
OldPeers: peerUpdate.Peers,

0 commit comments

Comments
 (0)