From 3d59a72ba952602ca046df532fe2a3e8e16f1046 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Thu, 23 Jun 2016 21:56:50 +0200 Subject: Drop deprecated "-emenames" option The EMENames feature flag is already mandatory, dropping the command line option is the final step. --- internal/nametransform/names.go | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) (limited to 'internal/nametransform') diff --git a/internal/nametransform/names.go b/internal/nametransform/names.go index 8a7e260..4930488 100644 --- a/internal/nametransform/names.go +++ b/internal/nametransform/names.go @@ -4,7 +4,6 @@ package nametransform import ( "crypto/aes" - "crypto/cipher" "encoding/base64" "fmt" @@ -15,16 +14,14 @@ import ( type NameTransform struct { cryptoCore *cryptocore.CryptoCore - useEME bool longNames bool DirIVCache dirIVCache } -func New(c *cryptocore.CryptoCore, useEME bool, longNames bool) *NameTransform { +func New(c *cryptocore.CryptoCore, longNames bool) *NameTransform { return &NameTransform{ cryptoCore: c, longNames: longNames, - useEME: useEME, } } @@ -35,28 +32,18 @@ func New(c *cryptocore.CryptoCore, useEME bool, longNames bool) *NameTransform { // This function is exported because it allows for a very efficient readdir // implementation (read IV once, decrypt all names using this function). func (n *NameTransform) DecryptName(cipherName string, iv []byte) (string, error) { - bin, err := base64.URLEncoding.DecodeString(cipherName) if err != nil { return "", err } - if len(bin)%aes.BlockSize != 0 { return "", fmt.Errorf("Decoded length %d is not a multiple of the AES block size", len(bin)) } - - if n.useEME { - bin = eme.Transform(n.cryptoCore.BlockCipher, iv, bin, eme.DirectionDecrypt) - } else { - cbc := cipher.NewCBCDecrypter(n.cryptoCore.BlockCipher, iv) - cbc.CryptBlocks(bin, bin) - } - + bin = eme.Transform(n.cryptoCore.BlockCipher, iv, bin, eme.DirectionDecrypt) bin, err = unPad16(bin) if err != nil { return "", err } - plain := string(bin) return plain, err } @@ -68,17 +55,9 @@ func (n *NameTransform) DecryptName(cipherName string, iv []byte) (string, error // This function is exported because fusefrontend needs access to the full (not hashed) // name if longname is used. Otherwise you should use EncryptPathDirIV() func (n *NameTransform) EncryptName(plainName string, iv []byte) (cipherName64 string) { - bin := []byte(plainName) bin = pad16(bin) - - if n.useEME { - bin = eme.Transform(n.cryptoCore.BlockCipher, iv, bin, eme.DirectionEncrypt) - } else { - cbc := cipher.NewCBCEncrypter(n.cryptoCore.BlockCipher, iv) - cbc.CryptBlocks(bin, bin) - } - + bin = eme.Transform(n.cryptoCore.BlockCipher, iv, bin, eme.DirectionEncrypt) cipherName64 = base64.URLEncoding.EncodeToString(bin) return cipherName64 } -- cgit v1.2.3