configure proxy on peer update without resetting

This commit is contained in:
Abhishek Kondur
2022-11-17 16:51:27 +05:30
parent 06d71d4b69
commit 653b5f21d6
9 changed files with 262 additions and 153 deletions

View File

@@ -83,7 +83,7 @@ func GetPeersForProxy(node *models.Node, onlyPeers bool) (manager.ManagerPayload
logger.Log(1, "failed to resolve udp addr for node: ", peer.ID, peer.Endpoint, err.Error())
continue
}
allowedips := getNodeAllowedIPs(node, &peer)
allowedips := getNodeAllowedIPs(&peer, node)
var keepalive time.Duration
if node.PersistentKeepalive != 0 {
// set_keepalive
@@ -96,12 +96,16 @@ func GetPeersForProxy(node *models.Node, onlyPeers bool) (manager.ManagerPayload
PersistentKeepaliveInterval: &keepalive,
ReplaceAllowedIPs: true,
})
peerConfMap[peer.PublicKey] = manager.PeerConf{
Address: peer.PrimaryAddress(),
}
if !onlyPeers && peer.IsRelayed == "yes" {
relayNode := FindRelay(&peer)
if relayNode != nil {
relayTo, err := net.ResolveUDPAddr("udp", fmt.Sprintf("%s:%d", relayNode.Endpoint, relayNode.LocalListenPort))
if err == nil {
peerConfMap[peer.PublicKey] = manager.PeerConf{
IsRelayed: true,
RelayedTo: relayTo,
Address: peer.PrimaryAddress(),