Remove use of anonymous union.
Consider to remove it.
This requires the introduction of a parameter names (say) U which is calculated according to OpenSSL/PKCS#1 rules.
Write an autoconf test to check whether the linker supports a version script.
Don’t rely on the secure memory based wiping function but add an extra wiping.
[Partly done] The down side of this is that we can’t assume that the random has has always been stored in “secure memory”. And we rely on that sniffing of Unix domain sockets is not possible. We can implement this simply by detecting a special prefixed random seed name and divert in this case to the daemon. There are several benefits with such an approach: We keep the state of the RNG over invocations of libgcrypt based applications, don’t need time consuming initialization of the pool and in case the entropy collectros need to run that bunch of Unix utilities we don’t waste their precious results.
Requires a test for pth [done] as well as some other tests.
Check whether the memory block is valid before releasing it and print a diagnosic, like glibc does.
In particular that reinitialization is required in random.c However, there is no code yet to do it.
We need a lot more tests. Lets keep an ever growing list here.
To catch simple errors like the one fixed on 2007-03-16.
We have some code to allow using libgcrypt from C++, so we also should have a test case.