Mitigate a flush+reload cache attack on RSA secret exponents.
[gnupg.git] / TODO
diff --git a/TODO b/TODO
index da49089..30b0d4e 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,77 +1,83 @@
+                                                                 -*- org -*-
 
-  * options.skel wird mit umaks von root installiert.
+* 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.
 
-  * See how we can handle the symlinks in ./gcrypt
+* pause scrolling help in --edit-key and elsewhere.
 
-  * Add SIGSEGV handler to overcome zlib problems with truncated data.
+* getkey does not return revoked/expired keys - therefore it is not
+  possible to override it.
 
-  * Use --output for keylistings too.
+* Selection using +wordlist does not work.
+  What about adding a feature -word to the +wordlist search mode.
 
-  * Never allocate packet memory with a m-alloc, but use a specific function.
+* Check the changes to the gpg random gatherer on all W32 platforms.
 
-  * Should we change names like mpi_write in g10/ so that we don't
-    use the prefix mpi here?
+* Show more info does not work from edit->trust. We should give more
+  information on the user ID under question while running
+  --update-trustdb.
 
-  * Implement the AXP syscall to enable bus traps for GLIB 2
+* 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 
 
-  * parse a paramter file to do automatic key generation and to set
-    parameters for the keygen menu.  Far easier than to do a dialog for
-    each required parameter.
+* 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
 
-  * With option -i prompt before adding a key to the keyring and show some
-    info what we are about to add.
+* Fix the bug in the mips assembler code
 
-  * Speed up calculation of key validation.
+* Add a way to show the fingerprint of an key signator's keys
 
-  * --disable-asm should still assemble _udiv_qrnnd when needed
+* Concatenated encryption messages don't work corectly - only the
+  first one is processed.
 
-  * Skip RO keyrings when importing a key.
+* Add option to put the list of recipients (from the encryption
+  layer) into the signatures notation data.
 
-  * Use the newest encryption key if only the main key has been given.
+* --disable-asm should still assemble _udiv_qrnnd when needed
 
-  * replace the keyserver stuff either by a call to a specialized
-    utility and SOCKSify this utility.
+* the pubkey encrypt functions should do some sanity checks.
 
-  * Check the beginning of file to detect already compressed files (gzip,
-    bzip2, xdelta and some picture formats)
+* "gpg filename.tar.gz.asc" should work like --verify (-sab).
 
-  * Delay the read of the passphrase-fd afte a NEED_PASSPHRASE.  But this
-    may break some scripts.
+* 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.
 
-  * as soon as we have moved to KBX, we can check signatures at all places
-  because there is no perfomance drawback as we can store the result of
-  a verification in the KBX.  This enable us to better print information on
-  revoked user IDs and signatures. Well, caching of non-self-signatures
-  will still be complicated.
+* keyflags don't distinguish between {certify,signature}-only.
 
+* cat foo | gpg --sign | gpg --list-packets
+  Does not list the signature packet.
 
-Nice to have
-------------
-  * Official test vectors for 3DES-EDE3
-  * use DEL and ^H for erasing the previous character (util/ttyio.c).
-    or better readline.
-  * Print a warning if the directory mode is wrong.
-  * Do a real fix for bug #7 or document that it is a PGP 5 error.
-  * preferences of hash algorithms are not yet used.
-  * Replace the SIGUSR1 stuff by semaphores to avoid loss of a signal.
-    or use POSIX.4 realtime signals.  Overhaul the interface and the
-    test program.  Use it with the test suite?
-  * 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? And while we are at it:  implement a secure deletion
-    stuff?
-  * the pubkey encrypt functions should do some sanity checks.
-  * dynload: implement the hint stuff.
-  * "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.
-  * configure option where to find zlib
-  * Display more validity information about the user IDs at certain places.
-    We need a more general function to extract such kind of info from the
-    trustdb.
-  * Evaluate whether it make sense to replace the namehashs either by
-    using the user ID directly or by using pointers into the trustdb.
-  * --gen-prime may trigger a log_bug; should be a log_fatal.
+* 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. 
+
+* Add the NEWSIG status.
+
+* Delete a card key as well as a wiping.
+
+* passphrase_to_dek does not return NULL after a cancel.  There is
+    no way to issue a cancel when unsing the CLI - this would however
+    be a Good Thing when used with mixed symkey/pubkey encrypted
+    messages. See comment in mainproc.c:proc_symkey_enc. 
+    Note, that this has been fixed in 2.0.2 - we should backport it.
+
+* Backport from GnuPG-2:
+  
+  2009-09-04  Werner Koch  <wk@g10code.com>
+  
+       * keyedit.c (menu_select_uid): Use IDX ==-1 t select all.
+       (menu_select_key): Ditto.
+       (keyedit_menu) <cmdSELKEY, cmdSELUID>: Allow '*' to select all.