Browse Source

refactored clients

0xdcarns 3 years ago
parent
commit
bd8b66c169
3 changed files with 12 additions and 15 deletions
  1. 6 5
      controllers/node.go
  2. 6 6
      netclient/functions/daemon.go
  3. 0 4
      netclient/wireguard/common.go

+ 6 - 5
controllers/node.go

@@ -629,13 +629,14 @@ func runUpdates(node *models.Node, ifaceDelta bool) {
 		if err != nil {
 			logger.Log(3, "error occurred on timer,", err.Error())
 		}
-		if err := runServerUpdate(node, ifaceDelta); err != nil {
-			logger.Log(1, "error running server update", err.Error())
-		}
 		// publish node update if not server
 		if err := mq.NodeUpdate(node); err != nil {
 			logger.Log(1, "error publishing node update to node", node.Name, node.ID, err.Error())
 		}
+
+		if err := runServerUpdate(node, ifaceDelta); err != nil {
+			logger.Log(1, "error running server update", err.Error())
+		}
 	}()
 }
 
@@ -648,8 +649,8 @@ func runServerUpdate(node *models.Node, ifaceDelta bool) error {
 		return nil
 	}
 
-	if !isServer(node) && ifaceDelta {
-		ifaceDelta = false
+	if !isServer(node) {
+		return nil
 	}
 
 	currentServerNode, err := logic.GetNetworkServerLocal(node.Network)

+ 6 - 6
netclient/functions/daemon.go

@@ -199,6 +199,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
+		pubErr := publishClientPeers(&cfg)
+		if pubErr != nil {
+			ncutils.Log("could not notify server to update peers after interface change")
+		} else {
+			ncutils.Log("signalled peer update to server")
+		}
 		ncutils.Log("applying WG conf to " + file)
 		err = wireguard.ApplyConf(&cfg.Node, cfg.Node.Interface, file)
 		if err != nil {
@@ -215,12 +221,6 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
 				}
 			}
 		}
-		pubErr := publishClientPeers(&cfg)
-		if pubErr != nil {
-			ncutils.Log("could not notify server to update peers after interface change")
-		} else {
-			ncutils.Log("signalled peer update to server")
-		}
 	}
 	//deal with DNS
 	if newNode.DNSOn != "yes" && shouldDNSChange && cfg.Node.Interface != "" {

+ 0 - 4
netclient/wireguard/common.go

@@ -131,10 +131,6 @@ func InitWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig
 		return err
 	}
 	nodecfg := modcfg.Node
-
-	if err != nil {
-		log.Fatalf("failed to open client: %v", err)
-	}
 	var ifacename string
 	if nodecfg.Interface != "" {
 		ifacename = nodecfg.Interface