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