Fixed a build bug (straw letter in sm/import.c) and updated the documentation.
[gnupg.git] / TODO
1                                                               -*- outline -*-
2
3 * src/base64
4 ** Make parsing more robust
5 Currently we don't cope with overlong lines in the best way.
6
7 * sm/call-agent.c
8 ** The protocol uses an incomplete S-expression
9 We should always use valid S-Exp and not just parts.
10 ** Some code should go into import.c
11 ** When we allow concurrent service request in gpgsm, we
12 might want to have an agent context for each service request
13 (i.e. Assuan context).
14 ** There is no error report if GPG_AGENT_INFO has been set but the agent is not anymore running. 
15
16 * sm/certreqgen.c
17 ** Improve error reporting
18 ** Do some basic checks on the supplied DNs
19
20 * sm/certchain.c
21 ** When a certificate chain was sucessfully verified, make ephemeral certs used  in this chain permanent.
22 ** figure out how to auto retrieve a key by serialno+issuer.
23    Dirmngr is currently not able to parse more than the CN.
24 ** Try all available root certs in case we have several of them in our keybox.
25  For example TC TrustCenter Class 1 CA certs are ambiguous becuase
26  user certs don't come with a authorityKeyIdentifier.
27 ** Support extKeyUsage
28  The only value which makes sense for us is emailProtection (I have
29  not yet found a test cetificate with that).  We might want to allow
30  other usages depending on special options (e.g. an option used for code
31  signing).
32
33 * sm/decrypt.c
34 ** replace leading zero in integer hack by a cleaner solution
35
36 * sm/sign.c
37 ** Don't hardcode the use of RSA.
38
39 * sm/gpgsm.c
40 ** Support --output for all commands
41 ** mark all unimplemented commands and options.
42 ** Print a hint when MD2 is the cause for a problem.
43 ** Implement --default-key
44
45 * sm/keydb.c
46 ** Check file permissions
47 ** Write a keybox header and check for that magic value.
48 ** Check that all error code mapping is done.
49 ** Remove the inter-module dependencies between gpgsm and keybox
50 ** Add an source_of_key field
51 ** We need an error code GPG_ERR_NOT_LOCKED
52
53 * agent/gpg-agent.c
54 ** A SIGHUP should also restart the scdaemon
55    But do this only after all connections terminated.
56
57 * agent/command.c
58 ** Make sure that secure memory is used where appropriate
59
60 * agent/pkdecrypt.c, agent/pksign.c
61 ** Don't use stdio to return results.
62
63 * agent/divert-scd.c
64  Remove the agent_reset_scd kludge.
65
66 * agent/protect-tool.c
67 ** Export and import certificates along with the secret key.
68 ** Make it more comfortable; i.e. copy files to the correct place.
69 ** BUG? --p12-export seems to work only with unprotected keys
70
71 * Move pkcs-1 encoding into libgcrypt.
72
73 * Use a MAC to protect some files.
74
75 * sm/export.c
76 ** Return an error code or a status info per user ID.
77
78 * scd/apdu.c
79 ** We need close_reader functionality
80
81 * ALL
82 ** Return IMPORT_OK status.
83
84 * Where is http.c, regcomp.c, srv.c, w32reg.c  ?
85
86 * scd/sc-investigate
87 ** Enhance with card compatibility check
88
89 * scd/app-openpgp
90   Must check that the fingerprint used is not the one of the
91   authentication key.  Old GnuPG versions seem to encode the wrong
92   keyID.
93
94 * Store the revocation status directly in the Keybox
95
96 * tests
97 ** Makefile.am
98   We use printf(1) to setup the library path, this is not portable.
99   Furthermore LD_LIBRARY_PATH is not used on all systems.  It doesn't
100   matter for now, because we use some GNU/*BSDish features anyway.
101
102