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