(check_for_running_agent): New.
[gnupg.git] / TODO
diff --git a/TODO b/TODO
index 496babf..dd69544 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,5 +1,6 @@
                                                               -*- outline -*-
 
+
 * src/base64
 ** Make parsing more robust
 Currently we don't cope with overlong lines in the best way.
@@ -11,7 +12,6 @@ We should always use valid S-Exp and not just parts.
 ** 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. 
 
 * sm/certreqgen.c
 ** Improve error reporting
@@ -22,37 +22,43 @@ might want to have an agent context for each service request
 ** 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.
+
 * sm/decrypt.c
 ** replace leading zero in integer hack by a cleaner solution
 
-* sm/sign.c
-** Don't hardcode the use of RSA.
-
 * 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.
 
 * 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
-** We need an error code GPG_ERR_NOT_LOCKED
-   It is already libgpg-error.
 
 * 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.
+   But do this only after all connections terminated.  As of now we
+   only send a RESET.
 
 * 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.
@@ -69,11 +75,6 @@ might want to have an agent context for each service request
 * 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.
-
 * tests
 ** Makefile.am
   We use printf(1) to setup the library path, this is not portable.
@@ -82,4 +83,28 @@ might want to have an agent context for each service request
 
 ** Add a test to check the extkeyusage.
 
+* doc/
+** Explain how to setup a root CA key as trusted
+** Explain how trustlist.txt might be managed.
+
+
+* 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.
+
+** For pkcs#10 request header.
+   We use "NEW CERTIFICATE REQUEST" the specs say "CERTIFICATE
+   REQUEST" should be used.  However it seems that their CA software
+   is also able to use our header.  Binary pkcs#10 request are not
+   allowed.
+
+** Dirmngr:  name subordination (nameRelativeToCRLIssuer) 
+   is not yet supported by Dirmngr.
+
+** Dirmngr: CRL DP URI
+  The CRL DP shall use an URI for LDAP without a host name.  The host
+  name shall be looked by using the DN in the URI.  We don't implement
+  this yet.  Solution is to have a mapping DN->host in our ldapservers
+  configuration file.