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