add a few notes.
[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
52 * agent/gpg-agent.c
53 ** A SIGHUP should also restart the scdaemon
54    But do this only after all connections terminated.
55
56 * agent/command.c
57 ** Make sure that secure memory is used where appropriate
58
59 * agent/pkdecrypt.c, agent/pksign.c
60 ** Don't use stdio to return results.
61
62 * agent/protect-tool.c
63 ** Export and import certificates along with the secret key.
64 ** Make it more comfortable; i.e. copy files to the correct place.
65 ** BUG? --p12-export seems to work only with unprotected keys
66
67 * Move pkcs-1 encoding into libgcrypt.
68
69 * Use a MAC to protect some files.
70
71 * sm/export.c
72 ** Return an error code or a status info per user ID.
73
74 * scd/apdu.c
75 ** We need close_reader functionality
76
77 * ALL
78 ** Return IMPORT_OK status.
79
80 * Where is http.c, regcomp.c, srv.c, w32reg.c  ?
81
82 * scd/sc-investigate
83 ** Enhance with card compatibility check
84
85 * scd/app-openpgp
86   Must check that the fingerprint used is not the one of the
87   authentication key.  Old GnuPG versions seem to encode the wrong
88   keyID.
89
90 * Store the revocation status directly in the Keybox
91
92 * tests
93 ** Makefile.am
94   We use printf(1) to setup the library path, this is not portable.
95   Furthermore LD_LIBRARY_PATH is not used on all systems.  It doesn't
96   matter for now, because we use some GNU/*BSDish features anyway.
97
98