diff options
| author | Jakob Unterwurzacher | 2016-10-08 17:19:06 +0200 | 
|---|---|---|
| committer | Jakob Unterwurzacher | 2016-10-08 17:19:55 +0200 | 
| commit | 89bcc50294c765315fafa0d2201edfc59438ff8f (patch) | |
| tree | 812d9492226220072e20fbeef0d39fc28bd7c7e5 | |
| parent | 9b1a35174b11b321271f7cefb6af3ced90ebc2bb (diff) | |
main: check if the config file can opened before prompting for password
This was frustrating:
$ gocryptfs a b
Password:
Decrypting master key
open a/gocryptfs.conf: permission denied
| -rw-r--r-- | main.go | 7 | 
1 files changed, 4 insertions, 3 deletions
| @@ -64,12 +64,13 @@ Options:  // loadConfig - load the config file "filename", prompting the user for the password  func loadConfig(args *argContainer) (masterkey []byte, confFile *configfile.ConfFile) { -	// Check if the file exists at all before prompting for a password -	_, err := os.Stat(args.config) +	// Check if the file can be opened at all before prompting for a password +	fd, err := os.Open(args.config)  	if err != nil { -		tlog.Fatal.Printf("Config file not found: %v", err) +		tlog.Fatal.Printf("Cannot open config file: %v", err)  		os.Exit(ErrExitLoadConf)  	} +	fd.Close()  	pw := readpassword.Once(args.extpass)  	tlog.Info.Println("Decrypting master key")  	masterkey, confFile, err = configfile.LoadConfFile(args.config, pw) | 
