diff options
author | Jakob Unterwurzacher | 2015-10-03 13:34:33 +0200 |
---|---|---|
committer | Jakob Unterwurzacher | 2015-10-03 13:34:33 +0200 |
commit | 38bf8a2fcfe0b7260c08d49ed04c9667871f0992 (patch) | |
tree | f787ce0acc977ffb4e7fa2c034087f7df31911ee /cryptfs/cryptfs.go | |
parent | 3fef613591b6831d0ebc8bd2aff4264346a1d047 (diff) |
Implement file hole passtrough
Fixes xfstests generic/010
Note that file holes are not authenticated,
Diffstat (limited to 'cryptfs/cryptfs.go')
-rw-r--r-- | cryptfs/cryptfs.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/cryptfs/cryptfs.go b/cryptfs/cryptfs.go index 6380a92..71ec996 100644 --- a/cryptfs/cryptfs.go +++ b/cryptfs/cryptfs.go @@ -20,6 +20,8 @@ type CryptFS struct { gcm cipher.AEAD plainBS uint64 cipherBS uint64 + // Stores an all-zero block of size cipherBS + allZeroBlock []byte } func NewCryptFS(key []byte, useOpenssl bool) *CryptFS { @@ -45,11 +47,14 @@ func NewCryptFS(key []byte, useOpenssl bool) *CryptFS { } } + cipherBS := DEFAULT_PLAINBS + NONCE_LEN + AUTH_TAG_LEN + return &CryptFS{ blockCipher: b, gcm: gcm, plainBS: DEFAULT_PLAINBS, - cipherBS: DEFAULT_PLAINBS + NONCE_LEN + AUTH_TAG_LEN, + cipherBS: uint64(cipherBS), + allZeroBlock: make([]byte, cipherBS), } } |