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