From d530fbd400c88fa54c856d958963d77669ac9cf2 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Mon, 1 Nov 2021 14:44:32 +0100 Subject: docs: names longer than 175 bytes (not 176) are stored in longnames Quoting fusefrontend_reverse/node_helpers.go : // File names are padded to 16-byte multiples, encrypted and // base64-encoded. We can encode at most 176 bytes to stay below the 255 // bytes limit: // * base64(176 bytes) = 235 bytes // * base64(192 bytes) = 256 bytes (over 255!) // But the PKCS#7 padding is at least one byte. This means we can only use // 175 bytes for the file name. Noticed by @bailey27 at https://github.com/rfjakob/gocryptfs/issues/499#issuecomment-955790427 --- internal/configfile/feature_flags.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'internal/configfile/feature_flags.go') diff --git a/internal/configfile/feature_flags.go b/internal/configfile/feature_flags.go index e45b20c..d6627a5 100644 --- a/internal/configfile/feature_flags.go +++ b/internal/configfile/feature_flags.go @@ -14,7 +14,7 @@ const ( // This flag is mandatory since gocryptfs v1.0, // except when XChaCha20Poly1305 is used. FlagGCMIV128 - // FlagLongNames allows file names longer than 176 bytes. + // FlagLongNames allows file names longer than 175 bytes. FlagLongNames // FlagLongNameMax sets a custom name length limit, names longer than that // will be hashed. -- cgit v1.2.3