From 3cd18f288f487f0dfc8bd8de1288ed3b92cc5ca5 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sat, 1 Apr 2017 14:17:54 +0200 Subject: [PATCH] fusefrontend_reverse: add comment to newVirtualFile ...and improve and comment variable naming in findLongnameParent. No semantic changes. --- internal/fusefrontend_reverse/reverse_longnames.go | 10 ++++++---- internal/fusefrontend_reverse/virtualfile.go | 4 ++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/internal/fusefrontend_reverse/reverse_longnames.go b/internal/fusefrontend_reverse/reverse_longnames.go index f1c45ca..0830298 100644 --- a/internal/fusefrontend_reverse/reverse_longnames.go +++ b/internal/fusefrontend_reverse/reverse_longnames.go @@ -84,18 +84,20 @@ func (rfs *ReverseFS) findLongnameParent(dir string, dirIV []byte, longname stri func (rfs *ReverseFS) newNameFile(relPath string) (nodefs.File, fuse.Status) { dotName := filepath.Base(relPath) // gocryptfs.longname.XYZ.name longname := dotName[:len(dotName)-len(nametransform.LongNameSuffix)] // gocryptfs.longname.XYZ - + // cipher directory cDir := saneDir(relPath) + // plain directory pDir, err := rfs.decryptPath(cDir) if err != nil { return nil, fuse.ToStatus(err) } dirIV := derivePathIV(cDir, ivPurposeDirIV) - e, err := rfs.findLongnameParent(pDir, dirIV, longname) + // plain name + pName, err := rfs.findLongnameParent(pDir, dirIV, longname) if err != nil { return nil, fuse.ToStatus(err) } - content := []byte(rfs.nameTransform.EncryptName(e, dirIV)) - parentFile := filepath.Join(rfs.args.Cipherdir, pDir, e) + content := []byte(rfs.nameTransform.EncryptName(pName, dirIV)) + parentFile := filepath.Join(rfs.args.Cipherdir, pDir, pName) return rfs.newVirtualFile(content, parentFile) } diff --git a/internal/fusefrontend_reverse/virtualfile.go b/internal/fusefrontend_reverse/virtualfile.go index 04de634..d5c4491 100644 --- a/internal/fusefrontend_reverse/virtualfile.go +++ b/internal/fusefrontend_reverse/virtualfile.go @@ -28,6 +28,10 @@ type virtualFile struct { ino uint64 } +// newVirtualFile creates a new in-memory file that does not have a representation +// on disk. "content" is the file content. Timestamps and file owner are copied +// from "parentFile" (absolute plaintext path). For a "gocryptfs.diriv" file, you +// would use the parent directory as "parentFile". func (rfs *ReverseFS) newVirtualFile(content []byte, parentFile string) (nodefs.File, fuse.Status) { return &virtualFile{ File: nodefs.NewDefaultFile(),