From d830706692e663380cd7288f9a458e1c83aa02c5 Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Sat, 21 Jan 2023 00:28:28 +0700 Subject: [PATCH] cmd/ctrld: always process "--cd" in start mode So if there's any error in fetching configuration, it will be reported to user and service won't start. --- cmd/ctrld/cli.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cmd/ctrld/cli.go b/cmd/ctrld/cli.go index 17baa8c..ab0fc2f 100644 --- a/cmd/ctrld/cli.go +++ b/cmd/ctrld/cli.go @@ -187,7 +187,6 @@ func initCLI() { osArgs = os.Args[3:] } sc.Arguments = append([]string{"run"}, osArgs...) - isWindows := runtime.GOOS == "windows" if dir, err := os.UserHomeDir(); err == nil { // WorkingDirectory is not supported on Windows. sc.WorkingDirectory = dir @@ -196,15 +195,15 @@ func initCLI() { writeDefaultConfig := !noConfigStart && configBase64 == "" if configPath == "" && writeDefaultConfig { defaultConfigFile = filepath.Join(dir, defaultConfigFile) - readConfigFile(writeDefaultConfig && (cdUID == "" || !isWindows)) + readConfigFile(writeDefaultConfig && cdUID == "") } sc.Arguments = append(sc.Arguments, "--homedir="+dir) } + processCDFlags() // On Windows, the service will be run as SYSTEM, so if ctrld start as Admin, // the user home dir is different, so pass specific arguments that relevant here. - if isWindows { - processCDFlags() + if runtime.GOOS == "windows" { if configPath == "" { sc.Arguments = append(sc.Arguments, "--config="+defaultConfigFile) }