summaryrefslogtreecommitdiff
path: root/internal/nametransform/names_noiv.go
diff options
context:
space:
mode:
authorJakob Unterwurzacher2016-06-16 19:02:47 +0200
committerJakob Unterwurzacher2016-06-16 19:02:47 +0200
commit7e92ebe16a7735b29e0fdc62d4b5d49ce0dc2b66 (patch)
treec38b46c98ec73ea6ee48b3e6ab9569f249200e81 /internal/nametransform/names_noiv.go
parent6c3f97399a01a2d8480b39978209099335efbf7d (diff)
Rename nametransform, contentenc source files
Let's have shorter names, and merge *_api.go into the "main" file. No code changes.
Diffstat (limited to 'internal/nametransform/names_noiv.go')
-rw-r--r--internal/nametransform/names_noiv.go63
1 files changed, 0 insertions, 63 deletions
diff --git a/internal/nametransform/names_noiv.go b/internal/nametransform/names_noiv.go
deleted file mode 100644
index f1009e4..0000000
--- a/internal/nametransform/names_noiv.go
+++ /dev/null
@@ -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
-}