* configure.ac: Add an --enable-old-tiger, to revert back to the
[gnupg.git] / TODO
diff --git a/TODO b/TODO
index 8e2d238..54cf9b2 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,92 +1,98 @@
+  * Reword the "Not enough entropy" messages.
 
-    * use zlib 1.1.13 to avoid a bug with 13 bit windows
+  * Do we need a configure test for putenv?
 
-    * FreeBSD:
-       #define USE_DYNAMIC_LINKING
-       #define HAVE_DL_DLOPEN
-       and the ld option -export-dynamic.
+  * Check for consistent spelling of user ID, key ID etc.
+    Replace "user id not found" in getkey.c by "no valid user ID found".
+  * Describe some pitfalls when using EGD.  Check that ~/.gnupg/entropy
+    really is the default.  What about needed permission?  
 
-    *
-     Well, there was one thing extra I needed to do.  While configure found the
-     gdbm library, it didn't add the path the the include file list.  I had to
-     re-run configure with CPPFLAGS set:
+  * Using an expired key for signing should give an error message
+    "expired key" and not "unusable key'.  Furthermore the error should
+    also be thrown when the default key has expired.  Reported by
+    Eric.VanBuggenhaut add AdValvas.be.
 
-     env CPPFLAGS='-I/usr/local/include' configure ...
+  * pause scrolling help in --edit-key and elsewhere.
 
+  * getkey does not return revoked/expired keys - therefore it is not
+    possible to override it.
 
-    * clearsig: keep lineendings as they are. Remember that trailings
-      blanks are not hashed.
+  * Selection using +wordlist does not work.
+    What about adding a feature -word to the +wordlist search mode.
 
-    * Fix ;) revocation and expire stuff.
+  * Check the changes to the gpg random gatherer on all W32 platforms.
 
-    * check preferences (cipher and compress)
+  * Show more info does not work from edit->trust
 
-    * OpenBSD: dynamic loading with dlopen works on OpenBSD, but:
-       OpenBSD binaries are a.out, so every symbol begins with "_"
+  * Check that no secret temporary results are stored in the result parameter
+    of the mpi functions.  We have already done this for mpi-mul.c 
 
-    * should we flush the getkey.c caches while doing an import?
+  * We need another special packet at the end of a clearsign message to mark
+    it's end and allow for multiple signature for one message.  And
+    add a real grammar to the code in mainproc.c
 
-    * prefer a type 16 subkey for encryption because pgp cannot handle
-      type 20?
+  * If there is no secure memory, allocate more memory for the secure
+    memory block or do it in all cases.
 
-    * The critical bit of signature subpackets is not yet supported; i.e.
-      it is ignored.
+  * add some minor things vor VMS.
 
-    * We need a maintainence pass over the trustdb which flags
-      signatures as expired if the key used to make the signature has
-      expired. Maybe it is a good idea to store the exiration time
-      in the key record of the trustdb.
+  * Use DSA keys with the test suite (partly done)
 
-    * write a tool to extract selected keys from a file.
+  * Fix the bug in the mips assembler code
 
-    * new menu to delete signatures and list signature in menu
+  * Add a way to show the fingerprint of an key signator's keys
 
-    * commandline controlled --edit-key with assumed save.
+  * Add an is_valid flag to each user ID.
 
-    * -rdynamic auf Solaris Problem
+  * Replace the printing of the user name by [self-signature] when
+    appropriate so that a key listing does not get clobbered.
 
-    * Replace the SIGUSR1 stuff by semaphores to avoid loss of a signal.
+  * Concatenated encryption messages don't work corectly - only the
+    first one is processed.
 
-    * add test cases for invalid data (scrambled armor or other random data)
+  * Add option to put the list of recipients (from the encryption
+    layer) into the signatures notation data.
 
-    * add some sanity checks to read_keyblock, so that we are sure that
-     the minimal requirements are met (?)
+  * --disable-asm should still assemble _udiv_qrnnd when needed
 
-    * decryption of message with multiple recipients does not work.
+  * Get new assembler stuff from gmp 3.1
 
-    * preferences of hash algorithms are not yet used.
+  * use DEL and ^H for erasing the previous character (util/ttyio.c).
+    or better readline.
 
-    * rewrite --list-packets or put it into another tool.
+  * add test cases for invalid data (scrambled armor or other random data)
 
-    * Burn the buffers used by fopen(), or use read(2). Does this
-      really make sense?
+  * add checking of armor trailers.  Try to detect garbled header lines.
 
-    * Change the buffering to a mbuf like scheme? Need it for PSST anyway.
-    * add checking of armor trailers
-    * remove all "Fixmes"
+  * the pubkey encrypt functions should do some sanity checks.
 
-    * Change the internal represention of keyid into a struct which
-      can also hold the localid and extend the localid to hold information
-      of the subkey number because two subkeys may have the same keyid.
+  * "gpg filename.tar.gz.asc" should work like --verify (-sab).
 
-    * add an option to re-create a public key from a secret key; we
-      can do this in trustdb.c:verify_own_keys.
+  * for messages created with "-t", it might make sense to append the
+    verification status of the message to the output (i.e. write something to
+    the --output file and not only to stderr.  However the problem is
+    that we consider the message transpatrent and don't have any
+    indication of the used character set.  To implement this feature
+    we need to make sure that all output is plain 7 bit ascii but
+    given that we need to print a user name, this does not make sense
+    at all.  The only way this can be implemented is by assuming that
+    the message is encoded in utf8 and hope tht everyone starts to use
+    utf8 instead of latin-1 or whatever RSN.  Hmmm, I myself should
+    start with this.
 
-    * signature verification is done duplicated on import: in import.c and
-      tehn in trustdb.c too.  Maybe we can use a flag to skip the actual
-      verification process (this should work if we use the same keyblock,
-      but I'm not sure how to accomplish that).  Another way is to allow
-      the import of bogus data and let trustdb mark these keys as invalid;
-      I see an advantage in this that it may help to prevent a DoS on a
-      keyserver by sending him a lot of bogus signatures which he has
-      to check - Needs further investigation.
+  * keyflags don't distinguish between {certify,signature}-only.
 
-    * change the fake_data stuff to mpi_set_opaque
+  * Instead of issuing a "signature packet without keyid" gpg should
+    try to get the keyID from a corresponding one-pass signature
+    packet (See bug report 817).  This is not easy to do as we don't
+    store the one-pass packets.
 
-    * Is it okay to use gettext for the help system?
+  * cat foo | gpg --sign | gpg --list-packets
+    Does not list the signature packet.
 
-    * Add some stuff for DU cc
+Things we won't do
+------------------
 
-    * use "passphrase" instead of "pass phrase"
-    * Use "user ID", "trustdb" and "WARNING".
+  * New option --file-remove path-to-wipe-program ?