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