* findkey.c (agent_key_from_file): Now return an error code so
[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
15 * sm/certreqgen.c
16 ** Improve error reporting
17 ** Do some basic checks on the supplied DNs
18
19 * sm/certchain.c
20 ** When a certificate chain was sucessfully verified, make ephemeral certs used  in this chain permanent.
21 ** figure out how to auto retrieve a key by serialno+issuer.
22    Dirmngr is currently not able to parse more than the CN.
23 ** Try all available root certs in case we have several of them in our keybox.
24  For example TC TrustCenter Class 1 CA certs are ambiguous becuase
25  user certs don't come with a authorityKeyIdentifier.
26
27 * sm/decrypt.c
28 ** replace leading zero in integer hack by a cleaner solution
29
30 * sm/sign.c
31 ** Don't hardcode the use of RSA.
32
33 * sm/gpgsm.c
34 ** Support --output for all commands
35 ** mark all unimplemented commands and options.
36 ** Print a hint when MD2 is the cause for a problem.
37 ** Implement --default-key
38
39 * sm/keydb.c
40 ** Check file permissions
41 ** Write a keybox header and check for that magic value.
42 ** Check that all error code mapping is done.
43 ** Remove the inter-module dependencies between gpgsm and keybox
44 ** Add an source_of_key field
45
46 * agent/command.c
47 ** Make sure that secure memory is used where appropriate
48
49 * agent/pkdecrypt.c, agent/pksign.c
50 ** Don't use stdio to return results.
51
52 * agent/protect-tool.c
53 ** Export and import certificates along with the secret key.
54 ** Make it more comfortable; i.e. copy files to the correct place.
55
56 * Move pkcs-1 encoding into libgcrypt.
57
58 * Use a MAC to protect some files.
59
60 * sm/export.c
61 ** Return an error code or a status info per user ID.
62
63 * scd/apdu.c
64 ** We need close_reader functionality
65
66 * ALL
67 ** Return IMPORT_OK status.
68
69 * Where is http.c, regcomp.c, srv.c, w32reg.c  ?
70
71 * scd/sc-investigate
72 ** Enhance with card compatibility check
73
74 * scd/app-openpgp
75   Must check that the fingerprint used is not the one of the
76   authentication key.  Old GnuPG versions seem to encode the wrong
77   keyID.
78
79 * Store the revocation status directly in the Keybox
80
81 * tests
82 ** Makefile.am
83   We use printf(1) to setup the library path, this is not portable.
84   Furthermore LD_LIBRARY_PATH is not used on all systems.  It doesn't
85   matter for now, because we use some GNU/*BSDish features anyway.
86
87