diff options
| -rw-r--r-- | cmd/fscrypt/commands.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cmd/fscrypt/commands.go b/cmd/fscrypt/commands.go index 6a25fda..9ebcc27 100644 --- a/cmd/fscrypt/commands.go +++ b/cmd/fscrypt/commands.go @@ -539,8 +539,10 @@ func isPossibleNoKeyName(filename string) bool { if len(filename) < 22 { return false } - // No-key names contain only base64 characters and underscore. - validChars := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+,_" + // On the latest kernels, no-key names contain only base64url characters + // (A-Z, a-z, 0-9, -, and _). On older kernels, the + and , characters + // were used too. Allow all of these characters. + validChars := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_+," for _, char := range filename { if !strings.ContainsRune(validChars, char) { return false |