* keydb.h, keyid.c (keystr_from_pk, keystr_from_sk): New functions to pull
[gnupg.git] / TODO
diff --git a/TODO b/TODO
index 290149f..2088ee8 100644 (file)
--- a/TODO
+++ b/TODO
-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?
 
-    * replace my type 20 subkeys by type 16 ones.
 
-Important
-----------
-    * Check revocation and expire stuff.  [I'm currently working on this.]
+  * Reword the "Not enough entropy" messages.
 
-    * Check calculation of key validity. [I'm currently working on this.]
+  * Do we need a configure test for putenv?
 
-    * See why we always get this "Hmmm public key lost"
+  * 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?  
 
-    * print a warning when a revoked/expired secret key is used.
+  * 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.
 
-Needed
-------
-    * remove more "Fixmes"
+  * pause scrolling help in --edit-key and elsewhere.
 
-    * Implement 256 bit key Twofish.
+  * getkey does not return revoked/expired keys - therefore it is not
+    possible to override it.
 
-    * Use capabilities if available.  glibc2 does not support it yet?
-      What about 2.2 or should we use the system calls directly?
+  * Selection using +wordlist does not work.
+    What about adding a feature -word to the +wordlist search mode.
 
-Minor Bugs
-----------
+  * Check the changes to the gpg random gatherer on all W32 platforms.
 
-    * --list-packets should continue even w/o a passphrase (or in batch
-      mode).
+  * Show more info does not work from edit->trust
 
-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. [Too much work.]
-    * Stats about used random numbers.
+  * 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 
 
+  * 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
+
+  * If there is no secure memory, allocate more memory for the secure
+    memory block or do it in all cases.
+
+  * add some minor things vor VMS.
+
+  * Use DSA keys with the test suite (partly done)
+
+  * Fix the bug in the mips assembler code
+
+  * Add a way to show the fingerprint of an key signator's keys
+
+  * Add an is_valid flag to each user ID.
+
+  * Replace the printing of the user name by [self-signature] when
+    appropriate so that a key listing does not get clobbered.
+
+  * Concatenated encryption messages don't work corectly - only the
+    first one is processed.
+
+  * Add option to put the list of recipients (from the encryption
+    layer) into the signatures notation data.
+
+  * --disable-asm should still assemble _udiv_qrnnd when needed
+
+  * Get new assembler stuff from gmp 3.1
+
+  * use DEL and ^H for erasing the previous character (util/ttyio.c).
+    or better readline.
+
+  * add test cases for invalid data (scrambled armor or other random data)
+
+  * add checking of armor trailers.  Try to detect garbled header
+    lines.  Often one dash is missing due to sloppy cut+paste; so add
+    a warning note like the one for QP.
+
+  * the pubkey encrypt functions should do some sanity checks.
+
+  * "gpg filename.tar.gz.asc" should work like --verify (-sab).
+
+  * 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.
+
+  * keyflags don't distinguish between {certify,signature}-only.
+
+  * 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.
+
+  * cat foo | gpg --sign | gpg --list-packets
+    Does not list the signature packet.
+
+  * When presenting the result of a verification show the user ID with
+    the highest trust level first instead of the primary one.
+
+  * allow the use of option in gpg.conf. 
+
+  * export-secret-subkey where only one of the subkeys gets exported.
+
+Things we won't do
+------------------
+
+  * New option --file-remove path-to-wipe-program ?