1 2001-09-17 Werner Koch <wk@gnupg.org>
3 * keylist.c (finish_key): Shortcut for no tmp_key. Changed all
4 callers to use this function without a check for tmp_key.
6 * keylist.c (gpgme_op_keylist_next): Reset the key_cond after
7 emptying the queue. Bug reported by Rick van Rein.
9 2001-09-12 Werner Koch <wk@gnupg.org>
11 * data.c (gpgme_data_rewind): Allow rewind for callbacks.
13 2001-09-07 Werner Koch <wk@gnupg.org>
15 * rungpg.h: Add NO_RECP.
16 * encrypt.c (encrypt_status_handler): Take on No_RECP.
17 (gpgme_op_encrypt): Better error return.
19 * verify.c (verify_status_handler): Take on NODATA.
21 2001-09-03 Werner Koch <wk@gnupg.org>
23 * rungpg.h: Added STATUS_INV_RECP.
24 * gpgme.c (_gpgme_release_result): Add support for new
26 * encrypt.c (append_xml_encinfo): New.
27 (encrypt_status_handler): Add some status parsing.
28 (_gpgme_release_encrypt_result): New.
30 2001-08-29 Werner Koch <wk@gnupg.org>
32 * recipient.c (gpgme_recipients_release): Free the list. By Timo.
34 * keylist.c (keylist_colon_handler): Do a finish key if we receive
35 an EOF here. This is probably the reason for a lot of bugs
36 related to keylisting. It is so obvious. Kudos to Enno Cramer
37 for pointing that out.
39 2001-08-28 Werner Koch <wk@gnupg.org>
41 * gpgme.c, gpgme.h (gpgme_get_op_info): New.
42 (_gpgme_set_op_info): New.
43 (_gpgme_release_result): Reset the op_info here.
44 * sign.c (append_xml_siginfo): New.
45 (sign_status_handler): Store the sig create information.
47 2001-07-31 Werner Koch <wk@gnupg.org>
49 * encrypt.c (gpgme_op_encrypt): Hack to detect no valid recipients.
51 2001-07-30 Werner Koch <wk@gnupg.org>
53 * gpgme.c (gpgme_get_armor,gpgme_get_textmode): New.
55 * rungpg.c (build_argv): Disable armor comments
56 * w32-io.c (build_commandline): Need to add quotes here
58 2001-07-24 Werner Koch <wk@gnupg.org>
60 * data.c (gpgme_data_read): Add a a way to return the available bytes.
62 2001-07-23 Werner Koch <wk@gnupg.org>
64 * util.c: Removed stpcpy() because we use the version from jnlib.
66 2001-07-19 Werner Koch <wk@gnupg.org>
68 * mkstatus: Define the collating sequence for sort.
70 2001-06-26 Werner Koch <wk@gnupg.org>
72 * rungpg.h: Add STATUS_UNEXPECTED as suggested by Timo.
74 2001-06-15 Werner Koch <wk@gnupg.org>
76 * keylist.c (set_userid_flags): Fixed the assigned values. Kudos
77 to Timo for pointing this out.
79 2001-06-01 Werner Koch <wk@gnupg.org>
81 * debug.c (_gpgme_debug_begin): Fixed a /tmp race. Noted by
84 2001-05-28 Werner Koch <wk@gnupg.org>
86 * version.c (gpgme_check_engine): Stop version number parsing at
87 the opening angle and not the closing one. By Tommy Reynolds.
89 2001-05-01 José Carlos García Sogo <jose@jaimedelamo.eu.org>
91 * encrypt.c (gpgme_op_encrypt_start): Deleted the assert ( !c->gpg )
92 line, because it gave an error if another operation had been made
93 before using the same context.
95 * decrypt.c (gpgme_op_decrypt_start): The same as above. Also added
96 one line to release the gpg object in the context (if any).
98 2001-04-26 Werner Koch <wk@gnupg.org>
100 * key.c, key.h (_gpgme_key_cache_init): New.
101 (_gpgme_key_cache_add): New.
102 (_gpgme_key_cache_get): New.
103 * version.c (do_subsystem_inits): Init the cache.
104 * keylist.c (finish_key): Put key into the cache
105 * verify.c (gpgme_get_sig_key): First look into the cache.
107 2001-04-19 Werner Koch <wk@gnupg.org>
109 * keylist.c (parse_timestamp): Adjusted for the changed
110 --fixed-list-mode of gpg 1.0.4h.
112 2001-04-05 Werner Koch <wk@gnupg.org>
114 * verify.c (gpgme_op_verify_start): Enabled pipemode for detached sigs.
116 2001-04-04 Werner Koch <wk@gnupg.org>
118 * w32-io.c (_gpgme_io_select): Don't select on the writer if there
119 are still bytes pending. Timo found this not easy to track down
122 2001-04-02 Werner Koch <wk@gnupg.org>
124 * gpgme.h: Add GPGME_ATTR_KEY_{EXPIRED,DISABLED}.
125 * key.c (gpgme_key_get_ulong_attr): And return those attribs.
127 * verify.c (gpgme_get_sig_key): Set keyliosting mode depending on
128 the mode set in the current context. Suggested by Timo.
130 * key.c (gpgme_key_get_ulong_attr): Return can_certify and not
131 can_encrypt. By Timo.
133 2001-03-30 Werner Koch <wk@gnupg.org>
135 * debug.c (debug_init): Allow to specify a debug file.
136 (_gpgme_debug_level): New.
138 * posix-io.c (_gpgme_io_read, _gpgme_io_write): Print output.
139 (_gpgme_io_select): Debug only with level > 2.
141 2001-03-15 Werner Koch <wk@gnupg.org>
143 * rungpg.c: Included time.h.
145 * key.h: New keyflags for capabilities.
146 * keylist.c (set_mainkey_capability, set_subkey_capability): New.
147 (keylist_colon_handler): Parse them.
148 * gpgme.h: New attribute values for capabilties.
149 * key.c (gpgme_key_get_string_attr): Return them.
150 (capabilities_to_string): New.
151 (gpgme_key_get_ulong_attr): Return the global caps.
153 2001-03-14 Werner Koch <wk@gnupg.org>
155 * w32-io.c (destroy_reader,destroy_writer): Fixed syntax error.
156 Thanks to Jan Oliver Wagner.
158 2001-03-13 Werner Koch <wk@gnupg.org>
160 * context.h: Add invalid and revoke flags to user_id structure.
161 * keylist.c (gpgme_op_keylist_start): Use --fixed-list-mode.
162 (keylist_colon_handler): Adjust for that.
163 (set_userid_flags): New.
164 (set_mainkey_trust_info): Handle new key invalid flag
165 (set_subkey_trust_info): Ditto.
166 * gpgme.h: Add new attributes for key and user ID flags.
167 * key.c (_gpgme_key_append_name): Init these flags
168 (gpgme_key_get_as_xml): Print them.
169 (one_uid_as_xml): New helper for above.
170 (gpgme_key_get_string_attr, gpgme_key_get_ulong_attr):
171 Return the new attributes. Enhanced, so that subkey information
174 2001-02-28 Werner Koch <wk@gnupg.org>
176 * w32-io.c (destroy_reader): Set stop_me flag.
177 (writer,create_writer,destroy_writer,find_writer,kill_writer): New.
178 (_gpgme_io_write): Use a writer thread to avaoid blocking.
179 (_gpgme_io_close): Cleanup a writer thread
180 (_gpgme_io_select): Repalce tthe faked wait on writing by a real
181 waiting which is now possible due to the use of a writer thread.
183 2001-02-20 Werner Koch <wk@gnupg.org>
185 * w32-io.c (destroy_reader,kill_reader): New.
186 (create_reader, reader): Add a new event to stop the thread.
187 (_gpgme_io_close): Kill the reader thread.
189 * posix-io.c (_gpgme_io_select): Handle frozen fds here.
190 * 32-io.c (_gpgme_io_select): Ditto. Removed a bunch of unused code.
192 * wait.c: Reworked the whole thing.
193 * rungpg.c (_gpgme_gpg_new): Init pid to -1.
194 (_gpgme_gpg_release): Remove the process from the wait queue.
196 2001-02-19 Werner Koch <wk@gnupg.org>
198 * w32-io.c (_gpgme_io_set_close_notify): New.
199 (_gpgme_io_close): Do the notification.
201 * posix-io.c (_gpgme_io_select): Use a 1 sec timeout and not 200
204 * wait.c (remove_process): Don't close the fd here.
205 (do_select): Set the fd to -1 and remove the is_closed flag everywhere.
206 (_gpgme_wait_on_condition): Remove the assert on the queue and
207 break out if we could not find the queue. The whole thing should
210 * posix-io.c (_gpgme_io_set_close_notify): New.
211 (_gpgme_io_close): Do the notification.
213 * rungpg.c (close_notify_handler): New.
214 (_gpgme_gpg_new): Register a callback for the fd.
215 (_gpgme_gpg_set_colon_line_handler): Ditto.
218 2001-02-13 Werner Koch <wk@gnupg.org>
220 * rungpg.c (struct reap_s): Replaced pid_t by int.
222 * types.h: Add ulong typedef.
224 * rungpg.c (do_reaping,_gpgme_gpg_housecleaning): New.
225 (_gpgme_gpg_release): Reap children.
226 * io.h, posix-io.c (_gpgme_io_kill): New.
227 * w32-io.c (_gpgme_io_kill): New (dummy).
229 * keylist.c (gpgme_op_keylist_start): Cancel a pending request.
231 * posix-io.c (_gpgme_io_read): Add some debug output.
232 (_gpgme_io_write): Ditto.
233 (_gpgme_io_select): Increased the timeout.
235 2001-02-12 Werner Koch <wk@gnupg.org>
237 Enhanced the signature verification, so that it can how handle
238 more than one signature and is able to return more information on
240 * verify.c (gpgme_get_sig_key): New.
241 (gpgme_get_sig_status): New.
243 * gpgme.h: Add stdio.h.
244 (GpgmeSigStat): New status DIFF.
246 2001-02-01 Werner Koch <wk@gnupg.org>
248 * w32-io.c (set_synchronize): Add EVENT_MODIFY_STATE. Add Debug
249 code to all Set/ResetEvent().
251 * rungpg.c (read_status): Check for end of stream only if we have
254 2001-01-31 Werner Koch <wk@gnupg.org>
256 * wait.c (_gpgme_wait_on_condition): Removed all exit code processing.
257 (propagate_term_results,clear_active_fds): Removed.
258 (count_active_fds): Renamed to ..
259 (count_active_and_thawed_fds): .. this and count only thawed fds.
261 * rungpg.c (gpg_colon_line_handler): Return colon.eof and not
264 2001-01-30 Werner Koch <wk@gnupg.org>
266 * w32-io.c (_gpgme_io_spawn): Use the supplied path arg.
268 * version.c (get_engine_info): Return better error information.
270 * posix-util.c, w32-util.c: New.
271 (_gpgme_get_gpg_path): New, suggested by Jan-Oliver.
272 * rungpg.c (_gpgme_gpg_spawn): Use new function to get GPG's path.
274 * signers.c (gpgme_signers_add): Ooops, one should test code and
275 not just write it; the newarr was not assigned. Thanks to José
276 for pointing this out. Hmmm, still not tested, why shoudl a coder
279 * w32-io.c: Does now use reader threads, so that we can use
280 WaitForMultipleObjects.
281 * sema.h, posix-sema.c, w32-sema.c: Support for Critcial sections.
282 Does currently only work for W32.
284 * debug.c, util.h : New. Changed all fprintfs to use this new
285 set of debugging functions.
287 2001-01-23 Werner Koch <wk@gnupg.org>
289 * data.c (_gpgme_data_release_and_return_string): Fixed string
292 2001-01-22 Werner Koch <wk@gnupg.org>
297 * key.c (gpgme_key_ref, gpgme_key_unref): New.
298 * sign.c (gpgme_op_sign_start): Allow the use of other keys.
300 * version.c (gpgme_get_engine_info,gpgme_check_engine): New.
301 * rungpg.c (_gpgme_gpg_set_simple_line_handler): New.
303 2001-01-05 Werner Koch <wk@gnupg.org>
305 * data.c (gpgme_data_rewind): Allow to rewind data_type_none.
308 Copyright 2001 g10 Code GmbH
310 This file is free software; as a special exception the author gives
311 unlimited permission to copy and/or distribute it, with or without
312 modifications, as long as this notice is preserved.
314 This file is distributed in the hope that it will be useful, but
315 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
316 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.