doc/
[gpgme.git] / TODO
1 Hey Emacs, this is -*- outline -*- mode!
2
3 * ABI's to break:
4 ** string representation of non-secret keys and ATTR_IS_SECRET is NULL,
5    which can not be differentiated from the case that it is not
6    representable.
7
8 * Implement posix-sema.c
9
10 * Allow to use GTK's main loop instead of the select stuff in
11   wait.c
12
13 * add locking to the key cache?
14
15 * GpgmeKey misses GPGME_ATTR_EXPIRE attribute
16
17 * Add ATTR to return the number of subkeys or uids.
18
19 * Factor out common code in _op_*_start functions.
20
21 * Documentation
22 ** Add note about GPGME clearing out pointer return values.
23 ** validity/trust
24
25 * Engines
26 ** Move code common to all engines up from gpg to engine.
27 ** engine operations can return General Error on unknown protocol
28    (it's an internal error, as select_protocol checks already).
29
30 * Operations
31 ** Export status handler need much more work.
32 ** Import should return a useful error when one happened.
33 ** Genkey should return something more useful than General_Error.
34
35 * Error Values
36 ** Map ASSUAN/GpgSM ERR error values in a better way than is done now.
37 ** Verify (and document) if Read_Error, Write_Error, Pipe_Error set errno.
38
39 * Tests
40 ** t-data
41 *** Test gpgme_data_release_and_get_mem.
42 *** Test gpgme_data_rewind for invalid types.
43 *** Test gpgme_data_read's readable feature.
44
45 * Build suite
46 ** Make sure everything is cleaned correctly (esp. test area).
47 ** There is a spurious 4/10 tests failed in some conditions.
48    Rebuilding from scratch works around that.
49
50 Bugs reported by Stephane Corthesy:
51 > - When returning a GpgmeKey GPGME_ATTR_COMMENT attribute, characters  
52 > like ":" are not un-escaped, they are returned as \x3a
53
54 > BTW, here's another bug: it it not possible to retrieve fingerprints  
55 > for subkeys
56
57 > In GpgmeRecipients, would it be possible to provide a function which  
58 > would return the validity assigned to a name contained in the  
59 > GpgmeRecipients instance?
60
61 > - There is an inconsistent behaviour: if we pass three times an  
62 > invalid (but non empty) passphrase, return code is GPGME_No_Data, but  
63 > if we pass three times an empty (and invalid) passphrase, we get  
64 > GPGME_No_Passphrase.
65
66 > passphrase callback. If I use the same GpgmeContext as the one which  
67 > is currently asking for a passphrase, my app crashes: the r_hd in
68 > the  
69 > callback has become invalid; if I use a brand new one, the callback  
70 > is called recursively, when I ask to enumerate keys.