ae1dd884e457605cd479a90b4bbcb87025602e40
[gnupg.git] / agent / ChangeLog
1 2004-05-11  Werner Koch  <wk@gnupg.org>
2
3         * gpg-agent.c (handle_signal): Reload the trustlist on SIGHUP.
4         (start_connection_thread): Hack to simulate a ticker.
5         * trustlist.c (agent_trustlist_housekeeping) 
6         (agent_reload_trustlist): New.  Protected all global functions
7         here with a simple counter which is sufficient for Pth.
8
9 2004-05-03  Werner Koch  <wk@gnupg.org>
10
11         * gpg-agent.c: Remove help texts for options lile --lc-ctype.
12         (main): New option --allow-mark-trusted. 
13         * trustlist.c (agent_marktrusted): Use it here.
14
15 2004-04-30  Werner Koch  <wk@gnupg.org>
16
17         * protect-tool.c: New option --enable-status-msg.
18         (store_private_key): Print status messages for imported keys.
19         (read_and_unprotect): Ditto for bad passphrase.
20
21         * gpg-agent.c (parse_rereadable_options): New arg REREAD.  Allow
22         changing oLogFile.
23         (current_logfile): New.
24
25 2004-04-26  Werner Koch  <wk@gnupg.org>
26
27         * call-scd.c (start_scd): Do not register an event signal if we
28         are running as a pipe server.
29
30 2004-04-21  Werner Koch  <wk@gnupg.org>
31
32         * call-scd.c (start_scd): Send event-signal option. Always check
33         that the scdaemon is still running.
34
35         * gpg-agent.c (handle_signal): Do not use SIGUSR{1,2} anymore for
36         changing the verbosity.
37
38 2004-04-16  Werner Koch  <wk@gnupg.org>
39
40         * gpg-agent.c (main): Tell the logging code taht we are runnign
41         detached.
42
43 2004-04-06  Werner Koch  <wk@gnupg.org>
44
45         * gpg-agent.c (main): Use new libgcrypt thread library register
46         scheme.
47
48 2004-03-23  Marcus Brinkmann  <marcus@g10code.de>
49
50         * gpg-agent.c (main): For now, always print the default config
51         file name for --gpgconf-list.
52
53 2004-03-17  Werner Koch  <wk@gnupg.org>
54
55         * gpg-agent.c (main) <gpgconf>: Fixed default value quoting.
56
57 2004-03-16  Werner Koch  <wk@gnupg.org>
58
59         * gpg-agent.c (parse_rereadable_options): Use the new
60         DEFAULT_CACHE_TTL macro.
61         (main): Updated --gpgconf-list output.
62
63 2004-02-21  Werner Koch  <wk@gnupg.org>
64
65         * command.c (cmd_passwd): Take acount of a key description.
66
67         * genkey.c (reenter_compare_cb): Do not set the error text.
68         (agent_protect_and_store, agent_genkey): Force a re-enter after a
69         non-matching passphrase.
70         * query.c (agent_askpin): Add new arg INITIAL_ERRTEXT; changed
71         all callers.
72
73 2004-02-19  Werner Koch  <wk@gnupg.org>
74
75         * protect-tool.c: New options --have-cert and --prompt.
76         (export_p12_file): Read a certificate from STDIN and pass it to
77         p12_build.  Detect a keygrip and construct the filename in that
78         case.  Unprotcet a key if needed.  Print error messages for key
79         formats we can't handle.
80         (release_passphrase): New.
81         (get_passphrase): New arg PROMPTNO. Return the allocated
82         string. Changed all callers.
83
84         * minip12.c: Revamped the build part.
85         (p12_build): New args CERT and CERTLEN.  
86
87 2004-02-18  Werner Koch  <wk@gnupg.org>
88
89         * protect-tool.c (main): Setup the used character set.
90         * gpg-agent.c (main): Ditto.
91
92         * gpg-agent.c (set_debug): New.  New option --debug-level.
93         (main): New option --gpgconf-list.
94
95 2004-02-17  Werner Koch  <wk@gnupg.org>
96
97         * pksign.c (do_encode_md): Cleaned up by using gcry_sexp_build.
98
99         * Makefile.am (gpg_protect_tool_SOURCES): Removed
100         simple-pwquery.[ch], as we once moved it to ../common.
101
102 2004-02-13  Werner Koch  <wk@gnupg.org>
103
104         * command.c (cmd_setkeydesc): New.
105         (register_commands): Add command SETKEYDESC.
106         (cmd_pksign, cmd_pkdecrypt): Use the key description.
107         (reset_notify): Reset the description.
108         * findkey.c (unprotect): Add arg DESC_TEXT.
109         (agent_key_from_file): Ditto.
110         * pksign.c (agent_pksign): Ditto.
111         * pkdecrypt.c (agent_pkdecrypt): Ditto. Made CIPHERTEXT an
112         unsigned char*.
113
114         * protect-tool.c (main): New options --no-fail-on-exist, --homedir.
115         (store_private_key): Use them here.
116
117 2004-02-12  Werner Koch  <wk@gnupg.org>
118
119         * protect-tool.c (read_file, main): Allow reading from stdin.
120
121         * Makefile.am: Include cmacros.am for common flags.
122         (libexec_PROGRAMS): Put gpg-protect-tool there.
123
124 2004-02-10  Werner Koch  <wk@gnupg.org>
125
126         * minip12.c (parse_bag_encrypted_data): Finished implementation.
127         (p12_parse): Add callback args.
128         * protect-tool.c (import_p12_cert_cb): New.
129         (import_p12_file): Use it.
130
131 2004-02-06  Werner Koch  <wk@gnupg.org>
132
133         * minip12.c (crypt_block): Add arg CIPHER_ALGO; changed all callers.
134         (set_key_iv): Add arg KEYBYTES; changed caller.
135
136 2004-02-03  Werner Koch  <wk@gnupg.org>
137
138         * findkey.c (agent_key_from_file): Extra paranoid wipe.
139         * protect.c (agent_unprotect): Ditto.
140         (merge_lists): Ditto. Add arg RESULTLEN.
141         * pkdecrypt.c (agent_pkdecrypt): Don't show the secret key even in
142         debug mode.
143
144         * protect.c: Add DSA and Elgamal description.
145
146 2004-01-29  Werner Koch  <wk@gnupg.org>
147
148         * agent.h (server_control_s): Add connection_fd field.
149         * command.c (start_command_handler): Init it here.
150         * gpg-agent.c (agent_init_default_ctrl): and here.
151         * call-scd.c: Add the CTRL arg to all functions calling start_scd
152         and pass it to start_scd.  Changed all callers
153         (start_scd): Keep track of the current active connection.
154         (agent_reset_scd): New.
155         * command.c (start_command_handler): Call it here.
156         * learncard.c (agent_handle_learn): Add arg CTRL; changed caller.
157         (send_cert_back): Ditto.
158
159 2004-01-28  Werner Koch  <wk@gnupg.org>
160
161         * trustlist.c (agent_marktrusted): Check whether the trustlist is
162         writable.
163
164 2004-01-27  Werner Koch  <wk@gnupg.org>
165
166         * sexp-parse.h: Moved to ../common.
167
168 2004-01-24  Werner Koch  <wk@gnupg.org>
169
170         * call-scd.c (atfork_cb): New.
171         (start_scd): Make sure secmem gets cleared.
172         * query.c  (atfork_cb): New.
173         (start_pinentry): Make sure secmem gets cleared.
174
175 2004-01-16  Werner Koch  <wk@gnupg.org>
176
177         * findkey.c (agent_key_from_file): Now return an error code so
178         that we have more detailed error messages in the upper layers.
179         This fixes the handling of pinentry's cancel button. 
180         * pksign.c (agent_pksign): Changed accordingly.
181         * pkdecrypt.c (agent_pkdecrypt): Ditto.
182         * command.c (cmd_passwd): Ditto.
183
184 2003-12-16  Werner Koch  <wk@gnupg.org>
185
186         * gpg-agent.c (main): Set the prefixes for assuan logging.
187
188 2003-12-15  Werner Koch  <wk@gnupg.org>
189
190         * protect.c (do_encryption): Use gcry_create_nonce instad of the
191         obsolete WEAK_RANDOM.
192
193 2003-11-20  Werner Koch  <wk@gnupg.org>
194
195         * sexp-parse.h (snext): Don't use atoi_1 and digitp macros, so
196         that this file is useful by other applications too.
197
198 2003-10-27  Werner Koch  <wk@gnupg.org>
199
200         * command.c (cmd_get_confirmation): New command.
201
202 2003-08-20  Timo Schulz  <twoaday@freakmail.de>
203
204         * pksign.c (do_encode_md): Allocate enough space. Cast md
205         byte to unsigned char to prevent sign extension.
206         
207 2003-08-14  Timo Schulz  <twoaday@freakmail.de>
208
209         * pksign.c (do_encode_md): Due to the fact pkcs#1 padding
210         is now in Libgcrypt, use the new interface.
211         
212 2003-07-31  Werner Koch  <wk@gnupg.org>
213
214         * Makefile.am (gpg_agent_LDADD): Added INTLLIBS.
215         (gpg_protect_tool_SOURCES): Added simple-pwquery.[ch]
216
217 2003-07-27  Werner Koch  <wk@gnupg.org>
218
219         Adjusted for gcry_mpi_print and gcry_mpi_scan API change.
220
221 2003-07-15  Werner Koch  <wk@gnupg.org>
222
223         * simple-pwquery.c, simple-pwquery.h:  Moved to ../common.
224         * Makefile.am (gpg_protect_tool_LDADD): Add simple-pwquery.o.
225         Removed it from xx_SOURCES.
226
227 2003-07-04  Werner Koch  <wk@gnupg.org>
228
229         * gpg-agent.c (handle_connections): Kludge to allow use of Pth 1
230         and 2.
231
232 2003-06-30  Werner Koch  <wk@gnupg.org>
233
234         * call-scd.c (learn_status_cb): Store the serialno in PARM.
235
236 2003-06-26  Werner Koch  <wk@gnupg.org>
237
238         * call-scd.c (agent_card_serialno): Don't do a RESET anymore.
239
240 2003-06-25  Werner Koch  <wk@gnupg.org>
241
242         * command.c (cmd_scd): New.
243         * call-scd.c (agent_card_scd): New.
244         * divert-scd.c (divert_generic_cmd): New
245
246         * call-scd.c (agent_card_learn): New callback args SINFO.
247         (learn_status_cb): Pass all other status lines to the sinfo
248         callback.
249         * learncard.c (release_sinfo, sinfo_cb): New.
250         (agent_handle_learn): Pass the new cb to the learn function and
251         pass the collected information back to the client's assuan
252         connection.
253
254         * gpg-agent.c (main): Moved pth_init before gcry_check_version.
255
256 2003-06-24  Werner Koch  <wk@gnupg.org>
257
258         * gpg-agent.c (handle_connections): Adjusted for Pth 2.0
259
260         Adjusted for changes in the libgcrypt API. Some more fixes for the
261         libgpg-error stuff.  
262
263 2003-06-04  Werner Koch  <wk@gnupg.org>
264
265         Renamed error codes from INVALID to INV and removed _ERROR suffixes.
266
267 2003-06-03  Werner Koch  <wk@gnupg.org>
268
269         Changed all error codes in all files to the new libgpg-error scheme.
270
271         * agent.h: Include gpg-error.h and errno.h
272         * Makefile.am: Link with libgpg-error
273
274         * query.c: assuan.h is now a system header.
275         * genkey.c (agent_genkey): Fixed silly use of xmalloc by
276         xtrymalloc.
277
278 2003-04-29  Werner Koch  <wk@gnupg.org>
279
280         * command.c (register_commands): Adjusted for new Assuan semantics.
281
282         * Makefile.am: Don't override LDFLAGS.
283
284 2002-12-04  Werner Koch  <wk@gnupg.org>
285
286         * gpg-agent.c: New variable config_filename.
287         (parse_rereadable_options): New.
288         (main): Use it here.  Add setting of default values, set
289         config_filename.
290         (reread_configuration): Filled with actual code.
291
292 2002-12-03  Werner Koch  <wk@gnupg.org>
293
294         * protect-tool.c (read_key): Don't run make_canonical on a NULL
295         buffer.
296
297         * command.c (parse_hexstring): New.
298         (cmd_sethash): Use it.
299         (parse_keygrip): New.
300         (cmd_havekey, cmd_sigkey): Use it.
301         (cmd_passwd): New.
302         * genkey.c (agent_protect_and_store): New.
303         (store_key): Add arg FORCE.
304         (agent_genkey): Pass false to this force of store_key.
305
306 2002-11-13  Werner Koch  <wk@gnupg.org>
307
308         * gpg-agent.c (main): Switch all messages to utf-8.
309
310         * simple-pwquery.c (agent_send_all_options): Use $GPG_TTY and
311         stdin with ttyname.
312
313         * cache.c (new_data): Uiih - /sizeof d/sizeof *d/.
314
315 2002-11-10  Werner Koch  <wk@gnupg.org>
316
317         * command.c (option_handler): Fix keep_tty check.
318
319 2002-11-06  Werner Koch  <wk@gnupg.org>
320
321         * gpg-agent.c (main): Make sure we have a default ttyname.
322         * command.c (option_handler): Check opt.keep_tty here
323         * query.c (start_pinentry): but not anymore here.
324
325 2002-11-05  Werner Koch  <wk@gnupg.org>
326
327         * agent.h (opt,server_control_s): Move display and lc_ variables
328         to the control struct so that they are per connection.
329         * gpg-agent.c (agent_init_default_ctrl): New.
330         (main): Assign those command line options to new default_* variables.
331         Reset DISPLAY in server mode so that tehre is no implicit default.
332         * command.c (start_command_handler): Initialize and deinitialize
333         the control values.
334         (option_handler): Work on the ctrl values and not on the opt.
335         * query.c (start_pinentry): New argument CTRL to set the display
336         connection specific.  Changed all callers to pass this value.
337         (agent_askpin,agent_get_passphrase,agent_get_confirmation): Add
338         CTRL arg and pass it ot start_pinentry.
339         * command.c (cmd_get_passphrase): Pass CTRL argument.
340         * trustlist.c (agent_marktrusted):  Add CTRL argument  
341         * command.c (cmd_marktrusted): Pass CTRL argument
342         * divert-scd.c (ask_for_card):  Add CTRL arg. 
343         (divert_pksign,divert_pkdecrypt): Ditto.  Changed caller.
344         (getpin_cb): Use OPAQUE to pass the CTRL variable.  Changed both 
345         users.
346         * findkey.c (unprotect): Add CTRL arg.
347         (agent_key_from_file): Ditto.
348
349         * query.c (unlock_pinentry): Disconnect the pinentry so that we
350         start a new one for each request.  This is required to support
351         clients with different environments (e.g. X magic cookies).
352
353 2002-09-05  Neal H. Walfield  <neal@cs.uml.edu>
354
355         * gpg-agent.c (main) [USE_GNU_PTH]: No need to call
356         assuan_set_io_func as assuan is smart.
357
358 2002-09-25  Werner Koch  <wk@gnupg.org>
359
360         * gpg-agent.c (handle_signal): Flush cache on SIGHUP.
361         * cache.c (agent_flush_cache): New.
362
363         * gpg-agent.c, agent.h: Add --keep-display and --keep-tty.
364         * query.c (start_pinentry): Implement them.  The option passing
365         needs more thoughts.
366
367 2002-09-09  Werner Koch  <wk@gnupg.org>
368
369         * gpg-agent.c (create_private_keys_directory)
370         (create_directories): New.
371         (main): Try to create a home directory.
372
373 2002-09-04  Neal H. Walfield  <neal@g10code.de>
374
375         * gpg-agent.c (main): Use sigaction, not signal.
376
377 2002-09-03  Neal H. Walfield  <neal@g10code.de>
378
379         * findkey.c: Include <fcntl.h>.
380         (agent_write_private_key): Prefer POSIX compatibity, open and
381         fdopen, over the simplicity of GNU extensions, fopen(file, "x").
382
383 2002-08-22  Werner Koch  <wk@gnupg.org>
384
385         * query.c (agent_askpin): Provide the default desc text depending
386         on the pininfo.  Do the basic PIN verification only when
387         min_digits is set.
388
389 2002-08-21  Werner Koch  <wk@gnupg.org>
390
391         * query.c (agent_askpin): Hack to show the right default prompt.
392         (agent_get_passphrase): Ditto.
393
394         * trans.c: Removed and replaced all usages with standard _()
395
396         * divert-scd.c (getpin_cb): Pass a more descritive text to the
397         pinentry.
398
399         * Makefile.am: Renamed the binary protect-tool to gpg-protect-tool.
400         * protect-tool.c: Removed the note about internal use only.
401
402         * gpg-agent.c (main): New option --daemon so that the program is
403         not accidently started in the background.
404
405 2002-08-16  Werner Koch  <wk@gnupg.org>
406
407         * call-scd.c (learn_status_cb): Handle CERTINFO status.
408         (agent_card_learn): Add args for certinfo cb.
409         * learncard.c (release_certinfo,certinfo_cb): New.
410         (send_cert_back): New. With factored out code from ..
411         (agent_handle_learn): here.  Return certinfo stuff.
412
413 2002-07-26  Werner Koch  <wk@gnupg.org>
414
415         * gpg-agent.c (main): New option --ignore-cache-for-signing.
416         * command.c (option_handler): New server option
417         use-cache-for-signing defaulting to true.
418         (cmd_pksign): handle global and per session option.
419         * findkey.c (agent_key_from_file, unprotect): New arg
420         ignore_cache.  Changed all callers.
421         * pksign.c (agent_pksign): Likewise.
422
423 2002-06-29  Werner Koch  <wk@gnupg.org>
424
425         * query.c (start_pinentry): Use GNUPG_DERAULT_PINENTRY.
426         * call-scd.c (start_scd): Use GNUPG_DEFAULT_SCDAEMON.
427
428 2002-06-28  Werner Koch  <wk@gnupg.org>
429
430         * protect-tool.c (export_p12_file): New.
431         (main): New command --p12-export.
432         * minip12.c (create_final,p12_build,compute_tag_length): New.
433         (store_tag_length): New.
434
435 2002-06-27  Werner Koch  <wk@gnupg.org>
436
437         * minip12.c (crypt_block): Renamed from decrypt_block, add arg to
438         allow encryption.
439
440         * Makefile.am (pkglib_PROGRAMS): Put protect-tool there.
441
442         * findkey.c (agent_write_private_key,agent_key_from_file)
443         (agent_key_available): Use GNUPG_PRIVATE_KEYS_DIR constant.
444         * gpg-agent.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
445
446         * protect-tool.c (store_private_key): New.
447         (import_p12_file): Store the new file if requested.
448         (main): New options --force and --store.
449
450         * gpg-agent.c (main): Set a global flag when running detached.
451         * query.c (start_pinentry): Pass the list of FD to keep in the
452         child when not running detached.
453         * call-scd.c (start_scd): Ditto.
454
455 2002-06-26  Werner Koch  <wk@gnupg.org>
456
457         * command.c (cmd_istrusted, cmd_listtrusted, cmd_marktrusted)
458         (cmd_pksign, cmd_pkdecrypt, cmd_genkey, cmd_get_passphrase)
459         (cmd_learn): Print an error message for a failed operation.
460
461         * simple-pwquery.c, simple-pwquery.h: New.
462         * protect-tool. (get_passphrase): New, used to get a passphrase
463         from the agent if none was given on the command line.
464
465 2002-06-25  Werner Koch  <wk@gnupg.org>
466
467         * protect-tool.c (rsa_key_check): New.
468         (import_p12_file): New.
469         (main): New command --p12-import.
470         * minip12.c, minip12.h: New.
471
472 2002-06-24  Werner Koch  <wk@gnupg.org>
473
474         * protect-tool.c (read_file): New.
475         (read_key): Factored most code out to read_file.
476
477 2002-06-17  Werner Koch  <wk@gnupg.org>
478
479         * agent.h: Add a callback function to the pin_entry_info structure.
480         * query.c (agent_askpin): Use the callback to check for a correct
481         PIN.  Removed the start_err_text argument because it is not
482         anymore needed; changed callers.
483         * findkey.c (unprotect): Replace our own check loop by a callback.
484         (try_unprotect_cb): New.
485         * genkey.c (reenter_compare_cb): New.
486         (agent_genkey): Use this callback here.  Fixed setting of the pi2
487         variable and a segv in case of an empty PIN.
488
489         * divert-scd.c (getpin_cb): Removed some unused stuff and
490         explained what we still have to change.
491
492 2002-06-12  Werner Koch  <wk@gnupg.org>
493
494         * gpg-agent.c (main): New option --disable-pth.
495
496 2002-06-11  Werner Koch  <wk@gnupg.org>
497
498         * protect-tool.c: Add command --show-keygrip
499         (show_keygrip): New.
500
501 2002-05-23  Werner Koch  <wk@gnupg.org>
502
503         * call-scd.c: Seirialized all scdaeom access when using Pth.
504
505         * cache.c: Made the cache Pth-thread-safe.
506         (agent_unlock_cache_entry): New.
507         * findkey.c (unprotect): Unlock the returned cache value.
508         * command.c (cmd_get_passphrase): Ditto.
509
510         * gpg-agent.c (main): Register pth_read/write with Assuan.
511
512 2002-05-22  Werner Koch  <wk@gnupg.org>
513
514         * query.c: Serialized all pinentry access when using Pth.
515
516         * gpg-agent.c (handle_signal,start_connection_thread)
517         (handle_connections): New
518         (main): Use the new Pth stuff to allow concurrent connections.
519         * command.c (start_command_handler): Add new arg FD so that the
520         fucntion can also be used for an already connected socket.
521         * Makefile.am: Link with Pth.
522
523 2002-05-14  Werner Koch  <wk@gnupg.org>
524
525         * cache.c (housekeeping, agent_put_cache): Use our time() wrapper.
526
527 2002-04-26  Werner Koch  <wk@gnupg.org>
528
529         * cache.c (agent_put_cache): Reinitialize the creation time and
530         the ttl when reusing a slot.
531
532         * call-scd.c (start_scd): Print debug messages only with debug
533         flags set.
534         * query.c (start_pinentry): Ditto.
535
536 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
537
538         * agent.h (agent_get_confirmation): Replace paramter prompt with
539         two parameters ok and cancel.
540         * query.c (agent_get_confirmation): Likewise.  Implement this.
541         * trustlist.c (agent_marktrusted): Fix invocation of
542         agent_get_confirmation.
543         * divert-scd.c (ask_for_card): Likewise.
544
545 2002-04-24  Marcus Brinkmann  <marcus@g10code.de>
546
547         * agent.h (struct opt): Add members display, ttyname, ttytype,
548         lc_ctype, and lc_messages.
549         * gpg-agent.c (enum cmd_and_opt_values): Add oDisplay, oTTYname,
550         oTTYtype, oLCctype, and LCmessages.
551         (main): Handle these options.
552         * command.c (option_handler): New function.
553         (register_commands): Register option handler.
554         * query.c (start_pinentry): Pass the various display and tty
555         options to the pinentry.
556
557 2002-04-05  Werner Koch  <wk@gnupg.org>
558
559         * protect-tool.c (show_file): New.  Used as default action.
560
561 2002-03-28  Werner Koch  <wk@gnupg.org>
562
563         * divert-scd.c (encode_md_for_card): Don't do the pkcs-1 padding,
564         the scdaemon should take care of it.
565         (ask_for_card): Hack to not display the trailing zero.
566
567 2002-03-11  Werner Koch  <wk@gnupg.org>
568
569         * learncard.c (kpinfo_cb): Remove the content restrictions from
570         the keyID.
571
572 2002-03-06  Werner Koch  <wk@gnupg.org>
573
574         * learncard.c: New.
575         * divert-scd.c (ask_for_card): The serial number is binary so
576         convert it to hex here.
577         * findkey.c (agent_write_private_key): New.
578         * genkey.c (store_key): And use it here.
579         
580         * pkdecrypt.c (agent_pkdecrypt): Changed the way the diversion is done.
581         * divert-scd.c (divert_pkdecrypt): Changed interface and
582         implemented it.
583
584 2002-03-05  Werner Koch  <wk@gnupg.org>
585
586         * call-scd.c (inq_needpin): New.
587         (agent_card_pksign): Add getpin_cb args.
588         (agent_card_pkdecrypt): New.
589
590 2002-03-04  Werner Koch  <wk@gnupg.org>
591
592         * pksign.c (agent_pksign): Changed how the diversion is done.
593         * divert-scd.c (divert_pksign): Changed interface and implemented it.
594         (encode_md_for_card): New.
595         * call-scd.c (agent_card_pksign): New.
596
597 2002-02-28  Werner Koch  <wk@gnupg.org>
598
599         * pksign.c (agent_pksign): Detect whether a Smartcard is to be
600         used and divert the operation in this case.
601         * pkdecrypt.c (agent_pkdecrypt): Likewise
602         * findkey.c (agent_key_from_file): Add optional arg shadow_info
603         and have it return information about a shadowed key.
604         * protect.c (agent_get_shadow_info): New.
605
606         * protect.c (snext,sskip,smatch): Moved to
607         * sexp-parse.h: New file.
608         * divert-scd.c: New.
609         
610 2002-02-27  Werner Koch  <wk@gnupg.org>
611
612         * protect.c (agent_shadow_key): New.
613
614         * command.c (cmd_learn): New command LEARN.
615         * gpg-agent.c: New option --scdaemon-program.
616         * call-scd.c (start_scd): New. Based on query.c
617         * query.c: Add 2 more arguments to all uses of assuan_transact.
618
619 2002-02-18  Werner Koch  <wk@gnupg.org>
620
621         * findkey.c (unprotect): Show an error message for a bad passphrase.
622
623         * command.c (cmd_marktrusted): Implemented.
624         * trustlist.c (agent_marktrusted): New.
625         (open_list): Add APPEND arg.
626
627         * query.c (agent_get_confirmation): New.
628
629 2002-02-06  Werner Koch  <wk@gnupg.org>
630
631         * cache.c (housekeeping): Fixed linking in the remove case.
632
633 2002-02-01  Werner Koch  <wk@gnupg.org>
634
635         * gpg-agent.c: New option --default-cache-ttl.
636         * cache.c (agent_put_cache): Use it.
637         
638         * cache.c: Add a few debug outputs.
639
640         * protect.c (agent_private_key_type): New.
641         * agent.h: Add PRIVATE_KEY_ enums.
642         * findkey.c (agent_key_from_file): Use it to decide whether we
643         have to unprotect a key.
644         (unprotect): Cache the passphrase.
645         
646         * findkey.c (agent_key_from_file,agent_key_available): The key
647         files do now require a ".key" suffix to make a script's life
648         easier. 
649         * genkey.c (store_key): Ditto.
650
651 2002-01-31  Werner Koch  <wk@gnupg.org>
652
653         * genkey.c (store_key): Protect the key.
654         (agent_genkey): Ask for the passphrase.
655         * findkey.c (unprotect): Actually unprotect the key.
656         * query.c (agent_askpin): Add an optional start_err_text. 
657
658 2002-01-30  Werner Koch  <wk@gnupg.org>
659
660         * protect.c: New.  
661         (hash_passphrase): Based on the GnuPG 1.0.6 version.
662         * protect-tool.c: New
663
664 2002-01-29  Werner Koch  <wk@gnupg.org>
665
666         * findkey.c (agent_key_available): New.
667         * command.c (cmd_havekey): New.
668         (register_commands): And register new command.
669
670 2002-01-20  Werner Koch  <wk@gnupg.org>
671
672         * command.c (cmd_get_passphrase): Remove the plus signs.
673
674         * query.c (start_pinentry): Send no-grab option to pinentry
675         * gpg-agent.c (main): Move variable grab as no_grab to agent.h.
676
677 2002-01-19  Werner Koch  <wk@gnupg.org>
678
679         * gpg-agent.c (main): Disable core dumps.
680
681         * cache.c: New.
682         * command.c (cmd_get_passphrase): Use the cache.
683         (cmd_clear_passphrase): Ditto.
684
685         * gpg-agent.c:  Removed unused cruft and implement the socket
686         based server.
687         (my_strusage): Take bug report address from configure.ac.
688         * command.c (start_command_handler): Add an argument to start as
689         regular server.
690         (start_command_handler): Enable Assuan logging.
691
692 2002-01-15  Werner Koch  <wk@gnupg.org>
693
694         * trustlist.c: New.
695         * command.c (cmd_istrusted, cmd_listtrusted, cmd_marktrusted): New.
696
697 2002-01-07  Werner Koch  <wk@gnupg.org>
698
699         * genkey.c: Store the secret part and return the public part.
700
701 2002-01-03  Werner Koch  <wk@gnupg.org>
702
703         * command.c (cmd_get_passphrase): New.
704         (cmd_clear_passphrase): New.
705         * query.c (agent_get_passphrase): New.
706
707 2002-01-02  Werner Koch  <wk@gnupg.org>
708
709         * genkey.c: New.
710         * command.c (cmd_genkey): New.
711
712         * command.c (rc_to_assuan_status): Removed and changed all callers
713         to use map_to_assuan_status.
714         
715 2001-12-19  Werner Koch  <wk@gnupg.org>
716
717         * keyformat.txt: New. 
718
719 2001-12-19  Marcus Brinkmann  <marcus@g10code.de>
720
721         * query.c (start_pinentry): Add new argument to assuan_pipe_connect.
722
723 2001-12-18  Werner Koch  <wk@gnupg.org>
724
725         * Makefile.am: Use LIBGCRYPT macros
726
727 2001-12-14  Werner Koch  <wk@gnupg.org>
728
729         * gpg-agent.c (main): New option --batch.  New option --debug-wait
730         n, so that it is possible to attach gdb when used in server mode.
731         * query.c (agent_askpin): Don't ask in batch mode.
732
733         * command.c: Removed the conversion macros as they are now in
734         ../common/util.h.
735
736 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
737
738         * query.c (LINELENGTH): Removed.
739         (agent_askpin): Use ASSUAN_LINELENGTH, not LINELENGTH.
740
741 2001-11-19  Werner Koch  <wk@gnupg.org>
742
743         * gpg-agent.c: Removed all GUI code, removed code for old
744         protocol.  New code to use the Assuan protocol as a server and
745         also to communicate with a new ask-passphrase utility.
746
747 2000-11-22  Werner Koch  <wk@gnupg.org>
748
749         * gpg-agent.c (main): csh support by Dan Winship, new options --sh
750         and --csh and set default by consulting $SHELL.
751
752 Mon Aug 21 17:59:17 CEST 2000  Werner Koch  <wk@openit.de>
753
754         * gpg-agent.c (passphrase_dialog): Cleanup the window and added the
755         user supplied text to the window.
756         (main): Fixed segv in gtk_init when used without a command to start.
757
758         * gpg-agent.c: --flush option.
759         (req_flush): New.
760         (req_clear_passphrase): Implemented.
761
762 Fri Aug 18 14:27:14 CEST 2000  Werner Koch  <wk@openit.de>
763
764         * gpg-agent.c: New.
765         * Makefile.am: New.
766
767
768  Copyright 2001, 2002 Free Software Foundation, Inc.
769
770  This file is free software; as a special exception the author gives
771  unlimited permission to copy and/or distribute it, with or without
772  modifications, as long as this notice is preserved.
773
774  This file is distributed in the hope that it will be useful, but
775  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
776  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.