Blame TODO

Packit 0680ba
# What's left to do                                 -*- org -*-
Packit 0680ba
Packit 0680ba
* Next API break:
Packit 0680ba
** gcry_ac_io_t
Packit 0680ba
  Remove use of anonymous union.
Packit 0680ba
** gcry_ac
Packit 0680ba
  Consider to remove it.
Packit 0680ba
Packit 0680ba
* udiv-qrnbd.o should get build as *.lo [HPUX]
Packit 0680ba
Packit 0680ba
* Allow operation using RSA keys consisting of the OpenSSL keys.
Packit 0680ba
  This requires the introduction of a parameter names (say) U which
Packit 0680ba
  is calculated according to OpenSSL/PKCS#1 rules.
Packit 0680ba
Packit 0680ba
* linker script test
Packit 0680ba
  Write an autoconf test to check whether the linker supports a
Packit 0680ba
  version script. 
Packit 0680ba
Packit 0680ba
* Add attributes to the MPI functions.
Packit 0680ba
Packit 0680ba
* cipher/pubkey.c and pubkey implementaions.
Packit 0680ba
  Don't rely on the secure memory based wiping function but add an
Packit 0680ba
  extra wiping.
Packit 0680ba
  
Packit 0680ba
* Use builtin bit functions of gcc 3.4
Packit 0680ba
Packit 0680ba
* Consider using a daemon to maintain the random pool
Packit 0680ba
  [Partly done] The down side of this is that we can't assume that the
Packit 0680ba
  random has has always been stored in "secure memory".  And we rely
Packit 0680ba
  on that sniffing of Unix domain sockets is not possible.  We can
Packit 0680ba
  implement this simply by detecting a special prefixed random seed
Packit 0680ba
  name and divert in this case to the daemon.  There are several
Packit 0680ba
  benefits with such an approach: We keep the state of the RNG over
Packit 0680ba
  invocations of libgcrypt based applications, don't need time
Packit 0680ba
  consuming initialization of the pool and in case the entropy
Packit 0680ba
  collectros need to run that bunch of Unix utilities we don't waste
Packit 0680ba
  their precious results.
Packit 0680ba
Packit 0680ba
* gcryptrnd.c
Packit 0680ba
  Requires a test for pth [done] as well as some other tests.
Packit 0680ba
Packit 0680ba
* secmem.c
Packit 0680ba
  Check whether the memory block is valid before releasing it and
Packit 0680ba
  print a diagnosic, like glibc does.
Packit 0680ba
Packit 0680ba
* threads
Packit 0680ba
** We need to document fork problems
Packit 0680ba
  In particular that reinitialization is required in random.c
Packit 0680ba
  However, there is no code yet to do it.
Packit 0680ba
Packit 0680ba
* Tests
Packit 0680ba
  We need a lot more tests.  Lets keep an ever growing list here.
Packit 0680ba
** Write tests for the progress function
Packit 0680ba
** mpitests does no real checks yet.
Packit 0680ba
** pthreads
Packit 0680ba
  To catch simple errors like the one fixed on 2007-03-16.
Packit 0680ba
** C++ tests
Packit 0680ba
  We have some code to allow using libgcrypt from C++, so we also
Packit 0680ba
  should have a test case.