From 0e1d9ea096b926fbeb471471267997455fdfb206 Mon Sep 17 00:00:00 2001 From: Aiden McClelland Date: Mon, 21 Sep 2020 14:10:24 -0600 Subject: [PATCH] add cli options for execEnabled --- cmd/config.go | 2 ++ cmd/config_init.go | 11 ++++++----- cmd/config_set.go | 2 ++ http/settings.go | 2 ++ 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/cmd/config.go b/cmd/config.go index 8b69e7b7..359668ae 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -31,6 +31,7 @@ func addConfigFlags(flags *pflag.FlagSet) { addServerFlags(flags) addUserFlags(flags) flags.BoolP("signup", "s", false, "allow users to signup") + flags.BoolP("execEnabled", "", true, "enable the Command Runner feature") flags.String("shell", "", "shell command to which other commands should be appended") flags.String("auth.method", string(auth.MethodJSONAuth), "authentication type") @@ -126,6 +127,7 @@ func printSettings(ser *settings.Server, set *settings.Settings, auther auth.Aut fmt.Fprintf(w, "Sign up:\t%t\n", set.Signup) fmt.Fprintf(w, "Create User Dir:\t%t\n", set.CreateUserDir) fmt.Fprintf(w, "Auth method:\t%s\n", set.AuthMethod) + fmt.Fprintf(w, "Exec Enabled:\t%t\n", set.ExecEnabled) fmt.Fprintf(w, "Shell:\t%s\t\n", strings.Join(set.Shell, " ")) fmt.Fprintln(w, "\nBranding:") fmt.Fprintf(w, "\tName:\t%s\n", set.Branding.Name) diff --git a/cmd/config_init.go b/cmd/config_init.go index 86a69914..ce3435a9 100644 --- a/cmd/config_init.go +++ b/cmd/config_init.go @@ -30,11 +30,12 @@ override the options.`, authMethod, auther := getAuthentication(flags) s := &settings.Settings{ - Key: generateKey(), - Signup: mustGetBool(flags, "signup"), - Shell: strings.Split(strings.TrimSpace(mustGetString(flags, "shell")), " "), - AuthMethod: authMethod, - Defaults: defaults, + Key: generateKey(), + Signup: mustGetBool(flags, "signup"), + ExecEnabled: true, + Shell: strings.Split(strings.TrimSpace(mustGetString(flags, "shell")), " "), + AuthMethod: authMethod, + Defaults: defaults, Branding: settings.Branding{ Name: mustGetString(flags, "branding.name"), DisableExternal: mustGetBool(flags, "branding.disableExternal"), diff --git a/cmd/config_set.go b/cmd/config_set.go index 9b49b234..25a0f038 100644 --- a/cmd/config_set.go +++ b/cmd/config_set.go @@ -49,6 +49,8 @@ you want to change. Other options will remain unchanged.`, set.Signup = mustGetBool(flags, flag.Name) case "auth.method": hasAuth = true + case "execEnabled": + set.ExecEnabled = mustGetBool(flags, flag.Name) case "shell": set.Shell = strings.Split(strings.TrimSpace(mustGetString(flags, flag.Name)), " ") case "branding.name": diff --git a/http/settings.go b/http/settings.go index 0148b383..581593a8 100644 --- a/http/settings.go +++ b/http/settings.go @@ -14,6 +14,7 @@ type settingsData struct { Defaults settings.UserDefaults `json:"defaults"` Rules []rules.Rule `json:"rules"` Branding settings.Branding `json:"branding"` + ExecEnabled bool `json:"execEnabled"` Shell []string `json:"shell"` Commands map[string][]string `json:"commands"` } @@ -25,6 +26,7 @@ var settingsGetHandler = withAdmin(func(w http.ResponseWriter, r *http.Request, Defaults: d.settings.Defaults, Rules: d.settings.Rules, Branding: d.settings.Branding, + ExecEnabled: d.settings.ExecEnabled, Shell: d.settings.Shell, Commands: d.settings.Commands, }