summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Unterwurzacher2016-06-05 13:44:22 +0200
committerJakob Unterwurzacher2016-06-05 13:44:22 +0200
commitca54b665e32a9b298ea3e70b5da0108db3a71364 (patch)
treee414f80f87eaa287954ff56e3af479eaf422384e
parentf2d208c464a1f157014127bfa97dbb7b84158f95 (diff)
main: print actual error from LoadConfFile()
It may not have been a "Wrong password" after all. Also, push down disabling the warning so LoadConfFile() can warn about things that matter.
-rw-r--r--internal/configfile/config_file.go5
-rw-r--r--main.go5
2 files changed, 4 insertions, 6 deletions
diff --git a/internal/configfile/config_file.go b/internal/configfile/config_file.go
index 6ed49d9..006f6fe 100644
--- a/internal/configfile/config_file.go
+++ b/internal/configfile/config_file.go
@@ -107,11 +107,12 @@ func LoadConfFile(filename string, password string) ([]byte, *ConfFile, error) {
cc := cryptocore.New(scryptHash, false, false)
ce := contentenc.New(cc, 4096)
+ toggledlog.Warn.Enabled = false // Silence DecryptBlock() error messages on incorrect password
key, err := ce.DecryptBlock(cf.EncryptedKey, 0, nil)
+ toggledlog.Warn.Enabled = true
if err != nil {
toggledlog.Warn.Printf("failed to unlock master key: %s", err.Error())
- toggledlog.Warn.Printf("Password incorrect.")
- return nil, nil, err
+ return nil, nil, fmt.Errorf("Password incorrect.")
}
return key, &cf, nil
diff --git a/main.go b/main.go
index ee3f591..d07a1ff 100644
--- a/main.go
+++ b/main.go
@@ -123,12 +123,9 @@ func loadConfig(args *argContainer) (masterkey []byte, confFile *configfile.Conf
}
pw := readPassword(args.extpass)
toggledlog.Info.Printf("Decrypting master key... ")
- toggledlog.Warn.Enabled = false // Silence DecryptBlock() error messages on incorrect password
masterkey, confFile, err = configfile.LoadConfFile(args.config, pw)
- toggledlog.Warn.Enabled = true
if err != nil {
- fmt.Println(err)
- fmt.Println(colorRed + "Wrong password." + colorReset)
+ fmt.Println(os.Stderr, colorRed+err.Error()+colorReset)
os.Exit(ERREXIT_LOADCONF)
}
toggledlog.Info.Printf("done.")