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