| Age | Commit message (Collapse) | Author | 
 | 
This makes it easier to use the package in external projects.
See https://github.com/rfjakob/gocryptfs/issues/79
 | 
 | 
 | 
 | 
A crypto benchmark mode like "openssl speed".
Example run:
  $ ./gocryptfs -speed
  AES-GCM-256-OpenSSL 	 180.89 MB/s	(selected in auto mode)
  AES-GCM-256-Go      	  48.19 MB/s
  AES-SIV-512-Go      	  37.40 MB/s
 | 
 | 
Also, always call build-without-openssl.bash from test.bash.
Failure was:
  internal/stupidgcm/without_openssl.go:29: missing return at end of function
 | 
 | 
We want all panics to show up in the syslog.
 | 
 | 
 | 
 | 
 | 
 | 
Build helper script: build-without-openssl.bash
 | 
 | 
GCM-SIV is not yet finalized, and the reference implemenation is
painfully slow at about 2 MB/s. Switch to AES-SIV.
 | 
 | 
On a CPU without AES-NI:
$ go test -bench .
Benchmark4kEncStupidGCM-2   	   50000	     24155 ns/op	 169.57 MB/s
Benchmark4kEncGoGCM-2       	   20000	     93965 ns/op	  43.59 MB/s
Benchmark4kEncGCMSIV-2      	     500	   2576193 ns/op	   1.59 MB/s
 | 
 | 
Also delete the unused "dirIVNameStruct", found by deadcode.
 | 
 | 
[...]/stupidgcm/locking.go:16:2:
  warning: indirection of non-volatile null pointer will
  be deleted, not trap [-Wnull-dereference]
  [...]/stupidgcm/locking.go:16:2:
  note: consider using __builtin_trap() or qualifying
  pointer with 'volatile'
https://github.com/rfjakob/gocryptfs/issues/15
 | 
 | 
Add a simple bash wrapper to make it easier to run the GCM
benchmarks.
 | 
 | 
In general, OpenSSL is only threadsafe if you provide a locking function
through CRYPTO_set_locking_callback. However, the GCM operations that
stupidgcm uses never call that function.
To guard against that ever changing, set a dummy locking callback
that crashes the app.
 | 
 | 
Quoting from the patch:
	We compare against Go's built-in GCM implementation. Since stupidgcm only
	supports 128-bit IVs and Go only supports that from 1.5 onward, we cannot
	run these tests on older Go versions.
 | 
 | 
This did not help in debugging the openssl <= 1.0.1c issue at all
and makes the code more complex. Keep it simple.
 | 
 | 
This fixes the test failures on Travis CI.
Quoting from https://github.com/openssl/openssl/commit/07a4ff79d23e45f1a45da717b7c1f41a5e1c7c0c
	/* Set expected tag value. A restriction in OpenSSL 1.0.1c and earlier
	 * required the tag before any AAD or ciphertext */
 | 
 | 
 | 
 | 
Also, print the openssl version in Travis CI
 | 
 | 
...complete with tests and benchmark.
This will allow us to get rid of the dependency to spacemonkeygo/openssl
that causes problems on Arch Linux
( https://github.com/rfjakob/gocryptfs/issues/21 )
 |