12
12
This requires the introduction of a parameter names (say) U which
13
13
is calculated according to OpenSSL/PKCS#1 rules.
15
* Add a warning to the manual, to check that libgcrypt actually has
16
been compiled with thread support when used by a threaded
19
15
* linker script test
20
16
Write an autoconf test to check whether the linker supports a
26
22
Don't rely on the secure memory based wiping function but add an
29
* update/improve documentation
30
** it's outdated for e.g. gcry_pk_algo_info.
31
** document algorithm capabilities
32
** Init requirements for random
33
The documentation says in "Controlling the library" that some
34
functions can only be used at initialization time, but it does not
35
explain what that means. Initialization is a multi-step procedure:
36
First the thread callbacks have to be set up (optional), then the
37
gcry_check_version() function must be called (mandatory), then
38
further functions can be used.
40
The manual also says that something happens when the seed file is
41
registered berfore the PRNG is initialized, but it does not say how
42
one can guarantee to call it early enough.
44
Suggested fix: Specify initialization time as the time after
45
gcry_check_version and before calling any other function except
48
All functions which modify global state without a lock must be
49
documented as "can only be called during initialization time" (but
50
see item 1). Then the extraneous calls to _gcry_random_initialize
51
in gcry_control() can be removed, and the comments "not thread
52
safe" in various initialization-time-only functions like
53
_gcry_use_random_daemon become superfluous.
55
25
* Use builtin bit functions of gcc 3.4
57
27
* Consider using a daemon to maintain the random pool
66
36
collectros need to run that bunch of Unix utilities we don't waste
67
37
their precious results.
69
* Out of memory handler for secure memory should do proper logging
71
There is no shortage of standard memory, so logging is most likely
74
* mpi_print does not use secure memory
75
for internal variables.
77
* gcry_mpi_lshift is missing