Changes by Jose and Tommy.
[gpgme.git] / gpgme / ChangeLog
1 2001-05-28  Werner Koch  <wk@gnupg.org>
2
3         * version.c (gpgme_check_engine): Stop version number parsing at
4         the opening angle and not the closing one.  By Tommy Reynolds.
5
6 2001-05-01  José Carlos García Sogo <jose@jaimedelamo.eu.org>
7
8         * encrypt.c (gpgme_op_encrypt_start): Deleted the assert ( !c->gpg )
9         line, because it gave an error if another operation had been made 
10         before using the same context.
11         
12         * decrypt.c (gpgme_op_decrypt_start): The same as above. Also added 
13         one line to release the gpg object in the context (if any).
14         
15 2001-04-26  Werner Koch  <wk@gnupg.org>
16
17         * key.c, key.h (_gpgme_key_cache_init): New.
18         (_gpgme_key_cache_add): New.
19         (_gpgme_key_cache_get): New.
20         * version.c (do_subsystem_inits): Init the cache.
21         * keylist.c (finish_key): Put key into the cache
22         * verify.c (gpgme_get_sig_key): First look into the cache.
23
24 2001-04-19  Werner Koch  <wk@gnupg.org>
25
26         * keylist.c (parse_timestamp): Adjusted for the changed
27         --fixed-list-mode of gpg 1.0.4h.
28
29 2001-04-05  Werner Koch  <wk@gnupg.org>
30
31         * verify.c (gpgme_op_verify_start): Enabled pipemode for detached sigs.
32
33 2001-04-04  Werner Koch  <wk@gnupg.org>
34
35         * w32-io.c (_gpgme_io_select): Don't select on the writer if there
36         are still bytes pending.  Timo found this not easy to track down
37         race condition. 
38
39 2001-04-02  Werner Koch  <wk@gnupg.org>
40
41         * gpgme.h: Add GPGME_ATTR_KEY_{EXPIRED,DISABLED}.
42         * key.c (gpgme_key_get_ulong_attr): And return those attribs.
43
44         * verify.c (gpgme_get_sig_key): Set keyliosting mode depending on 
45         the mode set in the current context.  Suggested by Timo.
46
47         * key.c (gpgme_key_get_ulong_attr): Return can_certify and not
48         can_encrypt. By Timo.
49
50 2001-03-30  Werner Koch  <wk@gnupg.org>
51
52         * debug.c (debug_init): Allow to specify a debug file.
53         (_gpgme_debug_level): New.
54
55         * posix-io.c (_gpgme_io_read, _gpgme_io_write): Print output.
56         (_gpgme_io_select): Debug only with level > 2.
57
58 2001-03-15  Werner Koch  <wk@gnupg.org>
59
60         * rungpg.c: Included time.h.
61
62         * key.h: New keyflags for capabilities.
63         * keylist.c (set_mainkey_capability, set_subkey_capability): New.
64         (keylist_colon_handler): Parse them.
65         * gpgme.h: New attribute values for capabilties.
66         * key.c (gpgme_key_get_string_attr): Return them.
67         (capabilities_to_string): New.
68         (gpgme_key_get_ulong_attr): Return the global caps.
69
70 2001-03-14  Werner Koch  <wk@gnupg.org>
71
72         * w32-io.c (destroy_reader,destroy_writer): Fixed syntax error. 
73         Thanks to Jan Oliver Wagner.
74
75 2001-03-13  Werner Koch  <wk@gnupg.org>
76
77         * context.h: Add invalid and revoke flags to user_id structure.
78         * keylist.c (gpgme_op_keylist_start): Use --fixed-list-mode.
79         (keylist_colon_handler): Adjust for that.
80         (set_userid_flags): New. 
81         (set_mainkey_trust_info): Handle new key invalid flag
82         (set_subkey_trust_info): Ditto.
83         * gpgme.h: Add new attributes for key and user ID flags.
84         * key.c (_gpgme_key_append_name): Init these flags
85         (gpgme_key_get_as_xml): Print them.
86         (one_uid_as_xml): New helper for above.
87         (gpgme_key_get_string_attr, gpgme_key_get_ulong_attr):
88         Return the new attributes.  Enhanced, so that subkey information
89         can be returned now.
90
91 2001-02-28  Werner Koch  <wk@gnupg.org>
92
93         * w32-io.c (destroy_reader): Set stop_me flag.
94         (writer,create_writer,destroy_writer,find_writer,kill_writer): New.
95         (_gpgme_io_write): Use a writer thread to avaoid blocking.
96         (_gpgme_io_close): Cleanup a writer thread
97         (_gpgme_io_select): Repalce tthe faked wait on writing by a real
98         waiting which is now possible due to the use of a writer thread.
99
100 2001-02-20  Werner Koch  <wk@gnupg.org>
101
102         * w32-io.c (destroy_reader,kill_reader): New. 
103         (create_reader, reader): Add a new event to stop the thread.
104         (_gpgme_io_close): Kill the reader thread.
105
106         * posix-io.c (_gpgme_io_select): Handle frozen fds here. 
107         * 32-io.c (_gpgme_io_select): Ditto. Removed a bunch of unused code.
108
109         * wait.c: Reworked the whole thing.
110         * rungpg.c (_gpgme_gpg_new): Init pid to -1.
111         (_gpgme_gpg_release): Remove the process from the wait queue.
112
113 2001-02-19  Werner Koch  <wk@gnupg.org>
114
115         * w32-io.c (_gpgme_io_set_close_notify): New.
116         (_gpgme_io_close): Do the notification.
117
118         * posix-io.c (_gpgme_io_select): Use a 1 sec timeout and not 200
119         microseconds.
120
121         * wait.c (remove_process): Don't close the fd here.
122         (do_select): Set the fd to -1 and remove the is_closed flag everywhere.
123         (_gpgme_wait_on_condition): Remove the assert on the queue and
124         break out if we could not find the queue.  The whole thing should
125         be reworked.
126
127         * posix-io.c (_gpgme_io_set_close_notify): New.
128         (_gpgme_io_close): Do the notification.
129
130         * rungpg.c (close_notify_handler): New. 
131         (_gpgme_gpg_new): Register a callback for the fd.
132         (_gpgme_gpg_set_colon_line_handler): Ditto.
133         (build_argv): Ditto
134
135 2001-02-13  Werner Koch  <wk@gnupg.org>
136
137         * rungpg.c (struct reap_s): Replaced pid_t by int.
138
139         * types.h: Add ulong typedef.
140
141         * rungpg.c (do_reaping,_gpgme_gpg_housecleaning): New.
142         (_gpgme_gpg_release): Reap children.
143         * io.h, posix-io.c (_gpgme_io_kill): New.
144         * w32-io.c (_gpgme_io_kill): New (dummy).
145
146         * keylist.c (gpgme_op_keylist_start): Cancel a pending request.
147
148         * posix-io.c (_gpgme_io_read): Add some debug output. 
149         (_gpgme_io_write): Ditto.
150         (_gpgme_io_select): Increased the timeout.
151
152 2001-02-12  Werner Koch  <wk@gnupg.org>
153
154         Enhanced the signature verification, so that it can how handle
155         more than one signature and is able to return more information on 
156         the signatures.
157         * verify.c (gpgme_get_sig_key): New.
158         (gpgme_get_sig_status): New.
159
160         * gpgme.h: Add stdio.h. 
161         (GpgmeSigStat): New status DIFF.
162
163 2001-02-01  Werner Koch  <wk@gnupg.org>
164
165         * w32-io.c (set_synchronize): Add EVENT_MODIFY_STATE.  Add Debug
166         code to all Set/ResetEvent().
167
168         * rungpg.c (read_status): Check for end of stream only if we have
169         an r.  By Timo.
170
171 2001-01-31  Werner Koch  <wk@gnupg.org>
172
173         * wait.c (_gpgme_wait_on_condition): Removed all exit code processing.
174         (propagate_term_results,clear_active_fds): Removed.
175         (count_active_fds): Renamed to .. 
176         (count_active_and_thawed_fds): .. this and count only thawed fds. 
177
178         * rungpg.c (gpg_colon_line_handler): Return colon.eof and not
179         status.eof ;-)
180
181 2001-01-30  Werner Koch  <wk@gnupg.org>
182
183         * w32-io.c (_gpgme_io_spawn): Use the supplied path arg.
184
185         * version.c (get_engine_info): Return better error information.
186
187         * posix-util.c, w32-util.c: New.
188         (_gpgme_get_gpg_path): New, suggested by Jan-Oliver.
189         * rungpg.c (_gpgme_gpg_spawn): Use new function to get GPG's path.
190
191         * signers.c (gpgme_signers_add): Ooops, one should test code and
192         not just write it; the newarr was not assigned.  Thanks to José
193         for pointing this out.  Hmmm, still not tested, why shoudl a coder
194         test his fix :-)
195
196         * w32-io.c: Does now use reader threads, so that we can use
197         WaitForMultipleObjects. 
198         * sema.h, posix-sema.c, w32-sema.c: Support for Critcial sections.
199         Does currently only work for W32.
200
201         * debug.c, util.h : New. Changed all fprintfs to use this new
202         set of debugging functions.
203
204 2001-01-23  Werner Koch  <wk@gnupg.org>
205
206         * data.c (_gpgme_data_release_and_return_string): Fixed string
207         termination.
208
209 2001-01-22  Werner Koch  <wk@gnupg.org>
210
211         * delete.c: New.
212
213         * signers.c: New.
214         * key.c (gpgme_key_ref, gpgme_key_unref): New.
215         * sign.c (gpgme_op_sign_start): Allow the use of other keys.
216
217         * version.c (gpgme_get_engine_info,gpgme_check_engine): New.
218         * rungpg.c (_gpgme_gpg_set_simple_line_handler): New.
219
220 2001-01-05  Werner Koch  <wk@gnupg.org>
221
222         * data.c (gpgme_data_rewind): Allow to rewind data_type_none.
223
224
225  Copyright 2001 g10 Code GmbH
226
227  This file is free software; as a special exception the author gives
228  unlimited permission to copy and/or distribute it, with or without
229  modifications, as long as this notice is preserved.
230
231  This file is distributed in the hope that it will be useful, but
232  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
233  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
234