tests: add hkdf_sanity tests with broken example filesystem
These are deliberately corrupt.
This commit is contained in:
parent
cb47f65212
commit
f1dbd19fe9
17
tests/hkdf_sanity/broken_content/gocryptfs.conf
Normal file
17
tests/hkdf_sanity/broken_content/gocryptfs.conf
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"Creator": "gocryptfs v1.2.1-32-g14038a1-dirty",
|
||||||
|
"EncryptedKey": "b3888jnQC5GYem+YGtUkOTS13/YCOfA6J0/bkftfEoNA9fZTN2xMGw4c+LK+emg4L6P2wGvm44RUqCfFfgowxw==",
|
||||||
|
"ScryptObject": {
|
||||||
|
"Salt": "7YnR8bF7TzYNP5mIwmpQ1qj4e/QZkbH92Hx7YQctIZQ=",
|
||||||
|
"N": 1024,
|
||||||
|
"R": 8,
|
||||||
|
"P": 1,
|
||||||
|
"KeyLen": 32
|
||||||
|
},
|
||||||
|
"Version": 2,
|
||||||
|
"FeatureFlags": [
|
||||||
|
"GCMIV128",
|
||||||
|
"HKDF",
|
||||||
|
"PlaintextNames"
|
||||||
|
]
|
||||||
|
}
|
BIN
tests/hkdf_sanity/broken_content/status.txt
Normal file
BIN
tests/hkdf_sanity/broken_content/status.txt
Normal file
Binary file not shown.
BIN
tests/hkdf_sanity/broken_names/L3yg-cJYAInDGg4TcjXrnw
Normal file
BIN
tests/hkdf_sanity/broken_names/L3yg-cJYAInDGg4TcjXrnw
Normal file
Binary file not shown.
20
tests/hkdf_sanity/broken_names/gocryptfs.conf
Normal file
20
tests/hkdf_sanity/broken_names/gocryptfs.conf
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"Creator": "gocryptfs v1.2.1-32-g14038a1-dirty",
|
||||||
|
"EncryptedKey": "0ymk/BtKEN1KmRLMquLinLIzXDaf+GLuP2f9R4VbLOglim9nXd5WxkCFl0DQg0J2FtCEke9MQBaCfL5OTJdR4g==",
|
||||||
|
"ScryptObject": {
|
||||||
|
"Salt": "tCrF2o5GoOyQt0LAlCWk47hyJsF5K6ID9uPzjTSBbh8=",
|
||||||
|
"N": 1024,
|
||||||
|
"R": 8,
|
||||||
|
"P": 1,
|
||||||
|
"KeyLen": 32
|
||||||
|
},
|
||||||
|
"Version": 2,
|
||||||
|
"FeatureFlags": [
|
||||||
|
"GCMIV128",
|
||||||
|
"HKDF",
|
||||||
|
"DirIV",
|
||||||
|
"EMENames",
|
||||||
|
"LongNames",
|
||||||
|
"Raw64"
|
||||||
|
]
|
||||||
|
}
|
1
tests/hkdf_sanity/broken_names/gocryptfs.diriv
Normal file
1
tests/hkdf_sanity/broken_names/gocryptfs.diriv
Normal file
@ -0,0 +1 @@
|
|||||||
|
ï%C´×xõ(E<>£!½dц
|
34
tests/hkdf_sanity/sanity_test.go
Normal file
34
tests/hkdf_sanity/sanity_test.go
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
// We test two filesystems that have the "HKDF" feature flag in their config file
|
||||||
|
// set, but the actual file contents and names are encrypted with HKDF disabled.
|
||||||
|
// This test verifies that the "HKDF" feature flag in the config file takes effect.
|
||||||
|
package hkdf_sanity
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/rfjakob/gocryptfs/tests/test_helpers"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestBrokenContent(t *testing.T) {
|
||||||
|
cDir := "broken_content"
|
||||||
|
pDir := test_helpers.TmpDir + "/" + cDir
|
||||||
|
test_helpers.MountOrFatal(t, cDir, pDir, "-extpass", "echo test", "-wpanic=false")
|
||||||
|
_, err := ioutil.ReadFile(pDir + "/status.txt")
|
||||||
|
if err == nil {
|
||||||
|
t.Error("this should fail")
|
||||||
|
}
|
||||||
|
test_helpers.UnmountPanic(pDir)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestBrokenNames(t *testing.T) {
|
||||||
|
cDir := "broken_names"
|
||||||
|
pDir := test_helpers.TmpDir + "/" + cDir
|
||||||
|
test_helpers.MountOrFatal(t, cDir, pDir, "-extpass", "echo test", "-wpanic=false")
|
||||||
|
_, err := os.Stat(pDir + "/status.txt")
|
||||||
|
if err == nil {
|
||||||
|
t.Error("this should fail")
|
||||||
|
}
|
||||||
|
test_helpers.UnmountPanic(pDir)
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user