diff options
Diffstat (limited to 'internal/fusefrontend_reverse')
-rw-r--r-- | internal/fusefrontend_reverse/ino_map.go | 2 | ||||
-rw-r--r-- | internal/fusefrontend_reverse/reverse_longnames.go | 4 | ||||
-rw-r--r-- | internal/fusefrontend_reverse/rfile.go | 10 | ||||
-rw-r--r-- | internal/fusefrontend_reverse/rfs.go | 9 |
4 files changed, 14 insertions, 11 deletions
diff --git a/internal/fusefrontend_reverse/ino_map.go b/internal/fusefrontend_reverse/ino_map.go index 5217732..9412343 100644 --- a/internal/fusefrontend_reverse/ino_map.go +++ b/internal/fusefrontend_reverse/ino_map.go @@ -4,7 +4,7 @@ import ( "sync/atomic" ) -func NewInoGen() *inoGenT { +func newInoGen() *inoGenT { var ino uint64 = 1 return &inoGenT{&ino} } diff --git a/internal/fusefrontend_reverse/reverse_longnames.go b/internal/fusefrontend_reverse/reverse_longnames.go index b3d21c9..5ad95b1 100644 --- a/internal/fusefrontend_reverse/reverse_longnames.go +++ b/internal/fusefrontend_reverse/reverse_longnames.go @@ -70,9 +70,9 @@ func (rfs *reverseFS) findLongnameParent(dir string, dirIV []byte, longname stri } if hit == "" { return "", syscall.ENOENT - } else { - return hit, nil } + + return hit, nil } func (rfs *reverseFS) newNameFile(relPath string) (nodefs.File, fuse.Status) { diff --git a/internal/fusefrontend_reverse/rfile.go b/internal/fusefrontend_reverse/rfile.go index 2656b7b..5606e70 100644 --- a/internal/fusefrontend_reverse/rfile.go +++ b/internal/fusefrontend_reverse/rfile.go @@ -39,7 +39,7 @@ func (rfs *reverseFS) NewFile(relPath string, flags uint32) (nodefs.File, fuse.S id := derivePathIV(relPath, ivPurposeFileID) header := contentenc.FileHeader{ Version: contentenc.CurrentVersion, - Id: id, + ID: id, } return &reverseFile{ File: nodefs.NewDefaultFile(), @@ -58,7 +58,7 @@ func (rf *reverseFile) GetAttr(*fuse.Attr) fuse.Status { // encryptBlocks - encrypt "plaintext" into a number of ciphertext blocks. // "plaintext" must already be block-aligned. -func (rf *reverseFile) encryptBlocks(plaintext []byte, firstBlockNo uint64, fileId []byte, block0IV []byte) []byte { +func (rf *reverseFile) encryptBlocks(plaintext []byte, firstBlockNo uint64, fileID []byte, block0IV []byte) []byte { nonce := make([]byte, len(block0IV)) copy(nonce, block0IV) block0IVlow := binary.BigEndian.Uint64(block0IV[8:]) @@ -70,7 +70,7 @@ func (rf *reverseFile) encryptBlocks(plaintext []byte, firstBlockNo uint64, file for blockNo := firstBlockNo; inBuf.Len() > 0; blockNo++ { binary.BigEndian.PutUint64(nonceLow, block0IVlow+blockNo) inBlock := inBuf.Next(bs) - outBlock := rf.contentEnc.EncryptBlockNonce(inBlock, blockNo, fileId, nonce) + outBlock := rf.contentEnc.EncryptBlockNonce(inBlock, blockNo, fileID, nonce) outBuf.Write(outBlock) } return outBuf.Bytes() @@ -95,7 +95,7 @@ func (rf *reverseFile) readBackingFile(off uint64, length uint64) (out []byte, e plaintext = plaintext[0:n] // Encrypt blocks - ciphertext := rf.encryptBlocks(plaintext, blocks[0].BlockNo, rf.header.Id, rf.block0IV) + ciphertext := rf.encryptBlocks(plaintext, blocks[0].BlockNo, rf.header.ID, rf.block0IV) // Crop down to the relevant part lenHave := len(ciphertext) @@ -118,7 +118,7 @@ func (rf *reverseFile) Read(buf []byte, ioff int64) (resultData fuse.ReadResult, var header []byte // Synthesize file header - if off < contentenc.HEADER_LEN { + if off < contentenc.HeaderLen { header = rf.header.Pack() // Truncate to requested part end := int(off) + len(buf) diff --git a/internal/fusefrontend_reverse/rfs.go b/internal/fusefrontend_reverse/rfs.go index e49807b..ab65ba3 100644 --- a/internal/fusefrontend_reverse/rfs.go +++ b/internal/fusefrontend_reverse/rfs.go @@ -20,6 +20,7 @@ import ( ) const ( + // DirIVMode is the mode to use for Dir IV files. DirIVMode = syscall.S_IFREG | 0400 ) @@ -42,8 +43,10 @@ type reverseFS struct { inoMapLock sync.Mutex } -// Encrypted FUSE overlay filesystem -func NewFS(args fusefrontend.Args) *reverseFS { +var _ pathfs.FileSystem = &reverseFS{} + +// NewFS returns an encrypted FUSE overlay filesystem +func NewFS(args fusefrontend.Args) pathfs.FileSystem { cryptoCore := cryptocore.New(args.Masterkey, args.CryptoBackend, contentenc.DefaultIVBits) contentEnc := contentenc.New(cryptoCore, contentenc.DefaultBS) nameTransform := nametransform.New(cryptoCore, args.LongNames) @@ -55,7 +58,7 @@ func NewFS(args fusefrontend.Args) *reverseFS { args: args, nameTransform: nameTransform, contentEnc: contentEnc, - inoGen: NewInoGen(), + inoGen: newInoGen(), inoMap: map[devIno]uint64{}, } } |