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