diff --git a/netclient/functions/mqhandlers.go b/netclient/functions/mqhandlers.go index 8114b224..9426ee6d 100644 --- a/netclient/functions/mqhandlers.go +++ b/netclient/functions/mqhandlers.go @@ -105,19 +105,19 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) { } file := ncutils.GetNetclientPathSpecific() + nodeCfg.Node.Interface + ".conf" - if err := wireguard.UpdateWgInterface(file, privateKey, nameserver, newNode); err != nil { - logger.Log(0, "error updating wireguard config "+err.Error()) - return - } - if keepaliveChange { - wireguard.UpdateKeepAlive(file, newNode.PersistentKeepalive) - } if ifaceDelta { // if a change caused an ifacedelta we need to notify the server to update the peers - err = ncutils.ModPort(&nodeCfg.Node) + err = ncutils.ModPort(&newNode) if err != nil { - logger.Log(0, "error modifying node port on", nodeCfg.Node.Name, "-", err.Error()) + logger.Log(0, "error modifying node port on", newNode.Name, "-", err.Error()) return } + if err := wireguard.UpdateWgInterface(file, privateKey, nameserver, newNode); err != nil { + logger.Log(0, "error updating wireguard config "+err.Error()) + return + } + if keepaliveChange { + wireguard.UpdateKeepAlive(file, newNode.PersistentKeepalive) + } logger.Log(0, "applying WG conf to "+file) if ncutils.IsWindows() { wireguard.RemoveConfGraceful(nodeCfg.Node.Interface) diff --git a/netclient/functions/pull.go b/netclient/functions/pull.go index 3db2aa36..ea381dec 100644 --- a/netclient/functions/pull.go +++ b/netclient/functions/pull.go @@ -63,10 +63,12 @@ func Pull(network string, iface bool) (*models.Node, error) { logger.Log(0, "unable to update server config: "+err.Error()) } } - err = ncutils.ModPort(&resNode) - logger.Log(0, "port is now", strconv.Itoa(int(resNode.ListenPort))) - if err != nil { - return nil, err + if nodeGET.Node.ListenPort != cfg.Node.ListenPort { + err = ncutils.ModPort(&resNode) + if err != nil { + return nil, err + } + logger.Log(0, "port is now", strconv.Itoa(int(resNode.ListenPort))) } if err = config.ModNodeConfig(&resNode); err != nil { return nil, err