aboutsummaryrefslogtreecommitdiff
path: root/internal/fusefrontend_reverse/rpath.go
diff options
context:
space:
mode:
authorJakob Unterwurzacher2020-08-15 16:08:16 +0200
committerJakob Unterwurzacher2020-08-15 16:08:16 +0200
commit15b0b4a5fd268b421ddc347e4417b2538a540922 (patch)
tree5969cdd448bb3c105f15fe90b6f768d4be52bd1c /internal/fusefrontend_reverse/rpath.go
parentf270135c1614843f43a9df0e68b6e3fa556b6774 (diff)
v2api/reverse: start wiring up -exclude functionality
Exclude in readdir is missing.
Diffstat (limited to 'internal/fusefrontend_reverse/rpath.go')
-rw-r--r--internal/fusefrontend_reverse/rpath.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/fusefrontend_reverse/rpath.go b/internal/fusefrontend_reverse/rpath.go
index 2ac65be..1e44638 100644
--- a/internal/fusefrontend_reverse/rpath.go
+++ b/internal/fusefrontend_reverse/rpath.go
@@ -109,6 +109,10 @@ func (rn *RootNode) openBackingDir(cPath string) (dirfd int, pName string, err e
if err != nil {
return
}
+ if rn.isExcludedPlain(pRelPath) {
+ err = syscall.EPERM
+ return
+ }
// Open directory, safe against symlink races
pDir := filepath.Dir(pRelPath)
dirfd, err = syscallcompat.OpenDirNofollow(rn.args.Cipherdir, pDir)