From d0094f025602ad00e28cd0c633d8088fbdde1ad1 Mon Sep 17 00:00:00 2001 From: Andrei Lopukhov Date: Sun, 14 Jul 2024 18:30:30 +0300 Subject: [PATCH] Reworked activation helper env var check Signed-off-by: Andrei Lopukhov --- cmd/rootlesskit/main.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/cmd/rootlesskit/main.go b/cmd/rootlesskit/main.go index ccd7ddb1..be7d7f29 100644 --- a/cmd/rootlesskit/main.go +++ b/cmd/rootlesskit/main.go @@ -42,10 +42,7 @@ const ( ) func main() { - iAmActivationHelper, err := strconv.ParseBool(os.Getenv(runActivationHelperEnvKey)) - if err != nil { - iAmActivationHelper = false - } + iAmActivationHelper := checkActivationHelper() iAmChild := os.Getenv(pipeFDEnvKey) != "" id := "parent" if iAmChild { @@ -686,6 +683,18 @@ func unameM() string { return machine } +func checkActivationHelper() bool { + envValue, envSet := os.LookupEnv(runActivationHelperEnvKey) + if !envSet { + return false + } + activationHelperValue, err := strconv.ParseBool(envValue) + if err != nil { + panic(fmt.Sprintf("Env variable [%s] is set to [%s] and cannot be parsed", runActivationHelperEnvKey, envValue)) + } + return activationHelperValue +} + func createActivationOpts(clicontext *cli.Context) (activation.Opt, error) { opt := activation.Opt { RunActivationHelperEnvKey: runActivationHelperEnvKey,