diff options
author | Jakob Unterwurzacher | 2016-01-22 21:39:16 +0100 |
---|---|---|
committer | Jakob Unterwurzacher | 2016-01-22 21:39:16 +0100 |
commit | 505fef5a3c514b1cfaa545ebeaa49127a6ec862e (patch) | |
tree | b6d2a180fadbecb24e53e740fdb9bfe505de34f7 /cryptfs/gcm_go1.4.go | |
parent | cec2da3e3391e382d9c24fc85324893e85ce2088 (diff) |
renamed: cryptfs/gcm_go14.go -> cryptfs/gcm_go1.4.go
renamed: cryptfs/gcm_go15.go -> cryptfs/gcm_go1.5.go
Diffstat (limited to 'cryptfs/gcm_go1.4.go')
-rw-r--r-- | cryptfs/gcm_go1.4.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/cryptfs/gcm_go1.4.go b/cryptfs/gcm_go1.4.go new file mode 100644 index 0000000..0a2ff49 --- /dev/null +++ b/cryptfs/gcm_go1.4.go @@ -0,0 +1,22 @@ +// +build !go1.5 +// = go 1.4 or lower + +package cryptfs + +import ( + "crypto/cipher" + "fmt" +) + +// 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.") + Warn.Printf("Please use openssl crypto or recompile using a newer Go runtime.") + return nil, fmt.Errorf("128 bit GCM IVs are not supported by Go 1.4 and lower") + } + return cipher.NewGCM(bc) +} |