(main): New commands --dump-keys, --dump-external-keys,
[gnupg.git] / TODO
diff --git a/TODO b/TODO
index d743601..1d12b74 100644 (file)
--- a/TODO
+++ b/TODO
-  * Reword the "Not enough entropy" messages.
+                                                              -*- outline -*-
 
-  * Do we need a configure test for putenv?
+* src/base64
+** Make parsing more robust
+Currently we don't cope with overlong lines in the best way.
 
-  * 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?  
+* 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).
+** There is no error report if GPG_AGENT_INFO has been set but the agent is not anymore running. 
 
-  * 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.
+* sm/certreqgen.c
+** Improve error reporting
+** Do some basic checks on the supplied DNs
 
-  * pause scrolling help in --edit-key and elsewhere.
+* 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.
 
-  * getkey does not return revoked/expired keys - therefore it is not
-    possible to override it.
+* sm/decrypt.c
+** replace leading zero in integer hack by a cleaner solution
 
-  * Selection using +wordlist does not work.
-    What about adding a feature -word to the +wordlist search mode.
+* sm/sign.c
+** Don't hardcode the use of RSA.
 
-  * Check the changes to the gpg random gatherer on all W32 platforms.
+* sm/gpgsm.c
+** Support --output for all commands
+** mark all unimplemented commands and options.
+** Print a hint when MD2 is the cause for a problem.
+** Implement --default-key
+** Using --export-secret-key-p12 with a non-pth agent
+   This leads to a lockup because gpgsm is still accessing the agent
+   while gpg-protect-tool wants to pop up the pinentry.  Solution is
+   to release the connection.  This is not trivial, thus we are going
+   to do that while changing gpgsm to allow concurrent operations.
 
-  * Show more info does not work from edit->trust
+* 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
 
-  * 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 
+* agent/gpg-agent.c
+** A SIGHUP should also restart the scdaemon
+   But do this only after all connections terminated.
+   As of now we only send a RESET.
 
-  * 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
+* agent/command.c
+** Make sure that secure memory is used where appropriate
 
-  * If there is no secure memory, allocate more memory for the secure
-    memory block or do it in all cases.
+* agent/pkdecrypt.c, agent/pksign.c
+** Don't use stdio to return results.
 
-  * add some minor things vor VMS.
+* agent/divert-scd.c
+ Remove the agent_reset_scd kludge.
 
-  * Use DSA keys with the test suite (partly done)
+* Move pkcs-1 encoding into libgcrypt.
 
-  * Fix the bug in the mips assembler code
+* Use a MAC to protect some files.
 
-  * Add a way to show the fingerprint of an key signator's keys
+* sm/export.c
+** Return an error code or a status info per user ID.
 
-  * Add an is_valid flag to each user ID.
+* Where is http.c, regcomp.c, srv.c, w32reg.c  ?
 
-  * Replace the printing of the user name by [self-signature] when
-    appropriate so that a key listing does not get clobbered.
+* scd/sc-investigate
+** Enhance with card compatibility check
 
-  * Concatenated encryption messages don't work corectly - only the
-    first one is processed.
+* scd/app-openpgp
+  Must check that the fingerprint used is not the one of the
+  authentication key.  Old GnuPG versions seem to encode the wrong
+  keyID.
 
-  * Add option to put the list of recipients (from the encryption
-    layer) into the signatures notation data.
+* tests
+** Makefile.am
+  We use printf(1) to setup the library path, this is not portable.
+  Furthermore LD_LIBRARY_PATH is not used on all systems.  It doesn't
+  matter for now, because we use some GNU/*BSDish features anyway.
 
-  * --disable-asm should still assemble _udiv_qrnnd when needed
+** Add a test to check the extkeyusage.
 
-  * 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.
-
-  * 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.
-
-
-Things we won't do
-------------------
-
-  * New option --file-remove path-to-wipe-program ?