From 0f3c563dbfa0095668c3ebeb27c02631848a0ed1 Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Wed, 11 Dec 2024 03:13:07 -0500 Subject: [PATCH] cmd/stepd: Set up logging after dropping privelege This has to be done because we can't just create a log file as root and not be able to open it later --- cmd/stepd/main.go | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/cmd/stepd/main.go b/cmd/stepd/main.go index a704974..149b2cd 100644 --- a/cmd/stepd/main.go +++ b/cmd/stepd/main.go @@ -83,21 +83,6 @@ func main () { pluginPath[index], _ = filepath.Abs(pat) } - // set up logging - if flagLogDirectory.Value != "" { - directory := flagLogDirectory.Value - log.Println("(i) logging to", directory) - directory, err := filepath.Abs(directory) - if err != nil { log.Fatalln("XXX", err) } - logger, err := rotate.New(directory) - if err != nil { log.Fatalln("XXX", err) } - defer logger.Close() - log.SetOutput(logger) - } - log.Println(`==========| STEP |===========`) - log.Println(`Scriptable Template Processor`) - log.Println(`... initializing`) - // manage start and end of program ctx, done := context.WithCancel(context.Background()) defer done() @@ -118,6 +103,21 @@ func main () { if err != nil { log.Fatalln("XXX could not drop privelege:", err) } } + // set up logging + if flagLogDirectory.Value != "" { + directory := flagLogDirectory.Value + log.Println("(i) logging to", directory) + directory, err := filepath.Abs(directory) + if err != nil { log.Fatalln("XXX", err) } + logger, err := rotate.New(directory) + if err != nil { log.Fatalln("XXX", err) } + defer logger.Close() + log.SetOutput(logger) + } + log.Println(`==========| STEP |===========`) + log.Println(`Scriptable Template Processor`) + log.Println(`... initializing`) + // the single argument is for the directory to serve. we actually cd // there. if len(cmd.Args) == 1 {