diff options
| author | Jakob Unterwurzacher | 2018-11-04 21:29:17 +0100 | 
|---|---|---|
| committer | Jakob Unterwurzacher | 2019-01-01 16:24:25 +0100 | 
| commit | de3a2c189578f7636c39fde44fbe1da9c78b367e (patch) | |
| tree | 7d7aab2a7074a51b1a7832560741a9eced72c63c /internal/fusefrontend | |
| parent | 8586a8382561e3bcac65f4bfd0ef0694e6e11245 (diff) | |
fusefrontend: mark a few more functions as symlink-safe / unsafe
Diffstat (limited to 'internal/fusefrontend')
| -rw-r--r-- | internal/fusefrontend/names.go | 5 | ||||
| -rw-r--r-- | internal/fusefrontend/xattr.go | 2 | 
2 files changed, 7 insertions, 0 deletions
| diff --git a/internal/fusefrontend/names.go b/internal/fusefrontend/names.go index 5ec252b..6997177 100644 --- a/internal/fusefrontend/names.go +++ b/internal/fusefrontend/names.go @@ -33,6 +33,8 @@ func (fs *FS) isFiltered(path string) bool {  // GetBackingPath - get the absolute encrypted path of the backing file  // from the relative plaintext path "relPath" +// +// TODO: this function is NOT symlink-safe.  func (fs *FS) getBackingPath(relPath string) (string, error) {  	cPath, err := fs.encryptPath(relPath)  	if err != nil { @@ -96,6 +98,9 @@ func (fs *FS) openBackingDir(relPath string) (dirfd int, cName string, err error  }  // encryptPath - encrypt relative plaintext path +// +// TODO: this function is NOT symlink-safe because EncryptPathDirIV is not +// symlink-safe.  func (fs *FS) encryptPath(plainPath string) (string, error) {  	if plainPath != "" { // Empty path gets encrypted all the time without actual file accesses.  		fs.AccessedSinceLastCheck = 1 diff --git a/internal/fusefrontend/xattr.go b/internal/fusefrontend/xattr.go index 2fd51a3..81cb207 100644 --- a/internal/fusefrontend/xattr.go +++ b/internal/fusefrontend/xattr.go @@ -24,6 +24,7 @@ var xattrNameIV = []byte("xattr_name_iv_xx")  var xattrStorePrefix = "user.gocryptfs."  // GetXAttr - FUSE call. Reads the value of extended attribute "attr". +//  // TODO: Make symlink-safe. Blocker: package xattr does not provide fgetxattr(2).  func (fs *FS) GetXAttr(path string, attr string, context *fuse.Context) ([]byte, fuse.Status) {  	if fs.isFiltered(path) { @@ -86,6 +87,7 @@ func (fs *FS) RemoveXAttr(path string, attr string, context *fuse.Context) fuse.  }  // ListXAttr - FUSE call. Lists extended attributes on the file at "path". +//  // TODO: Make symlink-safe. Blocker: package xattr does not provide  // flistxattr(2).  func (fs *FS) ListXAttr(path string, context *fuse.Context) ([]string, fuse.Status) { | 
