made node update with server more efficient

This commit is contained in:
0xdcarns 2022-02-20 09:38:28 -05:00
parent 1770fe8649
commit 086eb842be
4 changed files with 15 additions and 13 deletions

View file

@ -113,12 +113,18 @@ func ClientPeerUpdate(client mqtt.Client, msg mqtt.Message) {
return
}
case ncutils.DONE:
currentServerNode, err := logic.GetNetworkServerLocal(currentNode.Network)
if err != nil {
return
}
if err := logic.ServerUpdate(&currentServerNode, false); err != nil {
logger.Log(1, "server node:", currentServerNode.ID, "failed update")
return
}
if err := PublishPeerUpdate(&currentNode); err != nil {
logger.Log(1, "error publishing peer update ", err.Error())
return
}
case ncutils.KEY:
logger.Log(0, "I should have broke")
}
logger.Log(1, "sent peer updates after signal received from", id, currentNode.Name)

View file

@ -96,11 +96,11 @@ func UpdateKeys(nodeCfg *config.ClientConfig, client mqtt.Client) error {
ncutils.Log("error updating local config " + err.Error())
}
var commsCfg = getCommsCfgByNode(&nodeCfg.Node)
PublishNodeUpdate(&commsCfg, nodeCfg)
if err = wireguard.ApplyConf(&nodeCfg.Node, nodeCfg.Node.Interface, file); err != nil {
ncutils.Log("error applying new config " + err.Error())
return err
}
PublishNodeUpdate(&commsCfg, nodeCfg)
return nil
}

View file

@ -93,12 +93,12 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
return
}
if ifaceDelta { // if a change caused an ifacedelta we need to notify the server to update the peers
ackErr := publishSignal(&commsCfg, &nodeCfg, ncutils.ACK)
if ackErr != nil {
ncutils.Log("could not notify server that it received an interface update")
} else {
ncutils.Log("signalled acknowledgement of change to server")
}
// ackErr := publishSignal(&commsCfg, &nodeCfg, ncutils.ACK)
// if ackErr != nil {
// ncutils.Log("could not notify server that it received an interface update")
// } else {
// ncutils.Log("signalled acknowledgement of change to server")
// }
ncutils.Log("applying WG conf to " + file)
err = wireguard.ApplyConf(&nodeCfg.Node, nodeCfg.Node.Interface, file)
if err != nil {

View file

@ -5,8 +5,4 @@ const (
ACK = 1
// DONE - done signal for MQ
DONE = 2
// KEY - key update completed signal for MQ
KEY = 3
// COMMS_NETWORK_NAME - name of signalling network
COMMS_NETWORK_NAME = "n37m8k3r"
)