b812257ba97020e90e7598378b54f737364a1636 — Reto Brunner 3 months ago c81b3eb
Print errors from config load issues.

Currently we /dev/null stdout, if it is a tty.
The checkConfigPerms function, as well as the error print were incorrectly
writing to stdout and therefore weren't visible to most users.
2 files changed, 4 insertions(+), 4 deletions(-)

M aerc.go
M config/config.go
M aerc.go => aerc.go +1 -1
@@ 135,7 135,7 @@ func main() {
 
 	conf, err := config.LoadConfigFromFile(nil, ShareDir)
 	if err != nil {
-		fmt.Printf("Failed to load config: %v\n", err)
+		fmt.Fprintf(os.Stderr, "Failed to load config: %v\n", err)
 		os.Exit(1)
 	}
 

M config/config.go => config/config.go +3 -3
@@ 465,9 465,9 @@ func checkConfigPerms(filename string) error {
 	goPerms := perms >> 3
 	// group or others have read access
 	if goPerms&0x44 != 0 {
-		fmt.Printf("The file %v has too open permissions.\n", filename)
-		fmt.Println("This is a security issue (it contains passwords).")
-		fmt.Printf("To fix it, run `chmod 600 %v`\n", filename)
+		fmt.Fprintf(os.Stderr, "The file %v has too open permissions.\n", filename)
+		fmt.Fprintln(os.Stderr, "This is a security issue (it contains passwords).")
+		fmt.Fprintf(os.Stderr, "To fix it, run `chmod 600 %v`\n", filename)
 		return errors.New("account.conf permissions too lax")
 	}
 	return nil