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/nametransform/names_test.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'internal/nametransform/names_test.go') diff --git a/internal/nametransform/names_test.go b/internal/nametransform/names_test.go index b4e98d4..3c26c43 100644 --- a/internal/nametransform/names_test.go +++ b/internal/nametransform/names_test.go @@ -75,3 +75,26 @@ func TestIsValidName(t *testing.T) { } } } + +func TestIsValidXattrName(t *testing.T) { + cases := []struct { + in string + want bool + }{ + {"", false}, + {".", true}, + {"..", true}, + {"...", true}, + {"asdasd/asdasd", true}, + {"asdasd\000asdasd", false}, + {"hello", true}, + {strings.Repeat("x", 255), true}, + {strings.Repeat("x", 256), true}, + } + for _, c := range cases { + have := isValidXattrName(c.in) + if (have == nil) != c.want { + t.Errorf("isValidXattrName(%q): want %v have %v", c.in, c.want, have) + } + } +} -- cgit v1.2.3