Mitigate a flush+reload cache attack on RSA secret exponents.
[gnupg.git] / TODO
diff --git a/TODO b/TODO
index ce2e831..30b0d4e 100644 (file)
--- a/TODO
+++ b/TODO
-* BACKUP Filename requires a status message. !!!!
+                                                                 -*- org -*-
 
-* Delete a card key as well as a wiping.
-
-
-  * From: Nicolas Sierro 
-    Date: Thu, 17 Jun 2004 12:31:24 +0200
-    
-    I understand your concern regarding the GNU coding standards. In
-    zlib-1.2.1, apart from several bug fixes, the inflate code is about
-    20% faster and the crc32 code about 50% faster. Some memory leaks were
-    also fixed according to the ChangeLog.
-    
-  * Reword the "Not enough entropy" messages.
-
-  * Do we need a configure test for putenv?
-
-  * 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?  
-
-  * 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.
-
-  * pause scrolling help in --edit-key and elsewhere.
-
-  * getkey does not return revoked/expired keys - therefore it is not
-    possible to override it.
-
-  * Selection using +wordlist does not work.
-    What about adding a feature -word to the +wordlist search mode.
-
-  * Check the changes to the gpg random gatherer on all W32 platforms.
-
-  * Show more info does not work from edit->trust. We should give more
-    information on the user ID under question while running
-    --update-trustdb.
+* 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.
 
-  * 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 
+* pause scrolling help in --edit-key and elsewhere.
 
-  * 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
+* getkey does not return revoked/expired keys - therefore it is not
+  possible to override it.
 
-  * If there is no secure memory, allocate more memory for the secure
-    memory block or do it in all cases.
+* Selection using +wordlist does not work.
+  What about adding a feature -word to the +wordlist search mode.
 
-  * add some minor things vor VMS.
+* Check the changes to the gpg random gatherer on all W32 platforms.
 
-  * Use DSA keys with the test suite (partly done)
+* Show more info does not work from edit->trust. We should give more
+  information on the user ID under question while running
+  --update-trustdb.
 
-  * Fix the bug in the mips assembler code
+* 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 
 
-  * Add a way to show the fingerprint of an key signator's keys
+* 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
 
-  * Add an is_valid flag to each user ID.
+* Fix the bug in the mips assembler code
 
-  * Replace the printing of the user name by [self-signature] when
-    appropriate so that a key listing does not get clobbered.
+* Add a way to show the fingerprint of an key signator's keys
 
-  * Concatenated encryption messages don't work corectly - only the
-    first one is processed.
+* 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.
+* 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
+* --disable-asm should still assemble _udiv_qrnnd when needed
 
-  * Get new assembler stuff from gmp 3.1
+* the pubkey encrypt functions should do some sanity checks.
 
-  * add test cases for invalid data (scrambled armor or other random data)
+* "gpg filename.tar.gz.asc" should work like --verify (-sab).
 
-  * 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.
+* 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.
 
-  * the pubkey encrypt functions should do some sanity checks.
+* keyflags don't distinguish between {certify,signature}-only.
 
-  * "gpg filename.tar.gz.asc" should work like --verify (-sab).
+* cat foo | gpg --sign | gpg --list-packets
+  Does not list the signature packet.
 
-  * 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.
+* When presenting the result of a verification show the user ID with
+  the highest trust level first instead of the primary one.
 
-  * keyflags don't distinguish between {certify,signature}-only.
+* allow the use of option in gpg.conf. 
 
-  * 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. 
-
-  * Add the NEWSIG status.
-
-  * When generating a key on the card we should try to also set the
-    display name or provide the display name as a default in the key
-    generation.  The problem however is that the display name must be
-    given with an indication of the surname and the usable characters
-    are also restricted.
-
-  * We status lines at least for bad PINs.  BAD_PASSPHARSE requires a
-    keyID though.
-
-
-Things we won't do
-------------------
-
-  * New option --file-remove path-to-wipe-program ? 
+* 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.