aboutsummaryrefslogtreecommitdiff
path: root/internal/fusefrontend_reverse/rpath.go
diff options
context:
space:
mode:
authorJakob Unterwurzacher2016-09-25 18:01:24 +0200
committerJakob Unterwurzacher2016-09-25 18:01:24 +0200
commitb883dd10a62eb8d7ddf589e2878d8e0f65a90e83 (patch)
treebd500c18f8c7bd8095617011eb0ea3dace11ac5c /internal/fusefrontend_reverse/rpath.go
parent12808138ef105824de97924a585ad66bacb3a18b (diff)
reverse: add symlink encryption and Readlink support
Diffstat (limited to 'internal/fusefrontend_reverse/rpath.go')
-rw-r--r--internal/fusefrontend_reverse/rpath.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/internal/fusefrontend_reverse/rpath.go b/internal/fusefrontend_reverse/rpath.go
index c603cad..6d418e0 100644
--- a/internal/fusefrontend_reverse/rpath.go
+++ b/internal/fusefrontend_reverse/rpath.go
@@ -47,6 +47,12 @@ func (rfs *reverseFS) decryptPath(relPath string) (string, error) {
if _, ok := err.(base64.CorruptInputError); ok {
return "", syscall.ENOENT
}
+ // Stat attempts on the link target of encrypted symlinks.
+ // These are always valid base64 but the length is not a
+ // multiple of 16.
+ if err == syscall.EINVAL {
+ return "", syscall.ENOENT
+ }
return "", err
}
} else if nameType == nametransform.LongNameContent {