From 64be5de75f42e415198ff5e77de509680b69e0e1 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sun, 19 Dec 2021 14:43:56 +0100 Subject: fusefrontend: allow slashes in xattr names xattr names have fewer restrictions than file names, relax the validation. Fixes https://github.com/rfjakob/gocryptfs/issues/627 --- internal/fusefrontend/root_node.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'internal/fusefrontend/root_node.go') diff --git a/internal/fusefrontend/root_node.go b/internal/fusefrontend/root_node.go index 7221be6..39cdef7 100644 --- a/internal/fusefrontend/root_node.go +++ b/internal/fusefrontend/root_node.go @@ -268,7 +268,7 @@ func (rn *RootNode) decryptXattrValue(cData []byte) (data []byte, err error) { // encryptXattrName transforms "user.foo" to "user.gocryptfs.a5sAd4XAa47f5as6dAf" func (rn *RootNode) encryptXattrName(attr string) (string, error) { // xattr names are encrypted like file names, but with a fixed IV. - cAttr, err := rn.nameTransform.EncryptName(attr, xattrNameIV) + cAttr, err := rn.nameTransform.EncryptXattrName(attr) if err != nil { return "", err } @@ -282,7 +282,7 @@ func (rn *RootNode) decryptXattrName(cAttr string) (attr string, err error) { } // Strip "user.gocryptfs." prefix cAttr = cAttr[len(xattrStorePrefix):] - attr, err = rn.nameTransform.DecryptName(cAttr, xattrNameIV) + attr, err = rn.nameTransform.DecryptXattrName(cAttr) if err != nil { return "", err } -- cgit v1.2.3