gpg: Replace remaining uses of stdio by estream.
[gnupg.git] / TODO
diff --git a/TODO b/TODO
index 6033d91..5182fc8 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,39 +1,31 @@
                                                               -*- outline -*-
 
-* src/base64
+* src/base64                                                  
 ** Make parsing more robust
-Currently we don't cope with overlong lines in the best way.
+   Currently we don't cope with overlong lines in the best way.
+** Check that we really release the ksba reader/writer objects.
 
 * 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).
-
-* sm/certreqgen.c
-** Improve error reporting
-** Do some basic checks on the supplied DNs
+   might want to have an agent context for each service request
+   (i.e. Assuan context).
 
 * sm/certchain.c
-** When a certificate chain was sucessfully verified, make ephemeral certs used  in this chain permanent.
 ** Try to keep certificate references somewhere
   This will help with some of our caching code.  We also need to test
-  that cachining; in particular "regtp_ca_chainlen".
+  that caching; in particular "regtp_ca_chainlen".
 
 * sm/decrypt.c
 ** replace leading zero in integer hack by a cleaner solution
 
 * sm/gpgsm.c
-** Support --output for all commands
-** mark all unimplemented commands and options.
 ** Implement --default-key
 ** support the anyPolicy semantic
-** Check that we are really following the verification procedures in rfc3280.
-** Implement a --card-status command.
-   This is useful to check whether a card is supported at all.
-
+** Should we prefer nonRepudiation certs over plain signing certs?
+   Also: Do we need a way to allow the selection of a qualSig cert
+   over a plain one?  The background is that the Telesec cards have 3
+   certs capable of signing all with the same subject name.
 
 * sm/keydb.c
 ** Check file permissions
@@ -41,11 +33,14 @@ might want to have an agent context for each service request
 ** Remove the inter-module dependencies between gpgsm and keybox
 ** Add an source_of_key field
 
+* agent/
+** If we detect that a private key has been deleted
+   Bump the key event counter.
+
 * 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.
 ** Support DSA
 
 * Move pkcs-1 encoding into libgcrypt.
@@ -58,50 +53,66 @@ might want to have an agent context for each service request
 * sm/export.c
 ** Return an error code or a status info per user ID.
 
-* scd/tlv.c
-  The parse_sexp fucntion should not go into this file.  Check whether
+* common/tlv.c
+  The parse_sexp function should not go into this file.  Check whether
   we can change all S-expression handling code to make use of this
   function.
 
 * scd
 ** Application context vs. reader slot
-  We have 2 concurrent method of tracking whether a read is in use:
-  Using the session_list in command.c and the lock_table in app.c.  IT
+  We have 2 concurrent method of tracking whether a reader is in use:
+  Using the session_list in command.c and the lock_table in app.c.  It
   would be better to do this just at one place. First we need to see
   how we can support cards with multiple applications.
-** Detecting a removed card works only after the ticker detected it.
- We should check the card status in open-card to make this smoother.
- Needs to be integrated with the status file update, though.  It is
- not a real problem because application will get a card removed status
- and should the send a reset to try solving the problem.
+** Resolve fixme in do_sign of app-dinsig.
+** Disconnect 
+  Card timeout is currently used as a boolean.  
+  Add disconnect support for the ccid driver.
 
-* 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.
+* Regression tests
+** Add a regression test to check the extkeyusage.
 
-** Add a test to check the extkeyusage.
+* Windows port (W32)
+** Regex support is disabled
+  We need to adjust the test to find the regex we have anyway in 
+  gpg4win.  Is that regex compatible to the OpenPGP requirement?
 
-* doc/
-** Explain how to setup a root CA key as trusted
-** Explain how trustlist.txt might be managed.
-** Write a script to generate man pages from texi.
-   In progress (yatm)
 
+* sm/
+** check that we issue NO_SECKEY xxx if a -u key was not found
+   We don't. The messages returned are also wrong (recipient vs. signer).
 
-* Windows port
-** gpgsm's LISTKEYS does not yet work
-    Fix is to change everything to libestream
-** Signals are not support 
-    This means we can't reread a configuration
-** No card status notifications.
+* g10/
+** issue a NO_SECKEY xxxx if a -u key was not found.
 
+* Extend selinux support to other modules
+  See also http://etbe.coker.com.au/2008/06/06/se-linux-support-gpg/
 
+* UTF-8 specific TODOs
+  None.
 
-* sm/
-** --include-certs is as of now still a dummy command line option
-** check that we issue NO_SECKEY xxx if a -u key was not found
+* Manual
+** Document all gpgsm options.
+   
+
+* Pinpad Reader
+  We do not yet support P15 applications.  The trivial thing using
+  ASCII characters will be easy to implement but the other cases need
+  some more work.
+
+* Bugs
+
+
+* Howtos
+** Migrate OpenPGP keys to another system
+
+* Gpg-Agent Locale
+  Although we pass LC_MESSAGE from gpgsm et al. to Pinentry, this has
+  only an effect on the stock GTK strings (e.g. "OK") and not on any
+  strings gpg-agent generates and passes to Pinentry.  This defeats
+  our design goal to allow changing the locale without changing
+  gpg-agent's default locale (e.g. by the command updatestartuptty).
+
+* RFC 4387: Operational Protocols: Certificate Store Access via HTTP
+  Do we support this?
 
-* gpg/
-** issue a NO_SECKEY xxxx if a -u key was not found.