aboutsummaryrefslogtreecommitdiff
path: root/cryptfs/names_diriv.go
diff options
context:
space:
mode:
Diffstat (limited to 'cryptfs/names_diriv.go')
-rw-r--r--cryptfs/names_diriv.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/cryptfs/names_diriv.go b/cryptfs/names_diriv.go
index c9debab..1415bcb 100644
--- a/cryptfs/names_diriv.go
+++ b/cryptfs/names_diriv.go
@@ -21,6 +21,15 @@ func (be *CryptFS) readDirIV(dir string) (iv []byte, err error) {
return iv, nil
}
+// WriteDirIV - create diriv file inside "dir" (absolute path)
+// This function is exported because it is used from pathfs_frontend
+func (be *CryptFS) WriteDirIV(dir string) error {
+ iv := RandBytes(DIRIV_LEN)
+ file := filepath.Join(dir, DIRIV_FILENAME)
+ // 0444 permissions: the file is not secret but should not be written to
+ return ioutil.WriteFile(file, iv, 0444)
+}
+
// EncryptPathDirIV - encrypt path using CBC with DirIV
func (be *CryptFS) EncryptPathDirIV(plainPath string, rootDir string) (string, error) {
if be.plaintextNames {