95ea299c64e653814c18f41e0f97e5c2df6ecf87
[libgcrypt.git] / TODO
1 What's left to do                                 -*- outline -*-
2
3 * Updated the FSF's directory.
4
5 * Add more tests.
6
7 * udiv-qrnbd.o should get build as *.lo [HPUX]
8
9 * Allow operation using RSA keys consisting of the OpenSSL list of
10   parameters and allow for a third form where the private Exponent
11   is not given (saves space).
12
13 * Add a warning to the manual, to check that libgcrypt actually has
14   been compiled with thread support when used by a threaded
15   application.
16
17 * write an autoconf test to check whether the linker supports a
18   version script.
19
20 * Make use of the forthcoming visibility attribute.
21
22 * Add attributes to the MPI functions.
23
24 * Write tests for the progress function
25
26 * In case the ac interface will be more popular than the pk interface,
27   the asymmetric ciphers could be changed for convenient interaction
28   with the ac interface (i.e. by using ac's `data sets') and the pk
29   interface could be changed to be a wrapper for the ac interface.
30
31 * cipher/pubkey.c and pubkey implementaions.
32   Don't rely on the secure memory based wiping function but add an
33   extra wiping.
34   
35 * update/improve documentation
36   - it's outdated for e.g. gcry_pk_algo_info.
37   - document algorithm capabilities
38
39 * Use builtin bit functions of gcc 3.4
40
41 * Consider using a daemon to maintain he random pool
42
43   The down side of this is that we can't assume that the random das
44   has always been stored in "secure memory".  And we rely on that
45   sniffing of Unix domain sockets is not possible.  We can implement
46   this simply by detecting a special prefixed random seed name and
47   divert in this case to the daemon.  There are several benefits with
48   such an approach: We keep the state of the RNG over invocations of
49   libgcrypt based applications, don't need time consuming
50   initialization of the pool and in case the entropy collectros need
51   to run that bunch of Unix utilities we don't waste their precious
52   results.
53
54 * Out of memory handler for secure memory should do proper logging
55
56   There is no shortage of standard memory, so logging is most likely
57   possible.
58
59 * signed vs. unsigned.
60   Sync the code with 1.2 where we have fixed all these issues.
61
62 * mpi_print does not use secure memory
63   for internal variables.
64
65 * gry_mpi_lshift is missing
66
67 * Add OAEP
68
69 * Next API break:
70 ** gcry_ac_io_t
71   Remove use of anonymous union.
72
73 * ac.c
74   There are still some things fishy.  The fixes I did todat
75   (2006-10-23) seem to cure just a symptom.  Needs a complete review.
76
77 * gcryptrnd.c
78   Requires test for pth and other stuff.
79
80 * secmem.c
81   Check whether the memory block is valid before releasing it and
82   print a diagnosic, like glibc does.
83