From 9dff18209e90d76746091b97fdde314fa56dd0d4 Mon Sep 17 00:00:00 2001 From: afeiszli Date: Tue, 1 Jun 2021 22:31:41 -0400 Subject: [PATCH] fixed netclient --- functions/helpers.go | 3 ++- models/intclient.go | 28 ++++++++++++++-------------- netclient/config/config.go | 7 +++++++ netclient/functions/register.go | 17 +++-------------- netclient/main.go | 16 ---------------- serverctl/serverctl.go | 2 +- 6 files changed, 27 insertions(+), 46 deletions(-) diff --git a/functions/helpers.go b/functions/helpers.go index c79cfc14..63d75d0f 100644 --- a/functions/helpers.go +++ b/functions/helpers.go @@ -44,9 +44,10 @@ func CreateServerToken(netID string) (string, error) { if *network.IsLocal { privAddr = network.LocalRange } + accessstringdec := servercfg.GetGRPCWGPort() + "|" + address + "|" + address + "|" + netID + "|" + accesskey.Value + "|" + privAddr - accessstringdec := " " + "|"+ address + "|" + address + "|" + netID + "|" + accesskey.Value + "|" + privAddr + log.Println("Access String: " + accessstringdec) accesskey.AccessString = base64.StdEncoding.EncodeToString([]byte(accessstringdec)) network.AccessKeys = append(network.AccessKeys, accesskey) diff --git a/models/intclient.go b/models/intclient.go index 2611498a..2b1a3592 100644 --- a/models/intclient.go +++ b/models/intclient.go @@ -1,18 +1,18 @@ package models type IntClient struct { - ClientID string `json:"clientid" bson:"clientid"` - PrivateKey string `json:"privatekey" bson:"privatekey"` - PublicKey string `json:"publickey" bson:"publickey"` - AccessKey string `json:"accesskey" bson:"accesskey"` - Address string `json:"address" bson:"address"` - Address6 string `json:"address6" bson:"address6"` - Network string `json:"network" bson:"network"` - ServerPublicEndpoint string `json:"serverwgendpoint" bson:"serverwgendpoint"` - ServerAPIPort string `json:"serverapiendpoint" bson:"serverapiendpoint"` - ServerPrivateAddress string `json:"serveraddress" bson:"serveraddress"` - ServerWGPort string `json:"serverport" bson:"serverport"` - ServerGRPCPort string `json:"serverport" bson:"serverport"` - ServerKey string `json:"serverkey" bson:"serverkey"` - IsServer string `json:"isserver" bson:"isserver"` + ClientID string `json:"clientid" bson:"clientid"` + PrivateKey string `json:"privatekey" bson:"privatekey"` + PublicKey string `json:"publickey" bson:"publickey"` + AccessKey string `json:"accesskey" bson:"accesskey"` + Address string `json:"address" bson:"address"` + Address6 string `json:"address6" bson:"address6"` + Network string `json:"network" bson:"network"` + ServerPublicEndpoint string `json:"serverpublicendpoint" bson:"serverpublicendpoint"` + ServerAPIPort string `json:"serverapiport" bson:"serverapiport"` + ServerPrivateAddress string `json:"serverprivateaddress" bson:"serverprivateaddress"` + ServerWGPort string `json:"serverwgport" bson:"serverwgport"` + ServerGRPCPort string `json:"servergrpcport" bson:"servergrpcport"` + ServerKey string `json:"serverkey" bson:"serverkey"` + IsServer string `json:"isserver" bson:"isserver"` } diff --git a/netclient/config/config.go b/netclient/config/config.go index 0e155482..329d4ca5 100644 --- a/netclient/config/config.go +++ b/netclient/config/config.go @@ -273,6 +273,13 @@ func ModGlobalConfig(cfg models.IntClient) error{ if cfg.ServerKey != ""{ modconfig.Client.ServerKey = cfg.ServerKey } + if cfg.AccessKey != ""{ + modconfig.Client.AccessKey = cfg.AccessKey + } + if cfg.ClientID != ""{ + modconfig.Client.ClientID = cfg.ClientID + } + err = WriteGlobal(&modconfig) return err } diff --git a/netclient/functions/register.go b/netclient/functions/register.go index 334aa177..5cfacc6f 100644 --- a/netclient/functions/register.go +++ b/netclient/functions/register.go @@ -52,6 +52,8 @@ func Register(cfg config.GlobalConfig) error { return errors.New("request to server failed: " + res.Status) } bodyBytes, err := ioutil.ReadAll(res.Body) + bodyString := string(bodyBytes) + spew.Dump(bodyString) if err != nil { return err } @@ -74,6 +76,7 @@ func Register(cfg config.GlobalConfig) error { func Unregister(cfg config.GlobalConfig) error { client := &http.Client{ Timeout: 7 * time.Second,} publicaddress := cfg.Client.ServerPublicEndpoint + ":" + cfg.Client.ServerAPIPort + log.Println("sending delete request to: " + "http://"+publicaddress+"/api/intclient/"+cfg.Client.ClientID) req, err := http.NewRequest("DELETE", "http://"+publicaddress+"/api/intclient/"+cfg.Client.ClientID, nil) if err != nil { log.Println(err) @@ -94,17 +97,3 @@ func Unregister(cfg config.GlobalConfig) error { } return err } - -func Reregister(cfg config.GlobalConfig) error { - err := Unregister(cfg) - if err != nil { - log.Println("failed to un-register") - return err - } - err = Register(cfg) - if err != nil { - log.Println("failed to re-register after unregistering") - } - return err -} - diff --git a/netclient/main.go b/netclient/main.go index 8e84a75f..bbba211e 100644 --- a/netclient/main.go +++ b/netclient/main.go @@ -199,22 +199,6 @@ func main() { return err }, }, - { - Name: "reregister", - Usage: "Re-Register with Netmaker Server for secure GRPC communications.", - Flags: cliFlags, - Action: func(c *cli.Context) error { - cfg, err := config.ReadGlobalConfig() - if err != nil { - return err - } - var gconf config.GlobalConfig - gconf = *cfg - - err = command.Reregister(gconf) - return err - }, - }, { Name: "join", Usage: "Join a Netmaker network.", diff --git a/serverctl/serverctl.go b/serverctl/serverctl.go index a30a3221..234db2a5 100644 --- a/serverctl/serverctl.go +++ b/serverctl/serverctl.go @@ -208,7 +208,7 @@ func AddNetwork(network string) (bool, error) { return false, err } token, err := functions.CreateServerToken(network) - if err != nil { + if err != nil { log.Println("could not create server token for " + network) return false, err }