* README: Updated.
[gnupg.git] / TODO
diff --git a/TODO b/TODO
index bc6ed77..9118415 100644 (file)
--- a/TODO
+++ b/TODO
+                                                              -*- outline -*-
 
-  * add some status output put for signing and encryption.
-    replace the putc in primegen with some kind of status-fd outputs.
+* src/base64
+** Make parsing more robust
+Currently we don't cope with overlong lines in the best way.
 
-  * Fix revocation and expire stuff.
+* 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. 
 
-  * Check calculation of key validity.
+* sm/certreqgen.c
+** Improve error reporting
+** Do some basic checks on the supplied DNs
 
-  * See why we always get this "Hmmm public key lost" - Is it fixed?
+* 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.
+** Support extKeyUsage
+ The only value which makes sense for us is emailProtection (I have
+ not yet found a test cetificate with that).  We might want to allow
+ other usages depending on special options (e.g. an option used for code
+ signing).
 
-  * print a warning when a revoked/expired secret key is used.
+* sm/decrypt.c
+** replace leading zero in integer hack by a cleaner solution
 
-  * remove more "Fixmes"
+* sm/sign.c
+** Don't hardcode the use of RSA.
 
-  * Use capabilities if available.  glibc2 does not support it yet?
-    What about 2.2 or should we use the system calls directly?
+* 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
 
-  * when decryptiong multiple key: print a warning only if no usable pubkey
-    encrypt package was found. Extension: display a list of all recipients.
+* 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
 
-  * Add NO_PUBKEY and NO_SECKEY status lines.
-  * Add more NODATA status lines
+* agent/gpg-agent.c
+** A SIGHUP should also restart the scdaemon
+   But do this only after all connections terminated.
 
-  * Solaris make has problems with the generated POTFILES - seems to be a
-    gettext bug.
+* agent/command.c
+** Make sure that secure memory is used where appropriate
 
+* agent/pkdecrypt.c, agent/pksign.c
+** Don't use stdio to return results.
 
+* agent/divert-scd.c
+ Remove the agent_reset_scd kludge.
+
+* 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.
+** BUG? --p12-export seems to work only with unprotected keys
+
+* Move pkcs-1 encoding into libgcrypt.
+
+* Use a MAC to protect some files.
+
+* sm/export.c
+** Return an error code or a status info per user ID.
+
+* scd/apdu.c
+** We need close_reader functionality
+
+* ALL
+** Return IMPORT_OK status.
+
+* Where is http.c, regcomp.c, srv.c, w32reg.c  ?
+
+* scd/sc-investigate
+** Enhance with card compatibility check
+
+* 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.
+
+* Store the revocation status directly in the Keybox
+
+* 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.
 
-Nice to have
-------------
-  * use DEL and ^H for erasing the previous character (util/ttyio.c).
-  * Print a warning if the directory mode is wrong.
-  * replace the keyserver stuff either by a call to a specialized
-    utility or SOCKSify the stuff.
-  * Do a real fix for bug #7 or document that it is a PGP 5 error.
-  * clearsig: Keep lineendings while writing the output of a clearsig
-  * 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.  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?
-  * change the fake_data stuff to mpi_set_opaque
-  * Stats about used random numbers.