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