diff options
author | Jakob Unterwurzacher | 2015-12-10 20:52:59 +0100 |
---|---|---|
committer | Jakob Unterwurzacher | 2015-12-10 20:55:09 +0100 |
commit | 78cd97c5e9de221a6cd2ddfcaaa2c1f1f430d264 (patch) | |
tree | 82668516f0e2b9156afc0dc6ec3f0b28a9e2de82 /cryptfs/gcm_go14.go | |
parent | 61ee2271c454047781afad6ded2e17e6efe20113 (diff) |
Wrap NewGCMWithNonceSize() to enable compilation on Go 1.4
Diffstat (limited to 'cryptfs/gcm_go14.go')
-rw-r--r-- | cryptfs/gcm_go14.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/cryptfs/gcm_go14.go b/cryptfs/gcm_go14.go new file mode 100644 index 0000000..4629df3 --- /dev/null +++ b/cryptfs/gcm_go14.go @@ -0,0 +1,21 @@ +// +build !go1.5 + +package cryptfs + +import ( + "fmt" + "crypto/cipher" +) + +// goGCMWrapper - This wrapper makes sure gocryptfs can be compiled on Go +// versions 1.4 and lower that lack NewGCMWithNonceSize(). +// 128 bit GCM IVs will not work when using built-in Go crypto, obviously, when +// compiled on 1.4. +func goGCMWrapper(bc cipher.Block, nonceSize int) (cipher.AEAD, error){ + if nonceSize != 12 { + Warn.Printf("128 bit GCM IVs are not supported by Go 1.4 and lower.\n") + Warn.Printf("Please use openssl crypto or recompile using a newer Go runtime.\n") + return nil, fmt.Errorf("128 bit GCM IVs are not supported by Go 1.4 and lower") + } + return cipher.NewGCM(bc) +} |