blob: 02ffddba80ab248cc3f4de080063d2b43066869d (
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
package fusefrontend
import (
"github.com/hanwen/go-fuse/v2/fuse"
)
// Args is a container for arguments that are passed from main() to fusefrontend
type Args struct {
// Cipherdir is the backing storage directory (absolute path).
// For reverse mode, Cipherdir actually contains *plaintext* files.
Cipherdir string
PlaintextNames bool
LongNames bool
// Should we chown a file after it has been created?
// This only makes sense if (1) allow_other is set and (2) we run as root.
PreserveOwner bool
// Should we force ownership to be presented with a given user and group?
// This only makes sense if allow_other is set. In *most* cases, it also
// only makes sense with PreserveOwner set, but can also make sense without
// PreserveOwner if the underlying filesystem acting as backing store
// enforces ownership itself.
ForceOwner *fuse.Owner
// ConfigCustom is true when the user select a non-default config file
// location. If it is false, reverse mode maps ".gocryptfs.reverse.conf"
// to "gocryptfs.conf" in the plaintext dir.
ConfigCustom bool
// NoPrealloc disables automatic preallocation before writing
NoPrealloc bool
// Try to serialize read operations, "-serialize_reads"
SerializeReads bool
// Force decode even if integrity check fails (openSSL only)
ForceDecode bool
// Exclude is a list of paths to make inaccessible, starting match at
// the filesystem root
Exclude []string
// ExcludeWildcards is a list of paths to make inaccessible, matched
// anywhere, and supporting wildcards
ExcludeWildcard []string
// ExcludeFrom is a list of files from which to read exclusion patterns
// (with wildcard syntax)
ExcludeFrom []string
// Suid is true if the filesystem has been mounted with the "-suid" flag.
// If it is false, we can ignore the GETXATTR "security.capability" calls,
// which are a performance problem for writes. See
// https://github.com/rfjakob/gocryptfs/issues/515 for details.
Suid bool
// Enable the FUSE kernel_cache option
KernelCache bool
// SharedStorage disables caching & hard link tracking,
// enabled via cli flag "-sharedstorage"
SharedStorage bool
// OneFileSystem disables crossing filesystem boundaries,
// like rsync's `--one-file-system` does.
// Only applicable to reverse mode.
OneFileSystem bool
// ZeroDirIV creates diriv files as all-zero files
ZeroDirIV bool
}
|