Skip to content

Commit

Permalink
vfs: Add link permissions
Browse files Browse the repository at this point in the history
  • Loading branch information
pasnox authored and ncw committed Dec 13, 2024
1 parent 126f008 commit 353bc31
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions vfs/vfscommon/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,11 @@ var OptionsInfo = fs.Options{{
Default: FileMode(0666),
Help: "File permissions",
Groups: "VFS",
}, {
Name: "link_perms",
Default: FileMode(0666),
Help: "Link permissions",
Groups: "VFS",
}, {
Name: "vfs_case_insensitive",
Default: runtime.GOOS == "windows" || runtime.GOOS == "darwin", // default to true on Windows and Mac, false otherwise,
Expand Down Expand Up @@ -181,6 +186,7 @@ type Options struct {
GID uint32 `config:"gid"`
DirPerms FileMode `config:"dir_perms"`
FilePerms FileMode `config:"file_perms"`
LinkPerms FileMode `config:"link_perms"`
ChunkSize fs.SizeSuffix `config:"vfs_read_chunk_size"` // if > 0 read files in chunks
ChunkSizeLimit fs.SizeSuffix `config:"vfs_read_chunk_size_limit"` // if > ChunkSize double the chunk size after each chunk until reached
ChunkStreams int `config:"vfs_read_chunk_streams"` // Number of download streams to use
Expand Down Expand Up @@ -208,7 +214,11 @@ func (opt *Options) Init() {
// Mask the permissions with the umask
opt.DirPerms &= ^opt.Umask
opt.FilePerms &= ^opt.Umask
opt.LinkPerms &= ^opt.Umask

// Make sure directories are returned as directories
opt.DirPerms |= FileMode(os.ModeDir)

// Make sure links are returned as links
opt.LinkPerms |= FileMode(os.ModeSymlink)
}

0 comments on commit 353bc31

Please sign in to comment.