Browse Source

Merge pull request #704 from gravitl/bugfix_v0.10.0_key_update

handler for KeyUpdate was missing a call to apply new wireguard conf
dcarns 3 years ago
parent
commit
5c881107ff
1 changed files with 7 additions and 2 deletions
  1. 7 2
      netclient/functions/daemon.go

+ 7 - 2
netclient/functions/daemon.go

@@ -275,6 +275,8 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
 			if !strings.Contains("rpc error", err.Error()) {
 			if !strings.Contains("rpc error", err.Error()) {
 				ncutils.PrintLog(fmt.Sprintf("failed to leave, please check that local files for network %s were removed", cfg.Node.Network), 1)
 				ncutils.PrintLog(fmt.Sprintf("failed to leave, please check that local files for network %s were removed", cfg.Node.Network), 1)
 			}
 			}
+			ncutils.PrintLog(fmt.Sprintf("%s was removed", cfg.Node.Name), 1)
+			return
 		}
 		}
 		ncutils.PrintLog(fmt.Sprintf("%s was removed", cfg.Node.Name), 1)
 		ncutils.PrintLog(fmt.Sprintf("%s was removed", cfg.Node.Name), 1)
 		return
 		return
@@ -282,7 +284,6 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
 		if err := UpdateKeys(&cfg, client); err != nil {
 		if err := UpdateKeys(&cfg, client); err != nil {
 			ncutils.PrintLog("err updating wireguard keys: "+err.Error(), 1)
 			ncutils.PrintLog("err updating wireguard keys: "+err.Error(), 1)
 		}
 		}
-		ifaceDelta = true
 	case models.NODE_NOOP:
 	case models.NODE_NOOP:
 	default:
 	default:
 	}
 	}
@@ -462,10 +463,14 @@ func UpdateKeys(cfg *config.ClientConfig, client mqtt.Client) error {
 		return err
 		return err
 	}
 	}
 	cfg.Node.PublicKey = key.PublicKey().String()
 	cfg.Node.PublicKey = key.PublicKey().String()
-	PublishNodeUpdate(cfg)
 	if err := config.ModConfig(&cfg.Node); err != nil {
 	if err := config.ModConfig(&cfg.Node); err != nil {
 		ncutils.Log("error updating local config " + err.Error())
 		ncutils.Log("error updating local config " + err.Error())
 	}
 	}
+	PublishNodeUpdate(cfg)
+	if err = wireguard.ApplyConf(&cfg.Node, cfg.Node.Interface, file); err != nil {
+		ncutils.Log("error applying new config " + err.Error())
+		return err
+	}
 	return nil
 	return nil
 }
 }