diff options
| author | Jakob Unterwurzacher | 2015-12-06 14:24:45 +0100 | 
|---|---|---|
| committer | Jakob Unterwurzacher | 2015-12-06 14:24:45 +0100 | 
| commit | 71b94828edb00d3a86bbe366f49295d81f91c28c (patch) | |
| tree | 502a8a770ae57629947a4a23179f17553a0def6a | |
| parent | fc23aba65b061fab65aa7040c8928c63b3f04310 (diff) | |
init: create gocryptfs.diriv after creating gocryptfs.conf
Creating the config file can fail easily, for example if the
password is not entered the same twice. This would leave an
orphaned gocryptfs.diriv behind.
| -rw-r--r-- | cryptfs/kdf.go | 2 | ||||
| -rw-r--r-- | main.go | 13 | 
2 files changed, 8 insertions, 7 deletions
diff --git a/cryptfs/kdf.go b/cryptfs/kdf.go index db08500..9a1d81c 100644 --- a/cryptfs/kdf.go +++ b/cryptfs/kdf.go @@ -28,7 +28,7 @@ func NewScryptKdf(logN int) scryptKdf {  		s.N = 1 << SCRYPT_DEFAULT_LOGN  	} else {  		if logN < 10 { -			fmt.Printf("Error: scryptn below 10 is too low to make sense. Aborting.") +			fmt.Printf("Error: scryptn below 10 is too low to make sense. Aborting.\n")  			os.Exit(1)  		}  		s.N = 1 << uint32(logN) @@ -52,21 +52,22 @@ func initDir(args *argContainer) {  		os.Exit(ERREXIT_INIT)  	} -	// Create gocryptfs.diriv in the root dir -	err = cryptfs.WriteDirIV(args.cipherdir) +	// Create gocryptfs.conf +	cryptfs.Info.Printf("Choose a password for protecting your files.\n") +	password := readPasswordTwice(args.extpass) +	err = cryptfs.CreateConfFile(args.config, password, args.plaintextnames, args.scryptn)  	if err != nil {  		fmt.Println(err)  		os.Exit(ERREXIT_INIT)  	} -	// Create gocryptfs.conf -	cryptfs.Info.Printf("Choose a password for protecting your files.\n") -	password := readPasswordTwice(args.extpass) -	err = cryptfs.CreateConfFile(args.config, password, args.plaintextnames, args.scryptn) +	// Create gocryptfs.diriv in the root dir +	err = cryptfs.WriteDirIV(args.cipherdir)  	if err != nil {  		fmt.Println(err)  		os.Exit(ERREXIT_INIT)  	} +  	cryptfs.Info.Printf("The filesystem is now ready for mounting.\n")  	os.Exit(0)  }  | 
