~sircmpwn/aerc

b812257ba97020e90e7598378b54f737364a1636 — Reto Brunner 1 year, 2 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