X-Git-Url: http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=blobdiff_plain;f=TODO;h=5182fc8a8ea12de32e86349ae0711ed57bf90cd0;hp=c7eca304efa737f20b0baef8a3f609b934d4324a;hb=c741c6fc3aaa8b75a434faa143c06dd059970d41;hpb=581f5ddb1724f469dc7f934f5093179dfb1e05a9 diff --git a/TODO b/TODO index c7eca304e..5182fc8a8 100644 --- a/TODO +++ b/TODO @@ -1,48 +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. -** figure out how to auto retrieve a key by serialno+issuer. - Dirmngr is currently not able to parse more than the CN. - -* sm/certlist.c -** ocspSigning usage is not fully implemented - We should review the entire CRL and OCSP validation system. - Okay. This has been fixed in dirmngr when running it in system - daemon mode. +** Try to keep certificate references somewhere + This will help with some of our caching code. We also need to test + 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. -** 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. ** support the anyPolicy semantic -** Check that we are really following the verification procedures in rfc3280. +** 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 @@ -50,55 +33,86 @@ 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/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. +* 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 -* agent/divert-scd.c - Remove the agent_reset_scd kludge. - * Move pkcs-1 encoding into libgcrypt. -* Use a MAC to protect some files. +* Use a MAC to protect sensitive files. + The problem here is that we need yet another key and it is unlikely + that users are willing to remember that key too. It is possible to + do this with a smartcard, though. * sm/export.c ** Return an error code or a status info per user ID. -* Where is http.c, regcomp.c, srv.c, w32reg.c ? +* 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 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. +** Resolve fixme in do_sign of app-dinsig. +** Disconnect + Card timeout is currently used as a boolean. + Add disconnect support for the ccid driver. + +* Regression tests +** Add a regression 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? + + +* 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). + +* 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. -* scd/sc-investigate -** Enhance with card compatibility check +* Manual +** Document all gpgsm options. + -* 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. +* 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. -** Add a test to check the extkeyusage. +* Bugs -* 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. -* Requirements by the BSI -** Support authorityKeyIdentifier.keyIdentifier - This needs support in libksba/src/cert.c as well as in sm/*.c. - Need test certs as well. Same goes for CRL authorityKeyIdentifier. +* 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). -* 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 +* RFC 4387: Operational Protocols: Certificate Store Access via HTTP + Do we support this?