* gpgsm.c (main): Set the prefixes for assuan logging.
[gnupg.git] / TODO
diff --git a/TODO b/TODO
index 30e27e7..eb8e2da 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,83 +1,80 @@
+                                                              -*- outline -*-
 
-  * Look at FEATURES packet to decide wether to use MDC.  We should
-    rethink the whole preference implementation and drop that ugly hamehash
-    stuff.  Is it possible to that in getkey?  We have to see whether we
-    realy lookit up by user name or whethre there is a double lookup,
-    first by userid and then later by keyid - which is bad.
+* src/base64
+** Make parsing more robust
+Currently we don't cope with overlong lines in the best way.
 
-  * options.skel wird mit umask von root installiert.
+* 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).
 
-  * See how we can handle the symlinks in ./gcrypt
+* sm/certreqgen.c
+** Improve error reporting
+** Do some basic checks on the supplied DNs
 
-  * Add SIGSEGV handler to overcome zlib problems with truncated data.
+* 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.
+** Try all available root certs in case we have several of them in our keybox.
+ For example TC TrustCenter Class 1 CA certs are ambiguous becuase
+ user certs don't come with a authorityKeyIdentifier.
 
-  * Use --output for keylistings too.
+* sm/decrypt.c
+** replace leading zero in integer hack by a cleaner solution
 
-  * Never allocate packet memory with a m-alloc, but use a specific function.
+* sm/sign.c
+** Don't hardcode the use of RSA.
 
-  * Should we change names like mpi_write in g10/ so that we don't
-    use the prefix mpi here?
+* sm/gpgsm.c
+** Support --output
+** mark all unimplemented commands and options.
+** Print a hint when of MD2 is the cause for a problem.
 
-  * Implement the AXP syscall to enable bus traps for GLIB 2
+* 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
 
-  * 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.
+* agent/command.c
+** Make sure that secure memory is used where appropriate
 
-  * With option -i prompt before adding a key to the keyring and show some
-    info what we are about to add.
+* agent/pkdecrypt.c, agent/pksign.c
+** Don't use stdio to return results.
 
-  * Speed up calculation of key validation.
+* agent/protect-tool.c
+** Export and import certificates along with the secret key.
+** Make it more comfortable; i.e. copy files to the correct place.
 
-  * --disable-asm should still assemble _udiv_qrnnd when needed
+* Move pkcs-1 encoding into libgcrypt.
 
-  * Skip RO keyrings when importing a key.
+* Use a MAC to protect some files.
 
-  * Use the newest encryption key if only the main key has been given.
+* sm/export.c
+** Return an error code or a status info per user ID.
 
-  * replace the keyserver stuff either by a call to a specialized
-    utility and SOCKSify this utility.
+* scd/apdu.c
+** We need close_reader functionality
 
-  * Check the beginning of file to detect already compressed files (gzip,
-    bzip2, xdelta and some picture formats)
+* ALL
+** Return IMPORT_OK status.
 
-  * Delay the read of the passphrase-fd afte a NEED_PASSPHRASE.  But this
-    may break some scripts.
+* Where is http.c, regcomp.c, srv.c, w32reg.c  ?
 
-  * 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.
+* scd/sc-investigate
+** Enhance with card compatibility check
 
+* scd/app-openpgp
+  Do a pre-check to make sure that the minimum length condition of the
+  PINs are satisied - this avoid useless retry counter decrements in
+  case the PIN dialog is accidently hit.
 
-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.
-
+  Must check that the fingerprint used is not the one of the
+  authentication key.  Old GnuPG versions seem to encode the wrong
+  keyID.
\ No newline at end of file