aboutsummaryrefslogtreecommitdiff
path: root/pathfs_frontend/names.go
diff options
context:
space:
mode:
authorJakob Unterwurzacher2015-11-27 23:34:55 +0100
committerJakob Unterwurzacher2015-11-28 18:38:06 +0100
commitfe7355f9ee4ae8e52a9b76202e90032d78824f21 (patch)
treeffa2eed00a684b9985a249654e72bba3f82710db /pathfs_frontend/names.go
parentb3d96b6a208e7679a0e7dc936d76bcec271ecddf (diff)
diriv: use "DirIV" flag to discern and support mounting old filesystems
Diffstat (limited to 'pathfs_frontend/names.go')
-rw-r--r--pathfs_frontend/names.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/pathfs_frontend/names.go b/pathfs_frontend/names.go
index 9c6e010..122b3dd 100644
--- a/pathfs_frontend/names.go
+++ b/pathfs_frontend/names.go
@@ -1,14 +1,24 @@
package pathfs_frontend
-// This file handles filename encryption
+// This file forwards file encryption operations to cryptfs
+
+import (
+ "github.com/rfjakob/gocryptfs/cryptfs"
+)
func (fs *FS) encryptPath(plainPath string) (string, error) {
+ if !fs.dirIV {
+ return fs.CryptFS.TranslatePathZeroIV(plainPath, cryptfs.OpEncrypt)
+ }
fs.dirIVLock.RLock()
defer fs.dirIVLock.RUnlock()
return fs.CryptFS.EncryptPathDirIV(plainPath, fs.backingDir)
}
func (fs *FS) decryptPath(cipherPath string) (string, error) {
+ if !fs.dirIV {
+ return fs.CryptFS.TranslatePathZeroIV(cipherPath, cryptfs.OpDecrypt)
+ }
fs.dirIVLock.RLock()
defer fs.dirIVLock.RUnlock()
return fs.CryptFS.DecryptPathDirIV(cipherPath, fs.backingDir)