Browse Source

bug squashin

worker-9 4 years ago
parent
commit
31fbf85175
2 changed files with 7 additions and 55 deletions
  1. 7 8
      netclient/functions/checkin.go
  2. 0 47
      netclient/wireguard/kernel.go

+ 7 - 8
netclient/functions/checkin.go

@@ -91,8 +91,8 @@ func setDNS(node *models.Node, servercfg config.ServerConfig, nodecfg *models.No
  *
  *
  */
-func checkNodeActions(node *models.Node, network string, servercfg config.ServerConfig) string {
-	if node.Action == models.NODE_UPDATE_KEY {
+func checkNodeActions(node *models.Node, network string, servercfg config.ServerConfig, localNode *models.Node) string {
+	if node.Action == models.NODE_UPDATE_KEY || localNode.Action == models.NODE_UPDATE_KEY {
 		err := wireguard.SetWGKeyConfig(network, servercfg.GRPCAddress)
 		if err != nil {
 			log.Println("Unable to process reset keys request:", err)
@@ -100,7 +100,7 @@ func checkNodeActions(node *models.Node, network string, servercfg config.Server
 		}
 		return ""
 	}
-	if node.Action == models.NODE_DELETE {
+	if node.Action == models.NODE_DELETE || localNode.Action == models.NODE_DELETE {
 		err := LeaveNetwork(network)
 		if err != nil {
 			log.Println("Error:", err)
@@ -127,6 +127,7 @@ func CheckConfig(cliconf config.ClientConfig) error {
 		return err
 	}
 	servercfg := cfg.Server
+	currentNode := cfg.Node
 
 	newNode, err := Pull(network, false)
 	if err != nil {
@@ -136,15 +137,13 @@ func CheckConfig(cliconf config.ClientConfig) error {
 		return errors.New("node is pending")
 	}
 
-	actionCompleted := checkNodeActions(newNode, network, servercfg)
+	actionCompleted := checkNodeActions(newNode, network, servercfg, &currentNode)
 	if actionCompleted == models.NODE_DELETE {
 		return errors.New("node has been removed")
 	}
 	// Check if ip changed and push if so
-	if checkIP(newNode, servercfg, cliconf, network) {
-		err = Push(network)
-	}
-	return err
+	checkIP(newNode, servercfg, cliconf, network)
+	return Push(network)
 }
 
 /**

+ 0 - 47
netclient/wireguard/kernel.go

@@ -1,9 +1,6 @@
 package wireguard
 
 import (
-	"context"
-	"crypto/tls"
-	"encoding/json"
 	"errors"
 	"fmt"
 	"io/ioutil"
@@ -14,17 +11,12 @@ import (
 	"strconv"
 	"strings"
 
-	nodepb "github.com/gravitl/netmaker/grpc"
 	"github.com/gravitl/netmaker/models"
-	"github.com/gravitl/netmaker/netclient/auth"
 	"github.com/gravitl/netmaker/netclient/config"
 	"github.com/gravitl/netmaker/netclient/local"
 	"github.com/gravitl/netmaker/netclient/server"
 	"golang.zx2c4.com/wireguard/wgctrl"
 	"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
-	"google.golang.org/grpc"
-	"google.golang.org/grpc/credentials"
-	"google.golang.org/grpc/metadata"
 	//homedir "github.com/mitchellh/go-homedir"
 )
 
@@ -298,35 +290,11 @@ func InitWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig
 
 func SetWGKeyConfig(network string, serveraddr string) error {
 
-	ctx := context.Background()
-	var header metadata.MD
-
 	cfg, err := config.ReadConfig(network)
 	if err != nil {
 		return err
 	}
 
-	var wcclient nodepb.NodeServiceClient
-	var requestOpts grpc.DialOption
-	requestOpts = grpc.WithInsecure()
-	if cfg.Server.GRPCSSL == "on" {
-		h2creds := credentials.NewTLS(&tls.Config{NextProtos: []string{"h2"}})
-		requestOpts = grpc.WithTransportCredentials(h2creds)
-	}
-
-	conn, err := grpc.Dial(serveraddr, requestOpts)
-	if err != nil {
-		fmt.Printf("Cant dial GRPC server: %v", err)
-		return err
-	}
-	wcclient = nodepb.NewNodeServiceClient(conn)
-
-	ctx, err = auth.SetJWT(wcclient, network)
-	if err != nil {
-		fmt.Printf("Failed to authenticate: %v", err)
-		return err
-	}
-
 	node := config.GetNode(network)
 
 	privatekey, err := wgtypes.GeneratePrivateKey()
@@ -350,21 +318,6 @@ func SetWGKeyConfig(network string, serveraddr string) error {
 		return err
 	}
 
-	postnode := config.GetNode(network)
-
-	nodeData, err := json.Marshal(&postnode)
-	if err != nil {
-		return err
-	}
-	req := &nodepb.Object{
-		Data: string(nodeData),
-		Type: nodepb.NODE_TYPE,
-	}
-
-	_, err = wcclient.UpdateNode(ctx, req, grpc.Header(&header))
-	if err != nil {
-		return err
-	}
 	err = SetWGConfig(network, false)
 	if err != nil {
 		return err