mirror of
				https://github.com/gravitl/netmaker.git
				synced 2025-10-31 20:22:44 +08:00 
			
		
		
		
	ispending bug fix and node auth fix
This commit is contained in:
		| @@ -11,6 +11,7 @@ import ( | ||||
| 	"net" | ||||
| 	"time" | ||||
|  | ||||
| 	"github.com/gravitl/netmaker/database" | ||||
| 	nodepb "github.com/gravitl/netmaker/grpc" | ||||
| 	"github.com/gravitl/netmaker/models" | ||||
| 	"github.com/gravitl/netmaker/netclient/auth" | ||||
| @@ -115,8 +116,6 @@ func JoinNetwork(cfg config.ClientConfig, privateKey string) error { | ||||
| 				return err | ||||
| 			} | ||||
| 		} | ||||
| 	} else { | ||||
| 		cfg.Node.Endpoint = cfg.Node.Endpoint | ||||
| 	} | ||||
| 	if privateKey == "" { | ||||
| 		wgPrivatekey, err := wgtypes.GeneratePrivateKey() | ||||
| @@ -158,27 +157,27 @@ func JoinNetwork(cfg config.ClientConfig, privateKey string) error { | ||||
|  | ||||
| 	wcclient = nodepb.NewNodeServiceClient(conn) | ||||
|  | ||||
| 	postnode := &models.Node{ | ||||
| 		Password:            cfg.Node.Password, | ||||
| 		MacAddress:          cfg.Node.MacAddress, | ||||
| 		AccessKey:           cfg.Server.AccessKey, | ||||
| 		Network:             cfg.Network, | ||||
| 		ListenPort:          cfg.Node.ListenPort, | ||||
| 		PostUp:              cfg.Node.PostUp, | ||||
| 		PostDown:            cfg.Node.PostDown, | ||||
| 		PersistentKeepalive: cfg.Node.PersistentKeepalive, | ||||
| 		LocalAddress:        cfg.Node.LocalAddress, | ||||
| 		Interface:           cfg.Node.Interface, | ||||
| 		PublicKey:           cfg.Node.PublicKey, | ||||
| 		Name:                cfg.Node.Name, | ||||
| 		Endpoint:            cfg.Node.Endpoint, | ||||
| 		SaveConfig:          cfg.Node.SaveConfig, | ||||
| 		UDPHolePunch:        cfg.Node.UDPHolePunch, | ||||
| 	} | ||||
| 	if err = config.ModConfig(postnode); err != nil { | ||||
| 	// postnode := &models.Node{ | ||||
| 	// 	Password:            cfg.Node.Password, | ||||
| 	// 	MacAddress:          cfg.Node.MacAddress, | ||||
| 	// 	AccessKey:           cfg.Server.AccessKey, | ||||
| 	// 	Network:             cfg.Network, | ||||
| 	// 	ListenPort:          cfg.Node.ListenPort, | ||||
| 	// 	PostUp:              cfg.Node.PostUp, | ||||
| 	// 	PostDown:            cfg.Node.PostDown, | ||||
| 	// 	PersistentKeepalive: cfg.Node.PersistentKeepalive, | ||||
| 	// 	LocalAddress:        cfg.Node.LocalAddress, | ||||
| 	// 	Interface:           cfg.Node.Interface, | ||||
| 	// 	PublicKey:           cfg.Node.PublicKey, | ||||
| 	// 	Name:                cfg.Node.Name, | ||||
| 	// 	Endpoint:            cfg.Node.Endpoint, | ||||
| 	// 	SaveConfig:          cfg.Node.SaveConfig, | ||||
| 	// 	UDPHolePunch:        cfg.Node.UDPHolePunch, | ||||
| 	// } | ||||
| 	if err = config.ModConfig(&cfg.Node); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	data, err := json.Marshal(&postnode) | ||||
| 	data, err := json.Marshal(&cfg.Node) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| @@ -216,6 +215,11 @@ func JoinNetwork(cfg config.ClientConfig, privateKey string) error { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	err = wireguard.StorePrivKey(privateKey, cfg.Network) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	if node.IsPending == "yes" { | ||||
| 		fmt.Println("Node is marked as PENDING.") | ||||
| 		fmt.Println("Awaiting approval from Admin before configuring WireGuard.") | ||||
| @@ -227,14 +231,11 @@ func JoinNetwork(cfg config.ClientConfig, privateKey string) error { | ||||
| 	log.Println("retrieving remote peers") | ||||
| 	peers, hasGateway, gateways, err := server.GetPeers(node.MacAddress, cfg.Network, cfg.Server.GRPCAddress, node.IsDualStack == "yes", node.IsIngressGateway == "yes") | ||||
|  | ||||
| 	if err != nil { | ||||
| 		log.Println("failed to retrieve peers") | ||||
| 		return err | ||||
| 	} | ||||
| 	err = wireguard.StorePrivKey(privateKey, cfg.Network) | ||||
| 	if err != nil { | ||||
| 	if err != nil && !database.IsEmptyRecord(err) { | ||||
| 		log.Println("failed to retrieve peers", err) | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	log.Println("starting wireguard") | ||||
| 	err = wireguard.InitWireguard(&node, privateKey, peers, hasGateway, gateways) | ||||
| 	if err != nil { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 worker-9
					worker-9