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