From 9ec042f2f62bc95154d6c8b3215a2e7853f8f5c6 Mon Sep 17 00:00:00 2001 From: orcas Date: Sun, 15 Sep 2019 00:32:54 +0800 Subject: Show undecryptable filenames if they match supplied glob Resolves https://github.com/rfjakob/gocryptfs/issues/393 --- mount.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'mount.go') diff --git a/mount.go b/mount.go index 5107bee..6d9dd8f 100644 --- a/mount.go +++ b/mount.go @@ -286,6 +286,17 @@ func initFuseFrontend(args *argContainer) (pfs pathfs.FileSystem, wipeKeys func( cCore := cryptocore.New(masterkey, cryptoBackend, contentenc.DefaultIVBits, args.hkdf, args.forcedecode) cEnc := contentenc.New(cCore, contentenc.DefaultBS, args.forcedecode) nameTransform := nametransform.New(cCore.EMECipher, frontendArgs.LongNames, args.raw64) + // Init badname patterns + nameTransform.BadnamePatterns = make([]string, 0) + for _, pattern := range args.badname { + _, err := filepath.Match(pattern, "") // Make sure pattern is valid + if err != nil { + tlog.Fatal.Printf("-badname: invalid pattern %q supplied", pattern) + os.Exit(exitcodes.Usage) + } else { + nameTransform.BadnamePatterns = append(nameTransform.BadnamePatterns, pattern) + } + } // After the crypto backend is initialized, // we can purge the master key from memory. for i := range masterkey { -- cgit v1.2.3