* gpgsm.c (main): Set the prefixes for assuan logging.
[gnupg.git] / TODO
diff --git a/TODO b/TODO
index 55380b5..eb8e2da 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,78 +1,80 @@
-Bugs
-----
-    * clearsig: keep lineendings as they are. Remember that trailings
-      blanks are not hashed.  Funny: pgp263in works fine even with
-      a source file with CR,LF but GnuPG and pgp263in has problems
-      if the clearsign has been created by pgp263ia.
-      Needs more investigation - anyone?
-
-    * clearsign bug Greg Troxel Jan 11.
-
-Important
-----------
-    * Check revocation and expire stuff.  PLEASE: THIS MUST BE TESTED!
-
-    * Check calculation of key validity. PLEASE: IT IS IMPORTED THAT
-      THIS GET TESTED.
-
-    * See why we always get this "Hmmm public key lost"
-
-    * print a warning when a revoked/expired secret key is used.
-
-> 0.9.1: I get some occasional segfaults during 'make check' unless I use
-> --with-included-zlib. It's strange, I have zlib-1.1.2 on one machine, and
-> zlib-1.1.3 on another, and both of them fail on occasion (maybe half of the
-
-> gpg: /home/jam/.gnupg/pubring.gpg: can't open gdbm file: Can't be writer
-> gpg: keyblock resource `/home/jam/.gnupg/pubring.gpg': file open error
-> gpg: OOPS in close enum_keyblocks - ignored
-
-    > Indeed, comparing zero to 0xfe returns 2, not -something, and this is
-> the problem. This seems to fix it, but I don't know how you want to
-> handle this.
->
-  I'll better write a autoconf test as memcmp is used all over the place.
-
-Needed
-------
-    * remove more "Fixmes"
-
-    * Replace Blowfish by Twofish and add the new encrypted packet type
-      which has a MACing option (append SHA1 hash to the plaintext and
-      encrypt this all) - We need an identifier for Twofish to put this
-      one into the cipher preferences.
-
-    * The -export-dynamic flag to ld works only for FreeBSD 3.0.  It does
-      not exist on FreeBSD's 2.2.x version of ld.
-      Also, on my FreeBSD 2.2-stable box, i simply removed the
-      -Wl,-export-dynamic flag from my Makefile and it linked and seems to
-      be working OK so far.
-
-    * text_filter.c: use iobuf_readline for cleartext signatures.
-
-
-Minor Bugs
-----------
-
-    * There is a race condition which leaves lock files after process
-      termination (a signal while in make_dotlock).  Change the dotlock
-      implementaion to a create handle, make and release implemenation
-      and use an atexit to cleanup all pending locks.  This is also
-      faster.
-
-Nice to have
-------------
-    * preferences of hash algorithms are not yet used.
-    * new menu to delete signatures and list signature in menu
-    * Replace the SIGUSR1 stuff by semaphores to avoid loss of a signal.
-      or use POSIX.4 realtime signals.
-    * add test cases for invalid data (scrambled armor or other random data)
-    * add checking of armor trailers
-    * Burn the buffers used by fopen(), or use read(2). Does this
-      really make sense?
-    * change the fake_data stuff to mpi_set_opaque
-    * How about letting something like 'gpg --version -v', list the
-      effective options.
-    * Stats about used random numbers.
+                                                              -*- outline -*-
 
+* src/base64
+** Make parsing more robust
+Currently we don't cope with overlong lines in the best way.
 
+* sm/call-agent.c
+** The protocol uses an incomplete S-expression
+We should always use valid S-Exp and not just parts.
+** Some code should go into import.c
+** When we allow concurrent service request in gpgsm, we
+might want to have an agent context for each service request
+(i.e. Assuan context).
+
+* sm/certreqgen.c
+** Improve error reporting
+** Do some basic checks on the supplied DNs
+
+* sm/certchain.c
+** When a certificate chain was sucessfully verified, make ephemeral certs used  in this chain permanent.
+** figure out how to auto retrieve a key by serialno+issuer.
+   Dirmngr is currently not able to parse more than the CN.
+** Try all available root certs in case we have several of them in our keybox.
+ For example TC TrustCenter Class 1 CA certs are ambiguous becuase
+ user certs don't come with a authorityKeyIdentifier.
+
+* sm/decrypt.c
+** replace leading zero in integer hack by a cleaner solution
+
+* sm/sign.c
+** Don't hardcode the use of RSA.
+
+* sm/gpgsm.c
+** Support --output
+** mark all unimplemented commands and options.
+** Print a hint when of MD2 is the cause for a problem.
+
+* sm/keydb.c
+** Check file permissions
+** Write a keybox header and check for that magic value.
+** Check that all error code mapping is done.
+** Remove the inter-module dependencies between gpgsm and keybox
+** Add an source_of_key field
+
+* agent/command.c
+** Make sure that secure memory is used where appropriate
+
+* agent/pkdecrypt.c, agent/pksign.c
+** Don't use stdio to return results.
+
+* agent/protect-tool.c
+** Export and import certificates along with the secret key.
+** Make it more comfortable; i.e. copy files to the correct place.
+
+* Move pkcs-1 encoding into libgcrypt.
+
+* Use a MAC to protect some files.
+
+* sm/export.c
+** Return an error code or a status info per user ID.
+
+* scd/apdu.c
+** We need close_reader functionality
+
+* ALL
+** Return IMPORT_OK status.
+
+* Where is http.c, regcomp.c, srv.c, w32reg.c  ?
+
+* scd/sc-investigate
+** Enhance with card compatibility check
+
+* scd/app-openpgp
+  Do a pre-check to make sure that the minimum length condition of the
+  PINs are satisied - this avoid useless retry counter decrements in
+  case the PIN dialog is accidently hit.
+
+  Must check that the fingerprint used is not the one of the
+  authentication key.  Old GnuPG versions seem to encode the wrong
+  keyID.
\ No newline at end of file