From 12e718f00852900531921b7ec63ccd63dccb0646 Mon Sep 17 00:00:00 2001 From: 0xdcarns Date: Wed, 5 Jan 2022 13:13:03 -0500 Subject: [PATCH 1/2] updated version, made RCE optional --- config/config.go | 1 + controllers/node.go | 6 ++++++ controllers/node_grpc.go | 7 +++++++ netclient/main.go | 2 +- servercfg/serverconf.go | 12 +++++++++++- 5 files changed, 26 insertions(+), 2 deletions(-) diff --git a/config/config.go b/config/config.go index 044d1a88..fc1bcbf2 100644 --- a/config/config.go +++ b/config/config.go @@ -69,6 +69,7 @@ type ServerConfig struct { FrontendURL string `yaml:"frontendurl"` DisplayKeys string `yaml:"displaykeys"` AzureTenant string `yaml:"azuretenant"` + RCE string `yaml:"rce"` } // SQLConfig - Generic SQL Config diff --git a/controllers/node.go b/controllers/node.go index 12727f1e..605ceec3 100644 --- a/controllers/node.go +++ b/controllers/node.go @@ -524,6 +524,12 @@ func updateNode(w http.ResponseWriter, r *http.Request) { } } } + + if !servercfg.GetRce() { + newNode.PostDown = node.PostDown + newNode.PostUp = node.PostUp + } + err = logic.UpdateNode(&node, &newNode) if err != nil { returnErrorResponse(w, r, formatError(err, "internal")) diff --git a/controllers/node_grpc.go b/controllers/node_grpc.go index 8e9cd71f..633cb369 100644 --- a/controllers/node_grpc.go +++ b/controllers/node_grpc.go @@ -10,6 +10,7 @@ import ( "github.com/gravitl/netmaker/logger" "github.com/gravitl/netmaker/logic" "github.com/gravitl/netmaker/models" + "github.com/gravitl/netmaker/servercfg" ) // NodeServiceServer - represents the service server for gRPC @@ -107,6 +108,12 @@ func (s *NodeServiceServer) UpdateNode(ctx context.Context, req *nodepb.Object) if err != nil { return nil, err } + + if !servercfg.GetRce() { + newnode.PostDown = node.PostDown + newnode.PostUp = node.PostUp + } + err = logic.UpdateNode(&node, &newnode) if err != nil { return nil, err diff --git a/netclient/main.go b/netclient/main.go index 8030569e..1c6c1ff9 100644 --- a/netclient/main.go +++ b/netclient/main.go @@ -18,7 +18,7 @@ func main() { app := cli.NewApp() app.Name = "Netclient CLI" app.Usage = "Netmaker's netclient agent and CLI. Used to perform interactions with Netmaker server and set local WireGuard config." - app.Version = "v0.9.2" + app.Version = "v0.9.3" cliFlags := cli_options.GetFlags(ncutils.GetHostname()) app.Commands = cli_options.GetCommands(cliFlags[:]) diff --git a/servercfg/serverconf.go b/servercfg/serverconf.go index 7c1ebd74..a7ef3bf1 100644 --- a/servercfg/serverconf.go +++ b/servercfg/serverconf.go @@ -80,6 +80,11 @@ func GetServerConfig() config.ServerConfig { cfg.ClientID = authInfo[1] cfg.ClientSecret = authInfo[2] cfg.FrontendURL = GetFrontendURL() + if GetRce() { + cfg.RCE = "on" + } else { + cfg.RCE = "off" + } return cfg } @@ -108,7 +113,7 @@ func GetAPIConnString() string { // GetVersion - version of netmaker func GetVersion() string { - version := "0.9.2" + version := "0.9.3" if config.Config.Server.Version != "" { version = config.Config.Server.Version } @@ -528,3 +533,8 @@ func getMacAddr() string { } return as[0] } + +// GetRce - sees if Rce is enabled, off by default +func GetRce() bool { + return os.Getenv("RCE") == "on" || config.Config.Server.RCE == "on" +} From c40ab517378d40f065702832c7cc9e5c9d441662 Mon Sep 17 00:00:00 2001 From: 0xdcarns Date: Wed, 5 Jan 2022 13:41:11 -0500 Subject: [PATCH 2/2] disabled updating default post cmds if RCE disabled --- controllers/network.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/controllers/network.go b/controllers/network.go index 44630b4b..840c06c7 100644 --- a/controllers/network.go +++ b/controllers/network.go @@ -68,7 +68,7 @@ func getNetworks(w http.ResponseWriter, r *http.Request) { json.NewEncoder(w).Encode(allnetworks) } -//Simple get network function +// Simple get network function func getNetwork(w http.ResponseWriter, r *http.Request) { // set header. w.Header().Set("Content-Type", "application/json") @@ -101,7 +101,7 @@ func keyUpdate(w http.ResponseWriter, r *http.Request) { json.NewEncoder(w).Encode(network) } -//Update a network +// Update a network func updateNetwork(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") var params = mux.Vars(r) @@ -119,6 +119,11 @@ func updateNetwork(w http.ResponseWriter, r *http.Request) { return } + if !servercfg.GetRce() { + newNetwork.DefaultPostDown = network.DefaultPostDown + newNetwork.DefaultPostUp = network.DefaultPostUp + } + rangeupdate, localrangeupdate, err := logic.UpdateNetwork(&network, &newNetwork) if err != nil { returnErrorResponse(w, r, formatError(err, "badrequest"))