From a6a7b424f8e8a0f8ddd1c94b7463250ef1337811 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Thu, 22 Sep 2016 23:28:11 +0200 Subject: reverse: resolve long names in Open and GetAttr The last patch added functionality for generating gocryptfs.longname.* files, this patch adds support for mapping them back to the full filenames. Note that resolving a long name needs a full readdir. A cache will be implemented later on to improve performance. --- internal/nametransform/longnames.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'internal/nametransform') diff --git a/internal/nametransform/longnames.go b/internal/nametransform/longnames.go index cf7f34c..e61e21b 100644 --- a/internal/nametransform/longnames.go +++ b/internal/nametransform/longnames.go @@ -31,9 +31,14 @@ func HashLongName(name string) string { // Values returned by IsLongName const ( - LongNameContent = iota + // File that stores the file content. + // Example: gocryptfs.longname.URrM8kgxTKYMgCk4hKk7RO9Lcfr30XQof4L_5bD9Iro= + LongNameContent = iota + // File that stores the full encrypted filename. + // Example: gocryptfs.longname.URrM8kgxTKYMgCk4hKk7RO9Lcfr30XQof4L_5bD9Iro=.name LongNameFilename = iota - LongNameNone = iota + // Example: i1bpTaVLZq7sRNA9mL_2Ig== + LongNameNone = iota ) // NameType - detect if cName is -- cgit v1.2.3