updated logic to add new nodes

This commit is contained in:
0xdcarns 2023-02-27 19:12:07 -05:00
parent 2be3ff747a
commit 9a7407f635
3 changed files with 9 additions and 9 deletions

View file

@ -197,7 +197,6 @@ func handleHostRegister(w http.ResponseWriter, r *http.Request) {
}
enrollmentKey.Networks = networksToAdd
}
// ready the response
server := servercfg.GetServerInfo()
server.TrafficKey = key
@ -212,10 +211,11 @@ func handleHostRegister(w http.ResponseWriter, r *http.Request) {
func checkNetRegAndHostUpdate(networks []string, h *models.Host) {
// publish host update through MQ
for i := range networks {
if ok, _ := logic.NetworkExists(networks[i]); ok {
newNode, err := logic.UpdateHostNetwork(h, networks[i], true)
network := networks[i]
if ok, _ := logic.NetworkExists(network); ok {
newNode, err := logic.UpdateHostNetwork(h, network, true)
if err != nil {
logger.Log(0, "failed to add host to network:", h.ID.String(), h.Name, networks[i], err.Error())
logger.Log(0, "failed to add host to network:", h.ID.String(), h.Name, network, err.Error())
continue
}
logger.Log(1, "added new node", newNode.ID.String(), "to host", h.Name)

View file

@ -236,12 +236,12 @@ func AssociateNodeToHost(n *models.Node, h *models.Host) error {
if err != nil {
return err
}
h.Nodes = append(h.Nodes, n.ID.String())
currentHost, err := GetHost(h.ID.String())
if err != nil {
return err
}
h.HostPass = currentHost.HostPass
h.Nodes = append(currentHost.Nodes, n.ID.String())
return UpsertHost(h)
}

View file

@ -34,7 +34,6 @@ func GetProxyUpdateForHost(host *models.Host) (models.ProxyManagerPayload, error
} else {
logger.Log(0, "couldn't find relay host for: ", host.ID.String())
}
}
if host.IsRelay {
relayedHosts := GetRelayedHosts(host)
@ -142,9 +141,10 @@ func GetPeerUpdateForHost(network string, host *models.Host, deletedNode *models
if deletedNode != nil {
deletedNodes = append(deletedNodes, *deletedNode)
}
logger.Log(1, "peer update for host ", host.ID.String())
logger.Log(1, "peer update for host", host.ID.String())
peerIndexMap := make(map[string]int)
for _, nodeID := range host.Nodes {
nodeID := nodeID
node, err := GetNodeByID(nodeID)
if err != nil {
continue
@ -163,7 +163,7 @@ func GetPeerUpdateForHost(network string, host *models.Host, deletedNode *models
}
for _, peer := range currentPeers {
peer := peer
if peer.ID == node.ID {
if peer.ID.String() == node.ID.String() {
logger.Log(2, "peer update, skipping self")
//skip yourself
continue
@ -185,7 +185,7 @@ func GetPeerUpdateForHost(network string, host *models.Host, deletedNode *models
continue
}
if !nodeacls.AreNodesAllowed(nodeacls.NetworkID(node.Network), nodeacls.NodeID(node.ID.String()), nodeacls.NodeID(peer.ID.String())) {
log.Println("peer update, skipping node for acl")
logger.Log(2, "peer update, skipping node for acl")
//skip if not permitted by acl
continue
}