diff options
| author | Jakob Unterwurzacher | 2016-09-28 23:30:13 +0200 | 
|---|---|---|
| committer | Jakob Unterwurzacher | 2016-09-28 23:30:13 +0200 | 
| commit | bce96b5095798521e5b4d63dc1aa2078f20aaa50 (patch) | |
| tree | 0852b51c09837486fe6ce439f0fe379324a904f0 /internal/fusefrontend_reverse | |
| parent | 35fb6583e6bc5547ec72c00edbc3f53b55587b48 (diff) | |
reverse: move newDirIVFile into virtualfile.go
After all, is's a virtual file.
Diffstat (limited to 'internal/fusefrontend_reverse')
| -rw-r--r-- | internal/fusefrontend_reverse/reverse_diriv.go | 25 | ||||
| -rw-r--r-- | internal/fusefrontend_reverse/rpath.go | 7 | ||||
| -rw-r--r-- | internal/fusefrontend_reverse/virtualfile.go | 9 | 
3 files changed, 16 insertions, 25 deletions
| diff --git a/internal/fusefrontend_reverse/reverse_diriv.go b/internal/fusefrontend_reverse/reverse_diriv.go deleted file mode 100644 index 88d0680..0000000 --- a/internal/fusefrontend_reverse/reverse_diriv.go +++ /dev/null @@ -1,25 +0,0 @@ -package fusefrontend_reverse - -import ( -	"crypto/sha256" - -	"github.com/hanwen/go-fuse/fuse" -	"github.com/hanwen/go-fuse/fuse/nodefs" - -	"github.com/rfjakob/gocryptfs/internal/nametransform" -) - -// derivePathIV derives an IV from an encrypted path by hashing it -func derivePathIV(path string) []byte { -	hash := sha256.Sum256([]byte(path)) -	return hash[:nametransform.DirIVLen] -} - -func (rfs *reverseFS) newDirIVFile(cRelPath string) (nodefs.File, fuse.Status) { -	cDir := saneDir(cRelPath) -	absDir, err := rfs.abs(rfs.decryptPath(cDir)) -	if err != nil { -		return nil, fuse.ToStatus(err) -	} -	return rfs.NewVirtualFile(derivePathIV(cDir), absDir) -} diff --git a/internal/fusefrontend_reverse/rpath.go b/internal/fusefrontend_reverse/rpath.go index 6d418e0..55fb481 100644 --- a/internal/fusefrontend_reverse/rpath.go +++ b/internal/fusefrontend_reverse/rpath.go @@ -1,6 +1,7 @@  package fusefrontend_reverse  import ( +	"crypto/sha256"  	"encoding/base64"  	"path/filepath"  	"strings" @@ -18,6 +19,12 @@ func saneDir(path string) string {  	return d  } +// derivePathIV derives an IV from an encrypted path by hashing it +func derivePathIV(path string) []byte { +	hash := sha256.Sum256([]byte(path)) +	return hash[:nametransform.DirIVLen] +} +  func (rfs *reverseFS) abs(relPath string, err error) (string, error) {  	if err != nil {  		return "", err diff --git a/internal/fusefrontend_reverse/virtualfile.go b/internal/fusefrontend_reverse/virtualfile.go index 5373b48..351cbdc 100644 --- a/internal/fusefrontend_reverse/virtualfile.go +++ b/internal/fusefrontend_reverse/virtualfile.go @@ -8,6 +8,15 @@ import (  	"github.com/hanwen/go-fuse/fuse/nodefs"  ) +func (rfs *reverseFS) newDirIVFile(cRelPath string) (nodefs.File, fuse.Status) { +	cDir := saneDir(cRelPath) +	absDir, err := rfs.abs(rfs.decryptPath(cDir)) +	if err != nil { +		return nil, fuse.ToStatus(err) +	} +	return rfs.NewVirtualFile(derivePathIV(cDir), absDir) +} +  type virtualFile struct {  	// Embed nodefs.defaultFile for a ENOSYS implementation of all methods  	nodefs.File | 
