nametransform: drop unused noiv functions

As DirIV is now mandatory there is no user for the noiv functions.
This commit is contained in:
Jakob Unterwurzacher 2016-06-23 21:33:05 +02:00
parent b17f0465c7
commit e970b1fdb5
2 changed files with 0 additions and 87 deletions

View File

@ -3,32 +3,8 @@ package nametransform
import (
"bytes"
"testing"
"github.com/rfjakob/gocryptfs/internal/cryptocore"
)
func TestEncryptPathNoIV(t *testing.T) {
var s []string
s = append(s, "foo")
s = append(s, "foo12312312312312312313123123123")
s = append(s, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890")
key := make([]byte, cryptocore.KeyLen)
cc := cryptocore.New(key, true, true)
fs := New(cc, true, false)
for _, n := range s {
c := fs.EncryptPathNoIV(n)
d, err := fs.DecryptPathNoIV(c)
if err != nil {
t.Errorf("Got error from DecryptPathNoIV: %s", err)
}
if d != n {
t.Errorf("Content mismatch, n != d: n=%s c=%s d=%s", n, c, d)
}
}
}
func TestPad16(t *testing.T) {
var s [][]byte
s = append(s, []byte("foo"))

View File

@ -1,63 +0,0 @@
package nametransform
import (
"strings"
)
const (
OpEncrypt = iota
OpDecrypt
)
// DecryptPathNoIV - decrypt path using CBC without any IV.
// This function is deprecated by the the more secure DirIV variant and only retained
// for compatability with old filesystems.
func (be *NameTransform) DecryptPathNoIV(cipherPath string) (plainPath string, err error) {
plainPath, err = be.translatePathNoIV(cipherPath, OpDecrypt)
return plainPath, err
}
// EncryptPathNoIV - decrypt path using CBC without any IV.
// This function is deprecated by the the more secure DirIV variant and only retained
// for compatability with old filesystems.
func (be *NameTransform) EncryptPathNoIV(plainPath string) (cipherPath string) {
cipherPath, _ = be.translatePathNoIV(plainPath, OpEncrypt)
return cipherPath
}
// translatePathZeroIV - encrypt or decrypt path using CBC with an all-zero IV.
// Just splits the string on "/" and hands the parts to encryptName() / decryptName()
func (be *NameTransform) translatePathNoIV(path string, op int) (string, error) {
var err error
// Empty string means root directory
if path == "" {
return path, err
}
zeroIV := make([]byte, dirIVLen)
// Run operation on each path component
var translatedParts []string
parts := strings.Split(path, "/")
for _, part := range parts {
if part == "" {
// This happens on "/foo/bar/" on the front and on the end.
// Don't panic.
translatedParts = append(translatedParts, "")
continue
}
var newPart string
if op == OpEncrypt {
newPart = be.EncryptName(part, zeroIV)
} else {
newPart, err = be.DecryptName(part, zeroIV)
if err != nil {
return "", err
}
}
translatedParts = append(translatedParts, newPart)
}
return strings.Join(translatedParts, "/"), err
}