blob: 83d1953f2c72c76b7cb5e1c467d7ecd39c3ee7cb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
package frontend
import (
"fmt"
"github.com/rfjakob/gocryptfs/cryptfs"
"github.com/rfjakob/cluefs/lib/cluefs"
fusefs "bazil.org/fuse/fs"
)
type FS struct {
*cryptfs.CryptFS
*cluefs.ClueFS
backing string
}
type nullTracer struct {}
func (nullTracer) Trace(op cluefs.FsOperTracer) {}
func NewFS(key [16]byte, backing string) *FS {
var nt nullTracer
clfs, err := cluefs.NewClueFS(backing, nt)
if err != nil {
panic(err)
}
return &FS {
CryptFS: cryptfs.NewCryptFS(key),
ClueFS: clfs,
backing: backing,
}
}
func (fs *FS) Root() (fusefs.Node, error) {
fmt.Printf("Root\n")
return NewDir("", fs.backing, fs), nil
}
|