server update

This commit is contained in:
0xdcarns
2022-01-25 23:04:03 -05:00
parent d6554ef081
commit 424c801c6c
5 changed files with 18 additions and 11 deletions

View File

@@ -8,6 +8,7 @@ import (
"os"
"os/signal"
"runtime"
"strings"
"sync"
"syscall"
"time"
@@ -59,7 +60,8 @@ func Daemon() error {
// SetupMQTT creates a connection to broker and return client
func SetupMQTT(cfg *config.ClientConfig) mqtt.Client {
opts := mqtt.NewClientOptions()
for i, addr := range cfg.Node.NetworkSettings.DefaultServerAddrs {
serverAddrs := strings.Split(cfg.Node.NetworkSettings.DefaultServerAddrs, ",")
for i, addr := range serverAddrs {
if addr != "" {
ncutils.Log(fmt.Sprintf("adding server (%d) to listen on network %s \n", (i + 1), cfg.Node.Network))
opts.AddBroker(addr + ":1883")
@@ -215,13 +217,12 @@ var UpdatePeers mqtt.MessageHandler = func(client mqtt.Client, msg mqtt.Message)
var cfg config.ClientConfig
cfg.Network = peerUpdate.Network
cfg.ReadConfig()
var shouldReSub = shouldResub(cfg.Node.NetworkSettings.DefaultServerAddrs, peerUpdate.ServerAddrs)
var shouldReSub = shouldResub(strings.Split(cfg.Node.NetworkSettings.DefaultServerAddrs, ","), peerUpdate.ServerAddrs)
if shouldReSub {
client.Disconnect(250) // kill client
// un sub, re sub.. how?
client.Unsubscribe("update/"+cfg.Node.ID, "update/peers/"+cfg.Node.ID)
cfg.Node.NetworkSettings.DefaultServerAddrs = peerUpdate.ServerAddrs
cfg.Node.NetworkSettings.DefaultServerAddrs = strings.Join(peerUpdate.ServerAddrs, ",")
}
file := ncutils.GetNetclientPathSpecific() + cfg.Node.Interface + ".conf"
err = wireguard.UpdateWgPeers(file, peerUpdate.Peers)