5a709a5db97a555d14f8840859747a06c32f3810
[gnupg.git] / agent / ChangeLog
1 2005-04-03  Moritz Schulte  <moritz@g10code.com>
2
3         * command-ssh.c (ssh_request_spec): New member: secret_input.
4         (REQUEST_SPEC_DEFINE): New argument: secret_input.
5         (request_specs): Add secret_input flag.
6         (request_spec_lookup): New function ...
7         (ssh_request_process): ... use it here; depending on secret_input
8         flag allocate secure or non-secure memory.
9
10 2005-03-02  Moritz Schulte  <moritz@g10code.com>
11
12         * command-ssh.c (sexp_key_extract): Removed FIXME, since
13         xtrymallos does set errno correctly by now.
14         (sexp_extract_identifier): Remove const attribute from identifier.
15         (ssh_handler_request_identities): Remove const attribute from
16         key_type; removes ugly casts and FIXME.
17         (sexp_key_extract): Remove const attribute from comment.
18         (ssh_send_key_public): Remove const attribute from
19         key_type/comment; removes ugly cast.
20         (data_sign): Remove const attribute from identifier; removes ugly
21         cast.
22         (key_secret_to_public): Remove const attribute from comment;
23         removes ugly cast.
24         (ssh_handler_sign_request): Remove const attribute from p.
25         (sexp_key_extract): Use make_cstring().
26         (ssh_key_extract_comment): Likewise.
27         (ssh_key_to_buffer): Use secure memory for memory area to hold the
28         key S-Expression.
29         Added more comments.
30
31 2005-02-25  Werner Koch  <wk@g10code.com>
32
33         * findkey.c (modify_description): Keep invalid % escapes, so that
34         %0A may pass through.
35
36         * agent.h (server_control_s): New field USE_AUTH_CALL.
37         * call-scd.c (agent_card_pksign): Make use of it.
38         * command-ssh.c (data_sign): Set the flag.
39         (ssh_send_key_public): New arg OVERRIDE_COMMENT.
40         (card_key_available): Add new arg CARDSN.
41         (ssh_handler_request_identities): Use the card s/n as comment.
42         (sexp_key_extract): Use GCRYMPI_FMT_STD.
43         (data_sign): Ditto.
44
45         * learncard.c (make_shadow_info): Moved to ..
46         * protect.c (make_shadow_info): .. here. Return NULL on malloc
47         failure. Made global.
48         * agent.h: Add prototype.
49
50 2005-02-24  Werner Koch  <wk@g10code.com>
51
52         * call-scd.c (unescape_status_string): New. Actual a copy of
53         ../g10/call-agent.c
54         (card_getattr_cb, agent_card_getattr): New.
55
56         * command-ssh.c (card_key_available): New.
57         (ssh_handler_request_identities): First see whether a card key is
58         available.
59
60         * gpg-agent.c (handle_connections): Need to check for events if
61         select returns with -1.
62
63 2005-02-23  Werner Koch  <wk@g10code.com>
64
65         * command-ssh.c (get_passphrase): Removed.
66         (ssh_identity_register): Partly rewritten.
67         (open_control_file, search_control_file, add_control_entry): New.
68         (ssh_handler_request_identities): Return only files listed in our
69         control file.
70
71         * findkey.c (unprotect): Check for allocation error.
72
73         * agent.h (opt): Add fields to record the startup terminal
74         settings.
75         * gpg-agent.c (main): Record them and do not force keep display
76         with --enable-ssh-support.
77         * command-ssh.c (start_command_handler_ssh): Use them here.
78
79         * gpg-agent.c: Renamed option --ssh-support to
80         --enable-ssh-support.
81
82         * command.c (cmd_readkey): New.
83         (register_commands): Register new command "READKEY".
84
85         * command-ssh.c (ssh_request_process): Improved logging.
86
87         * findkey.c (agent_write_private_key): Always use plain open.
88         Don't depend on an umask for permissions.
89         (agent_key_from_file): Factored file reading code out to ..
90         (read_key_file): .. new function.
91         (agent_public_key_from_file): New.
92
93 2005-02-22  Werner Koch  <wk@g10code.com>
94
95         * command-ssh.c (stream_read_string): Removed call to abort on
96         memory error because the CVS version of libgcrypt makes sure
97         that ERRNO gets always set on error even with a faulty user
98         supplied function.
99
100 2005-02-19  Moritz Schulte  <moritz@g10code.com>
101
102         * command-ssh.c (ssh_receive_mpint_list): Slightly rewritten, do
103         not use elems_secret member of key_spec.
104         (ssh_key_type_spec): Removed member: elems_secret.
105         (ssh_key_types): Removed elems_secret data.
106         (ssh_sexp_construct): Renamed to ...
107         (sexp_key_construct): ... this; changed callers.
108         (ssh_sexp_extract): Renamed to ...
109         (sexp_key_extract): ... this; changed callers.
110         (ssh_sexp_extract_key_type): Renamed to ...
111         (sexp_extract_identifier): ... this; changed callers; use
112         make_cstring().
113         Added more comments.
114
115 2005-02-18  Moritz Schulte  <moritz@g10code.com>
116
117         * command-ssh.c (ssh_sexp_construct): Rewritten generation of sexp
118         template, clarified.
119         (ssh_sexp_extract): Support shadowed-private-key-sexp; treat
120         protected-private key and shadowed-private-key as public keys.
121         (key_secret_to_public): Rewritten: simply use ssh_sexp_extract()
122         and ssh_sexp_construct().
123
124 2005-02-15  Werner Koch  <wk@g10code.com>
125
126         * findkey.c (modify_description): Don't increment OUT_LEN during
127         the second pass.
128
129 2005-02-14  Moritz Schulte  <moritz@g10code.com>
130
131         * command-ssh.c (es_read_byte): Renamed to ...
132         (stream_es_read_byte): ... this; changed callers.
133         (es_write_byte): Renamed to ...
134         (stream_write_byte): ... this; changed callers.
135         (es_read_uint32): Renamed to ...
136         (stream_read_uint32): ... this; changed callers.
137         (es_write_uint32): Renamed to ...
138         (stream_write_uint32): ... this; changed callers.
139         (es_read_data): Renamed to ...
140         (stream_read_data): ... this; changed callers.
141         (es_write_data): Renamed to ...
142         (stream_write_data): ... this; changed callers.
143         (es_read_string): Renamed to ...
144         (stream_read_string): ... this; changed callers.
145         (es_read_cstring): Renamed to ...
146         (stream_read_cstring): ... this; changed callers.
147         (es_write_string): Renamed to ...
148         (stream_write_string): ... this; changed callers.
149         (es_write_cstring): Renamed to ...
150         (stream_write_cstring): ... this; changed callers.
151         (es_read_mpi): Renamed to ...
152         (stream_read_mpi): ... this; changed callers.
153         (es_write_mpi): Renamed to ...
154         (stream_write_mpi): ... this; changed callers.
155         (es_copy): Renamed to ...
156         (stream_copy): ... this; changed callers.
157         (es_read_file): Renamed to ...
158         (file_to_buffer): ... this; changed callers.
159         (ssh_identity_register): Removed variable description_length;
160         changed code to use asprintf for description.
161         (stream_write_uint32): Do not filter out the last byte of shift
162         expression.
163         (uint32_construct): New macro ...
164         (stream_read_uint32): ... use it; removed unnecessary cast.
165
166 2005-02-03  Werner Koch  <wk@g10code.com>
167
168         * agent.h (agent_exit): Add JNLIB_GCC_A_NR to indicate that this
169         function won't return.
170
171         * gpg-agent.c (check_for_running_agent): Initialize pid to a
172         default value if not needed.
173
174         * command-ssh.c: Removed stdint.h.  s/byte_t/unsigned char/,
175         s/uint32/u32/ becuase that is what we have always used in GnuPG.
176         (ssh_request_specs): Moved to top of file.
177         (ssh_key_types): Ditto.
178         (make_cstring): Ditto.
179         (data_sign): Don't use a variable for the passphrase prompt, make
180         it translatable.
181         (ssh_request_process): 
182         
183
184         * findkey.c (modify_description): Renamed arguments for clarity,
185         polished documentation.  Make comment a C-string.  Fixed case of
186         DESCRIPTION being just "%".
187         (agent_key_from_file): Make sure comment string to a C-string.
188
189         * gpg-agent.c (create_socket_name): Cleanup the implemntation, use
190         DIMof, agent_exit, removed superflous args and return the
191         allocated string as value.  Documented.  Changed callers.
192         (create_server_socket): Cleanups similar to above.  Changed callers.
193         (cleanup_do): Renamed to ..
194         (remove_socket): .. this.  Changed caller.
195         (handle_connections): The signals are to be handled in the select
196         and not in the accept.  Test all FDs after returning from a
197         select.  Remove the event tests from the accept calls.  The select
198         already assured that the accept won't block.
199
200 2005-01-29  Moritz Schulte  <moritz@g10code.com>
201
202         * command-ssh.c (ssh_handler_request_identities)
203         (ssh_handler_sign_request, ssh_handler_add_identity)
204         (ssh_handler_remove_identity, ssh_handler_remove_all_identities)
205         (ssh_handler_lock, ssh_handler_unlock): Changed to return an error
206         code instead of a boolean.
207         (ssh_request_process): Changed to return a boolean instead of an
208         error; adjust caller.
209         (ssh_request_handle_t): Adjusted type.
210         (ssh_request_spec): New member: identifier.
211         (REQUEST_SPEC_DEFINE): New macro; use it for initialization of
212         request_specs[].
213         (ssh_request_process): In debugging mode, log identifier of
214         handler to execute.
215         (start_command_handler_ssh): Moved most of the stream handling
216         code ...
217         (ssh_request_process): ... here.
218
219 2005-01-28  Moritz Schulte  <moritz@g10code.com>
220
221         * command-ssh.c (ssh_handler_add_identity): Pass ctrl to
222         ssh_identity_register().
223         (ssh_identity_register): New argument: ctrl; pass ctrl to
224         get_passphrase().
225         (get_passphrase): Pass ctrl instead of NULL to agent_askpin().
226         (start_command_handler_ssh): Use agent_init_default_ctrl();
227         deallocate structure members, which might be dynamically
228         allocated.
229         (lifetime_default): Removed variable.
230         (ssh_handler_add_identity): Fix ttl handling; renamed variable
231         `death' to `ttl'.
232         (ssh_identity_register): Fix key grip handling.
233
234 2005-01-26  Moritz Schulte  <moritz@g10code.com>
235
236         * command-ssh.c (ssh_handler_sign_request): Confirm to agent
237         protocol in case of failure.
238
239         * command-ssh.c: New file.
240
241         * Makefile.am (gpg_agent_SOURCES): New source file: command-ssh.c.
242
243         * findkey.c (modify_description): New function.
244         (agent_key_from_file): Support comment field in key s-expressions.
245
246         * gpg-agent.c (enum cmd_and_opt_values): New item: oSSHSupport.
247         (opts) New entry for oSSHSupport.
248         New variable: socket_name_ssh.
249         (cleanup_do): New function based on cleanup().
250         (cleanup): Use cleanup_do() for socket_name and socket_name_ssh.
251         (main): New switch case for oSSHSupport.
252         (main): Move socket name creation code to ...
253         (create_socket_name): ... this new function.
254         (main): Use create_socket_name() for creating socket names for
255         socket_name and for socket_name_ssh in case ssh support is
256         enabled.
257         Move socket creation code to ...
258         (create_server_socket): ... this new function.
259         (main): Use create_server_socket() for creating sockets.
260         In case standard_socket is set, do not only store a socket name in
261         socket_name, but also in socket_name_ssh.
262         Generate additional environment info strings for ssh support.
263         Pass additional ssh socket argument to handle_connections.
264         (start_connection_thread_ssh): New function.
265         (handle_connections): Use select to multiplex between gpg-agent
266         and ssh-agent protocol.
267
268         * agent.h (struct opt): New member: ssh_support.
269         (start_command_handler_ssh): Add prototype.
270
271 2005-01-04  Werner Koch  <wk@g10code.com>
272
273         * trustlist.c (agent_marktrusted): Use "Cancel" for the first
274         confirmation and made the strings translatable.
275
276         * cache.c (agent_put_cache): Fix the test for using the default
277         TTL.
278
279 2004-12-21  Werner Koch  <wk@g10code.com>
280
281         * preset-passphrase.c (preset_passphrase): Handle --passphrase.
282
283         * Makefile.am (gpg_preset_passphrase_LDADD): Reorder libs so that
284         pwquery may use stuff from jnlib.  Conditionally add -lwsock2
285         (gpg_protect_tool_LDADD): Ditto.
286
287         * preset-passphrase.c (main): Use default_homedir().
288         (main) [W32]: Initialize sockets.
289
290 2004-12-21  Marcus Brinkmann  <marcus@g10code.de>
291
292         * Makefile.am (libexec_PROGRAMS): Add gpg-preset-passphrase.
293         (gpg_preset_passphrase_SOURCES, gpg_preset_passphrase_LDADD): New
294         targets.
295         * agent.h (opt): New member allow_cache_passphrase.
296         * cache.c (housekeeping): Check if R->ttl is not negative.
297         (agent_put_cache): Allow ttl to be negative.
298         * command.c (parse_hexstring): Allow something to follow the
299         hexstring.
300         (cmd_cache_passphrase): New function.
301         (register_commands): Add it.
302         * gpg-agent.c: Handle --allow-preset-passphrase.
303         * preset-passphrase.c: New file.
304
305 2004-12-21  Werner Koch  <wk@g10code.com>
306
307         * gpg-agent.c (main): Use default_homedir().
308         * protect-tool.c (main): Ditto. 
309
310 2004-12-20  Werner Koch  <wk@g10code.com>
311
312         * gpg-agent.c (main) [W32]: Now that Mutexes work we can remove
313         the pth_init kludge.
314         (main): Add new options --[no-]use-standard-socket.
315         (check_for_running_agent): Check whether it is running on the
316         standard socket.
317
318         * call-scd.c (init_membuf, put_membuf, get_membuf): Removed.  We
319         now use the identical implementation from ../common/membuf.c.
320
321         * pksign.c (agent_pksign): Changed arg OUTFP to OUTBUF and use
322         membuf functions to return the value.
323         * pkdecrypt.c (agent_pkdecrypt): Ditto.
324         * genkey.c (agent_genkey): Ditto.
325         * command.c (cmd_pksign, cmd_pkdecrypt, cmd_genkey): Replaced
326         assuan_get_data_fp() by a the membuf scheme.
327         (clear_outbuf, write_and_clear_outbuf): New.
328
329 2004-12-19  Werner Koch  <wk@g10code.com>
330
331         * query.c (initialize_module_query): New.
332         * call-scd.c (initialize_module_call_scd): New.
333         * gpg-agent.c (main): Call them.
334         
335 2004-12-18  Werner Koch  <wk@g10code.com>
336
337         * gpg-agent.c (main):  Remove special Pth initialize.
338
339         * agent.h (map_assuan_err): Define in terms of
340         map_assuan_err_with_source.
341
342 2004-12-17  Moritz Schulte  <moritz@g10code.com>
343
344         * query.c: Undo change from 2004-12-05.
345
346 2004-12-15  Werner Koch  <wk@g10code.com>
347
348         * gpg-agent.c [W32]: Various hacks to make it work.
349
350         * findkey.c (agent_write_private_key) [W32]: Adjust open call.
351
352         * call-scd.c (start_scd) [W32]: Don't check whether the daemon
353         didn't died.  To hard to do under Windows.
354         (start_scd) [W32]: Disable sending of the event signal option.
355
356         * protect-tool.c (read_file, export_p12_file) [W32]: Use setmode
357         to get stdout and stin into binary mode.
358
359 2004-12-05  Moritz Schulte  <moritz@g10code.com>
360
361         * query.c (start_pinentry): Allow CTRL be NULL.
362
363 2004-10-22  Werner Koch  <wk@g10code.com>
364
365         * gpg-agent.c (parse_rereadable_options): Return "not handled"
366         when the log file has not beend hadled.  This is will let the main
367         option processing continue. Fixed a bug introduced on 2004-09-4
368         resulting in logging to stderr until a HUP has been given.
369         (main): Don't close the listen FD.
370
371 2004-09-30  Werner Koch  <wk@g10code.com>
372
373         * Makefile.am: Adjusted from gettext 1.14.
374
375 2004-09-29  Werner Koch  <wk@g10code.com>
376
377         * minip12.c (parse_bag_encrypted_data): Print error if a bad
378         passphrase has been given.
379
380 2004-09-28  Werner Koch  <wk@g10code.com>
381
382         * protect.c (agent_unprotect): Fixed wiping of CLEARTEXT.  Thanks
383         to Moritz for pointing this out.
384
385 2004-09-25  Moritz Schulte  <moritz@g10code.com>
386         
387         * agent.h: Declare: agent_pksign_do.
388         (struct server_control_s): New member: raw_value.
389         
390         * pksign.c (do_encode_md): New argument: raw_value; support
391         generation of raw (non-pkcs1) data objects; adjust callers.
392         (agent_pksign_do): New function, based on code ripped
393         out from agent_pksign.
394         (agent_pksign): Use agent_pksign_do.
395
396         * command.c (start_command_handler): Set ctrl.digest.raw_value.
397         
398 2004-09-09  Werner Koch  <wk@g10code.de>
399
400         * gpg-agent.c (check_for_running_agent): New.
401         (main): The default action is now to check for an already running
402         agent.
403         (parse_rereadable_options): Set logfile only on reread.
404         (main): Do not print the "is development version" note.
405
406 2004-08-20  Werner Koch  <wk@g10code.de>
407
408         * gpg-agent.c: New option --max-cache-ttl.  Suggested by Alexander
409         Belopolsky.
410         * cache.c (housekeeping): Use it here instead of the hardwired
411         default of 1 hour.
412
413         * query.c (start_pinentry): Use a timeout for the pinentry lock.
414
415 2004-08-18  Werner Koch  <wk@g10code.de>
416
417         * protect-tool.c (get_passphrase): Make sure that the default
418         prompts passed to gpg-agent are utf-8 encoded. Add new prompt values.
419         (import_p12_file, import_p12_file, export_p12_file): Changed calls
420         to get_passphrase so that better prompts are displayed.
421         (get_new_passphrase): New.
422
423 2004-07-22  Werner Koch  <wk@g10code.de>
424
425         * trustlist.c (read_list): Allow colons in the fingerprint.
426         (headerblurb): Rephrased.
427
428         * gpg-agent.c (handle_connections): Increase the stack size ot 256k.
429
430 2004-06-20  Moritz Schulte  <moritz@g10code.com>
431
432         * gpg-agent.c: Include <sys/stat.h> (build fix for BSD).
433
434 2004-05-11  Werner Koch  <wk@gnupg.org>
435
436         * gpg-agent.c (handle_signal): Reload the trustlist on SIGHUP.
437         (start_connection_thread): Hack to simulate a ticker.
438         * trustlist.c (agent_trustlist_housekeeping) 
439         (agent_reload_trustlist): New.  Protected all global functions
440         here with a simple counter which is sufficient for Pth.
441
442 2004-05-03  Werner Koch  <wk@gnupg.org>
443
444         * gpg-agent.c: Remove help texts for options lile --lc-ctype.
445         (main): New option --allow-mark-trusted. 
446         * trustlist.c (agent_marktrusted): Use it here.
447
448 2004-04-30  Werner Koch  <wk@gnupg.org>
449
450         * protect-tool.c: New option --enable-status-msg.
451         (store_private_key): Print status messages for imported keys.
452         (read_and_unprotect): Ditto for bad passphrase.
453
454         * gpg-agent.c (parse_rereadable_options): New arg REREAD.  Allow
455         changing oLogFile.
456         (current_logfile): New.
457
458 2004-04-26  Werner Koch  <wk@gnupg.org>
459
460         * call-scd.c (start_scd): Do not register an event signal if we
461         are running as a pipe server.
462
463 2004-04-21  Werner Koch  <wk@gnupg.org>
464
465         * call-scd.c (start_scd): Send event-signal option. Always check
466         that the scdaemon is still running.
467
468         * gpg-agent.c (handle_signal): Do not use SIGUSR{1,2} anymore for
469         changing the verbosity.
470
471 2004-04-16  Werner Koch  <wk@gnupg.org>
472
473         * gpg-agent.c (main): Tell the logging code that we are running
474         detached.
475
476 2004-04-06  Werner Koch  <wk@gnupg.org>
477
478         * gpg-agent.c (main): Use new libgcrypt thread library register
479         scheme.
480
481 2004-03-23  Marcus Brinkmann  <marcus@g10code.de>
482
483         * gpg-agent.c (main): For now, always print the default config
484         file name for --gpgconf-list.
485
486 2004-03-17  Werner Koch  <wk@gnupg.org>
487
488         * gpg-agent.c (main) <gpgconf>: Fixed default value quoting.
489
490 2004-03-16  Werner Koch  <wk@gnupg.org>
491
492         * gpg-agent.c (parse_rereadable_options): Use the new
493         DEFAULT_CACHE_TTL macro.
494         (main): Updated --gpgconf-list output.
495
496 2004-02-21  Werner Koch  <wk@gnupg.org>
497
498         * command.c (cmd_passwd): Take acount of a key description.
499
500         * genkey.c (reenter_compare_cb): Do not set the error text.
501         (agent_protect_and_store, agent_genkey): Force a re-enter after a
502         non-matching passphrase.
503         * query.c (agent_askpin): Add new arg INITIAL_ERRTEXT; changed
504         all callers.
505
506 2004-02-19  Werner Koch  <wk@gnupg.org>
507
508         * protect-tool.c: New options --have-cert and --prompt.
509         (export_p12_file): Read a certificate from STDIN and pass it to
510         p12_build.  Detect a keygrip and construct the filename in that
511         case.  Unprotcet a key if needed.  Print error messages for key
512         formats we can't handle.
513         (release_passphrase): New.
514         (get_passphrase): New arg PROMPTNO. Return the allocated
515         string. Changed all callers.
516
517         * minip12.c: Revamped the build part.
518         (p12_build): New args CERT and CERTLEN.  
519
520 2004-02-18  Werner Koch  <wk@gnupg.org>
521
522         * protect-tool.c (main): Setup the used character set.
523         * gpg-agent.c (main): Ditto.
524
525         * gpg-agent.c (set_debug): New.  New option --debug-level.
526         (main): New option --gpgconf-list.
527
528 2004-02-17  Werner Koch  <wk@gnupg.org>
529
530         * pksign.c (do_encode_md): Cleaned up by using gcry_sexp_build.
531
532         * Makefile.am (gpg_protect_tool_SOURCES): Removed
533         simple-pwquery.[ch], as we once moved it to ../common.
534
535 2004-02-13  Werner Koch  <wk@gnupg.org>
536
537         * command.c (cmd_setkeydesc): New.
538         (register_commands): Add command SETKEYDESC.
539         (cmd_pksign, cmd_pkdecrypt): Use the key description.
540         (reset_notify): Reset the description.
541         * findkey.c (unprotect): Add arg DESC_TEXT.
542         (agent_key_from_file): Ditto.
543         * pksign.c (agent_pksign): Ditto.
544         * pkdecrypt.c (agent_pkdecrypt): Ditto. Made CIPHERTEXT an
545         unsigned char*.
546
547         * protect-tool.c (main): New options --no-fail-on-exist, --homedir.
548         (store_private_key): Use them here.
549
550 2004-02-12  Werner Koch  <wk@gnupg.org>
551
552         * protect-tool.c (read_file, main): Allow reading from stdin.
553
554         * Makefile.am: Include cmacros.am for common flags.
555         (libexec_PROGRAMS): Put gpg-protect-tool there.
556
557 2004-02-10  Werner Koch  <wk@gnupg.org>
558
559         * minip12.c (parse_bag_encrypted_data): Finished implementation.
560         (p12_parse): Add callback args.
561         * protect-tool.c (import_p12_cert_cb): New.
562         (import_p12_file): Use it.
563
564 2004-02-06  Werner Koch  <wk@gnupg.org>
565
566         * minip12.c (crypt_block): Add arg CIPHER_ALGO; changed all callers.
567         (set_key_iv): Add arg KEYBYTES; changed caller.
568
569 2004-02-03  Werner Koch  <wk@gnupg.org>
570
571         * findkey.c (agent_key_from_file): Extra paranoid wipe.
572         * protect.c (agent_unprotect): Ditto.
573         (merge_lists): Ditto. Add arg RESULTLEN.
574         * pkdecrypt.c (agent_pkdecrypt): Don't show the secret key even in
575         debug mode.
576
577         * protect.c: Add DSA and Elgamal description.
578
579 2004-01-29  Werner Koch  <wk@gnupg.org>
580
581         * agent.h (server_control_s): Add connection_fd field.
582         * command.c (start_command_handler): Init it here.
583         * gpg-agent.c (agent_init_default_ctrl): and here.
584         * call-scd.c: Add the CTRL arg to all functions calling start_scd
585         and pass it to start_scd.  Changed all callers
586         (start_scd): Keep track of the current active connection.
587         (agent_reset_scd): New.
588         * command.c (start_command_handler): Call it here.
589         * learncard.c (agent_handle_learn): Add arg CTRL; changed caller.
590         (send_cert_back): Ditto.
591
592 2004-01-28  Werner Koch  <wk@gnupg.org>
593
594         * trustlist.c (agent_marktrusted): Check whether the trustlist is
595         writable.
596
597 2004-01-27  Werner Koch  <wk@gnupg.org>
598
599         * sexp-parse.h: Moved to ../common.
600
601 2004-01-24  Werner Koch  <wk@gnupg.org>
602
603         * call-scd.c (atfork_cb): New.
604         (start_scd): Make sure secmem gets cleared.
605         * query.c  (atfork_cb): New.
606         (start_pinentry): Make sure secmem gets cleared.
607
608 2004-01-16  Werner Koch  <wk@gnupg.org>
609
610         * findkey.c (agent_key_from_file): Now return an error code so
611         that we have more detailed error messages in the upper layers.
612         This fixes the handling of pinentry's cancel button. 
613         * pksign.c (agent_pksign): Changed accordingly.
614         * pkdecrypt.c (agent_pkdecrypt): Ditto.
615         * command.c (cmd_passwd): Ditto.
616
617 2003-12-16  Werner Koch  <wk@gnupg.org>
618
619         * gpg-agent.c (main): Set the prefixes for assuan logging.
620
621 2003-12-15  Werner Koch  <wk@gnupg.org>
622
623         * protect.c (do_encryption): Use gcry_create_nonce instad of the
624         obsolete WEAK_RANDOM.
625
626 2003-11-20  Werner Koch  <wk@gnupg.org>
627
628         * sexp-parse.h (snext): Don't use atoi_1 and digitp macros, so
629         that this file is useful by other applications too.
630
631 2003-10-27  Werner Koch  <wk@gnupg.org>
632
633         * command.c (cmd_get_confirmation): New command.
634
635 2003-08-20  Timo Schulz  <twoaday@freakmail.de>
636
637         * pksign.c (do_encode_md): Allocate enough space. Cast md
638         byte to unsigned char to prevent sign extension.
639         
640 2003-08-14  Timo Schulz  <twoaday@freakmail.de>
641
642         * pksign.c (do_encode_md): Due to the fact pkcs#1 padding
643         is now in Libgcrypt, use the new interface.
644         
645 2003-07-31  Werner Koch  <wk@gnupg.org>
646
647         * Makefile.am (gpg_agent_LDADD): Added INTLLIBS.
648         (gpg_protect_tool_SOURCES): Added simple-pwquery.[ch]
649
650 2003-07-27  Werner Koch  <wk@gnupg.org>
651
652         Adjusted for gcry_mpi_print and gcry_mpi_scan API change.
653
654 2003-07-15  Werner Koch  <wk@gnupg.org>
655
656         * simple-pwquery.c, simple-pwquery.h:  Moved to ../common.
657         * Makefile.am (gpg_protect_tool_LDADD): Add simple-pwquery.o.
658         Removed it from xx_SOURCES.
659
660 2003-07-04  Werner Koch  <wk@gnupg.org>
661
662         * gpg-agent.c (handle_connections): Kludge to allow use of Pth 1
663         and 2.
664
665 2003-06-30  Werner Koch  <wk@gnupg.org>
666
667         * call-scd.c (learn_status_cb): Store the serialno in PARM.
668
669 2003-06-26  Werner Koch  <wk@gnupg.org>
670
671         * call-scd.c (agent_card_serialno): Don't do a RESET anymore.
672
673 2003-06-25  Werner Koch  <wk@gnupg.org>
674
675         * command.c (cmd_scd): New.
676         * call-scd.c (agent_card_scd): New.
677         * divert-scd.c (divert_generic_cmd): New
678
679         * call-scd.c (agent_card_learn): New callback args SINFO.
680         (learn_status_cb): Pass all other status lines to the sinfo
681         callback.
682         * learncard.c (release_sinfo, sinfo_cb): New.
683         (agent_handle_learn): Pass the new cb to the learn function and
684         pass the collected information back to the client's assuan
685         connection.
686
687         * gpg-agent.c (main): Moved pth_init before gcry_check_version.
688
689 2003-06-24  Werner Koch  <wk@gnupg.org>
690
691         * gpg-agent.c (handle_connections): Adjusted for Pth 2.0
692
693         Adjusted for changes in the libgcrypt API. Some more fixes for the
694         libgpg-error stuff.  
695
696 2003-06-04  Werner Koch  <wk@gnupg.org>
697
698         Renamed error codes from INVALID to INV and removed _ERROR suffixes.
699
700 2003-06-03  Werner Koch  <wk@gnupg.org>
701
702         Changed all error codes in all files to the new libgpg-error scheme.
703
704         * agent.h: Include gpg-error.h and errno.h
705         * Makefile.am: Link with libgpg-error
706
707         * query.c: assuan.h is now a system header.
708         * genkey.c (agent_genkey): Fixed silly use of xmalloc by
709         xtrymalloc.
710
711 2003-04-29  Werner Koch  <wk@gnupg.org>
712
713         * command.c (register_commands): Adjusted for new Assuan semantics.
714
715         * Makefile.am: Don't override LDFLAGS.
716
717 2002-12-04  Werner Koch  <wk@gnupg.org>
718
719         * gpg-agent.c: New variable config_filename.
720         (parse_rereadable_options): New.
721         (main): Use it here.  Add setting of default values, set
722         config_filename.
723         (reread_configuration): Filled with actual code.
724
725 2002-12-03  Werner Koch  <wk@gnupg.org>
726
727         * protect-tool.c (read_key): Don't run make_canonical on a NULL
728         buffer.
729
730         * command.c (parse_hexstring): New.
731         (cmd_sethash): Use it.
732         (parse_keygrip): New.
733         (cmd_havekey, cmd_sigkey): Use it.
734         (cmd_passwd): New.
735         * genkey.c (agent_protect_and_store): New.
736         (store_key): Add arg FORCE.
737         (agent_genkey): Pass false to this force of store_key.
738
739 2002-11-13  Werner Koch  <wk@gnupg.org>
740
741         * gpg-agent.c (main): Switch all messages to utf-8.
742
743         * simple-pwquery.c (agent_send_all_options): Use $GPG_TTY and
744         stdin with ttyname.
745
746         * cache.c (new_data): Uiih - /sizeof d/sizeof *d/.
747
748 2002-11-10  Werner Koch  <wk@gnupg.org>
749
750         * command.c (option_handler): Fix keep_tty check.
751
752 2002-11-06  Werner Koch  <wk@gnupg.org>
753
754         * gpg-agent.c (main): Make sure we have a default ttyname.
755         * command.c (option_handler): Check opt.keep_tty here
756         * query.c (start_pinentry): but not anymore here.
757
758 2002-11-05  Werner Koch  <wk@gnupg.org>
759
760         * agent.h (opt,server_control_s): Move display and lc_ variables
761         to the control struct so that they are per connection.
762         * gpg-agent.c (agent_init_default_ctrl): New.
763         (main): Assign those command line options to new default_* variables.
764         Reset DISPLAY in server mode so that tehre is no implicit default.
765         * command.c (start_command_handler): Initialize and deinitialize
766         the control values.
767         (option_handler): Work on the ctrl values and not on the opt.
768         * query.c (start_pinentry): New argument CTRL to set the display
769         connection specific.  Changed all callers to pass this value.
770         (agent_askpin,agent_get_passphrase,agent_get_confirmation): Add
771         CTRL arg and pass it ot start_pinentry.
772         * command.c (cmd_get_passphrase): Pass CTRL argument.
773         * trustlist.c (agent_marktrusted):  Add CTRL argument  
774         * command.c (cmd_marktrusted): Pass CTRL argument
775         * divert-scd.c (ask_for_card):  Add CTRL arg. 
776         (divert_pksign,divert_pkdecrypt): Ditto.  Changed caller.
777         (getpin_cb): Use OPAQUE to pass the CTRL variable.  Changed both 
778         users.
779         * findkey.c (unprotect): Add CTRL arg.
780         (agent_key_from_file): Ditto.
781
782         * query.c (unlock_pinentry): Disconnect the pinentry so that we
783         start a new one for each request.  This is required to support
784         clients with different environments (e.g. X magic cookies).
785
786 2002-09-05  Neal H. Walfield  <neal@cs.uml.edu>
787
788         * gpg-agent.c (main) [USE_GNU_PTH]: No need to call
789         assuan_set_io_func as assuan is smart.
790
791 2002-09-25  Werner Koch  <wk@gnupg.org>
792
793         * gpg-agent.c (handle_signal): Flush cache on SIGHUP.
794         * cache.c (agent_flush_cache): New.
795
796         * gpg-agent.c, agent.h: Add --keep-display and --keep-tty.
797         * query.c (start_pinentry): Implement them.  The option passing
798         needs more thoughts.
799
800 2002-09-09  Werner Koch  <wk@gnupg.org>
801
802         * gpg-agent.c (create_private_keys_directory)
803         (create_directories): New.
804         (main): Try to create a home directory.
805
806 2002-09-04  Neal H. Walfield  <neal@g10code.de>
807
808         * gpg-agent.c (main): Use sigaction, not signal.
809
810 2002-09-03  Neal H. Walfield  <neal@g10code.de>
811
812         * findkey.c: Include <fcntl.h>.
813         (agent_write_private_key): Prefer POSIX compatibity, open and
814         fdopen, over the simplicity of GNU extensions, fopen(file, "x").
815
816 2002-08-22  Werner Koch  <wk@gnupg.org>
817
818         * query.c (agent_askpin): Provide the default desc text depending
819         on the pininfo.  Do the basic PIN verification only when
820         min_digits is set.
821
822 2002-08-21  Werner Koch  <wk@gnupg.org>
823
824         * query.c (agent_askpin): Hack to show the right default prompt.
825         (agent_get_passphrase): Ditto.
826
827         * trans.c: Removed and replaced all usages with standard _()
828
829         * divert-scd.c (getpin_cb): Pass a more descritive text to the
830         pinentry.
831
832         * Makefile.am: Renamed the binary protect-tool to gpg-protect-tool.
833         * protect-tool.c: Removed the note about internal use only.
834
835         * gpg-agent.c (main): New option --daemon so that the program is
836         not accidently started in the background.
837
838 2002-08-16  Werner Koch  <wk@gnupg.org>
839
840         * call-scd.c (learn_status_cb): Handle CERTINFO status.
841         (agent_card_learn): Add args for certinfo cb.
842         * learncard.c (release_certinfo,certinfo_cb): New.
843         (send_cert_back): New. With factored out code from ..
844         (agent_handle_learn): here.  Return certinfo stuff.
845
846 2002-07-26  Werner Koch  <wk@gnupg.org>
847
848         * gpg-agent.c (main): New option --ignore-cache-for-signing.
849         * command.c (option_handler): New server option
850         use-cache-for-signing defaulting to true.
851         (cmd_pksign): handle global and per session option.
852         * findkey.c (agent_key_from_file, unprotect): New arg
853         ignore_cache.  Changed all callers.
854         * pksign.c (agent_pksign): Likewise.
855
856 2002-06-29  Werner Koch  <wk@gnupg.org>
857
858         * query.c (start_pinentry): Use GNUPG_DERAULT_PINENTRY.
859         * call-scd.c (start_scd): Use GNUPG_DEFAULT_SCDAEMON.
860
861 2002-06-28  Werner Koch  <wk@gnupg.org>
862
863         * protect-tool.c (export_p12_file): New.
864         (main): New command --p12-export.
865         * minip12.c (create_final,p12_build,compute_tag_length): New.
866         (store_tag_length): New.
867
868 2002-06-27  Werner Koch  <wk@gnupg.org>
869
870         * minip12.c (crypt_block): Renamed from decrypt_block, add arg to
871         allow encryption.
872
873         * Makefile.am (pkglib_PROGRAMS): Put protect-tool there.
874
875         * findkey.c (agent_write_private_key,agent_key_from_file)
876         (agent_key_available): Use GNUPG_PRIVATE_KEYS_DIR constant.
877         * gpg-agent.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
878
879         * protect-tool.c (store_private_key): New.
880         (import_p12_file): Store the new file if requested.
881         (main): New options --force and --store.
882
883         * gpg-agent.c (main): Set a global flag when running detached.
884         * query.c (start_pinentry): Pass the list of FD to keep in the
885         child when not running detached.
886         * call-scd.c (start_scd): Ditto.
887
888 2002-06-26  Werner Koch  <wk@gnupg.org>
889
890         * command.c (cmd_istrusted, cmd_listtrusted, cmd_marktrusted)
891         (cmd_pksign, cmd_pkdecrypt, cmd_genkey, cmd_get_passphrase)
892         (cmd_learn): Print an error message for a failed operation.
893
894         * simple-pwquery.c, simple-pwquery.h: New.
895         * protect-tool. (get_passphrase): New, used to get a passphrase
896         from the agent if none was given on the command line.
897
898 2002-06-25  Werner Koch  <wk@gnupg.org>
899
900         * protect-tool.c (rsa_key_check): New.
901         (import_p12_file): New.
902         (main): New command --p12-import.
903         * minip12.c, minip12.h: New.
904
905 2002-06-24  Werner Koch  <wk@gnupg.org>
906
907         * protect-tool.c (read_file): New.
908         (read_key): Factored most code out to read_file.
909
910 2002-06-17  Werner Koch  <wk@gnupg.org>
911
912         * agent.h: Add a callback function to the pin_entry_info structure.
913         * query.c (agent_askpin): Use the callback to check for a correct
914         PIN.  Removed the start_err_text argument because it is not
915         anymore needed; changed callers.
916         * findkey.c (unprotect): Replace our own check loop by a callback.
917         (try_unprotect_cb): New.
918         * genkey.c (reenter_compare_cb): New.
919         (agent_genkey): Use this callback here.  Fixed setting of the pi2
920         variable and a segv in case of an empty PIN.
921
922         * divert-scd.c (getpin_cb): Removed some unused stuff and
923         explained what we still have to change.
924
925 2002-06-12  Werner Koch  <wk@gnupg.org>
926
927         * gpg-agent.c (main): New option --disable-pth.
928
929 2002-06-11  Werner Koch  <wk@gnupg.org>
930
931         * protect-tool.c: Add command --show-keygrip
932         (show_keygrip): New.
933
934 2002-05-23  Werner Koch  <wk@gnupg.org>
935
936         * call-scd.c: Seirialized all scdaeom access when using Pth.
937
938         * cache.c: Made the cache Pth-thread-safe.
939         (agent_unlock_cache_entry): New.
940         * findkey.c (unprotect): Unlock the returned cache value.
941         * command.c (cmd_get_passphrase): Ditto.
942
943         * gpg-agent.c (main): Register pth_read/write with Assuan.
944
945 2002-05-22  Werner Koch  <wk@gnupg.org>
946
947         * query.c: Serialized all pinentry access when using Pth.
948
949         * gpg-agent.c (handle_signal,start_connection_thread)
950         (handle_connections): New
951         (main): Use the new Pth stuff to allow concurrent connections.
952         * command.c (start_command_handler): Add new arg FD so that the
953         fucntion can also be used for an already connected socket.
954         * Makefile.am: Link with Pth.
955
956 2002-05-14  Werner Koch  <wk@gnupg.org>
957
958         * cache.c (housekeeping, agent_put_cache): Use our time() wrapper.
959
960 2002-04-26  Werner Koch  <wk@gnupg.org>
961
962         * cache.c (agent_put_cache): Reinitialize the creation time and
963         the ttl when reusing a slot.
964
965         * call-scd.c (start_scd): Print debug messages only with debug
966         flags set.
967         * query.c (start_pinentry): Ditto.
968
969 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
970
971         * agent.h (agent_get_confirmation): Replace paramter prompt with
972         two parameters ok and cancel.
973         * query.c (agent_get_confirmation): Likewise.  Implement this.
974         * trustlist.c (agent_marktrusted): Fix invocation of
975         agent_get_confirmation.
976         * divert-scd.c (ask_for_card): Likewise.
977
978 2002-04-24  Marcus Brinkmann  <marcus@g10code.de>
979
980         * agent.h (struct opt): Add members display, ttyname, ttytype,
981         lc_ctype, and lc_messages.
982         * gpg-agent.c (enum cmd_and_opt_values): Add oDisplay, oTTYname,
983         oTTYtype, oLCctype, and LCmessages.
984         (main): Handle these options.
985         * command.c (option_handler): New function.
986         (register_commands): Register option handler.
987         * query.c (start_pinentry): Pass the various display and tty
988         options to the pinentry.
989
990 2002-04-05  Werner Koch  <wk@gnupg.org>
991
992         * protect-tool.c (show_file): New.  Used as default action.
993
994 2002-03-28  Werner Koch  <wk@gnupg.org>
995
996         * divert-scd.c (encode_md_for_card): Don't do the pkcs-1 padding,
997         the scdaemon should take care of it.
998         (ask_for_card): Hack to not display the trailing zero.
999
1000 2002-03-11  Werner Koch  <wk@gnupg.org>
1001
1002         * learncard.c (kpinfo_cb): Remove the content restrictions from
1003         the keyID.
1004
1005 2002-03-06  Werner Koch  <wk@gnupg.org>
1006
1007         * learncard.c: New.
1008         * divert-scd.c (ask_for_card): The serial number is binary so
1009         convert it to hex here.
1010         * findkey.c (agent_write_private_key): New.
1011         * genkey.c (store_key): And use it here.
1012         
1013         * pkdecrypt.c (agent_pkdecrypt): Changed the way the diversion is done.
1014         * divert-scd.c (divert_pkdecrypt): Changed interface and
1015         implemented it.
1016
1017 2002-03-05  Werner Koch  <wk@gnupg.org>
1018
1019         * call-scd.c (inq_needpin): New.
1020         (agent_card_pksign): Add getpin_cb args.
1021         (agent_card_pkdecrypt): New.
1022
1023 2002-03-04  Werner Koch  <wk@gnupg.org>
1024
1025         * pksign.c (agent_pksign): Changed how the diversion is done.
1026         * divert-scd.c (divert_pksign): Changed interface and implemented it.
1027         (encode_md_for_card): New.
1028         * call-scd.c (agent_card_pksign): New.
1029
1030 2002-02-28  Werner Koch  <wk@gnupg.org>
1031
1032         * pksign.c (agent_pksign): Detect whether a Smartcard is to be
1033         used and divert the operation in this case.
1034         * pkdecrypt.c (agent_pkdecrypt): Likewise
1035         * findkey.c (agent_key_from_file): Add optional arg shadow_info
1036         and have it return information about a shadowed key.
1037         * protect.c (agent_get_shadow_info): New.
1038
1039         * protect.c (snext,sskip,smatch): Moved to
1040         * sexp-parse.h: New file.
1041         * divert-scd.c: New.
1042         
1043 2002-02-27  Werner Koch  <wk@gnupg.org>
1044
1045         * protect.c (agent_shadow_key): New.
1046
1047         * command.c (cmd_learn): New command LEARN.
1048         * gpg-agent.c: New option --scdaemon-program.
1049         * call-scd.c (start_scd): New. Based on query.c
1050         * query.c: Add 2 more arguments to all uses of assuan_transact.
1051
1052 2002-02-18  Werner Koch  <wk@gnupg.org>
1053
1054         * findkey.c (unprotect): Show an error message for a bad passphrase.
1055
1056         * command.c (cmd_marktrusted): Implemented.
1057         * trustlist.c (agent_marktrusted): New.
1058         (open_list): Add APPEND arg.
1059
1060         * query.c (agent_get_confirmation): New.
1061
1062 2002-02-06  Werner Koch  <wk@gnupg.org>
1063
1064         * cache.c (housekeeping): Fixed linking in the remove case.
1065
1066 2002-02-01  Werner Koch  <wk@gnupg.org>
1067
1068         * gpg-agent.c: New option --default-cache-ttl.
1069         * cache.c (agent_put_cache): Use it.
1070         
1071         * cache.c: Add a few debug outputs.
1072
1073         * protect.c (agent_private_key_type): New.
1074         * agent.h: Add PRIVATE_KEY_ enums.
1075         * findkey.c (agent_key_from_file): Use it to decide whether we
1076         have to unprotect a key.
1077         (unprotect): Cache the passphrase.
1078         
1079         * findkey.c (agent_key_from_file,agent_key_available): The key
1080         files do now require a ".key" suffix to make a script's life
1081         easier. 
1082         * genkey.c (store_key): Ditto.
1083
1084 2002-01-31  Werner Koch  <wk@gnupg.org>
1085
1086         * genkey.c (store_key): Protect the key.
1087         (agent_genkey): Ask for the passphrase.
1088         * findkey.c (unprotect): Actually unprotect the key.
1089         * query.c (agent_askpin): Add an optional start_err_text. 
1090
1091 2002-01-30  Werner Koch  <wk@gnupg.org>
1092
1093         * protect.c: New.  
1094         (hash_passphrase): Based on the GnuPG 1.0.6 version.
1095         * protect-tool.c: New
1096
1097 2002-01-29  Werner Koch  <wk@gnupg.org>
1098
1099         * findkey.c (agent_key_available): New.
1100         * command.c (cmd_havekey): New.
1101         (register_commands): And register new command.
1102
1103 2002-01-20  Werner Koch  <wk@gnupg.org>
1104
1105         * command.c (cmd_get_passphrase): Remove the plus signs.
1106
1107         * query.c (start_pinentry): Send no-grab option to pinentry
1108         * gpg-agent.c (main): Move variable grab as no_grab to agent.h.
1109
1110 2002-01-19  Werner Koch  <wk@gnupg.org>
1111
1112         * gpg-agent.c (main): Disable core dumps.
1113
1114         * cache.c: New.
1115         * command.c (cmd_get_passphrase): Use the cache.
1116         (cmd_clear_passphrase): Ditto.
1117
1118         * gpg-agent.c:  Removed unused cruft and implement the socket
1119         based server.
1120         (my_strusage): Take bug report address from configure.ac.
1121         * command.c (start_command_handler): Add an argument to start as
1122         regular server.
1123         (start_command_handler): Enable Assuan logging.
1124
1125 2002-01-15  Werner Koch  <wk@gnupg.org>
1126
1127         * trustlist.c: New.
1128         * command.c (cmd_istrusted, cmd_listtrusted, cmd_marktrusted): New.
1129
1130 2002-01-07  Werner Koch  <wk@gnupg.org>
1131
1132         * genkey.c: Store the secret part and return the public part.
1133
1134 2002-01-03  Werner Koch  <wk@gnupg.org>
1135
1136         * command.c (cmd_get_passphrase): New.
1137         (cmd_clear_passphrase): New.
1138         * query.c (agent_get_passphrase): New.
1139
1140 2002-01-02  Werner Koch  <wk@gnupg.org>
1141
1142         * genkey.c: New.
1143         * command.c (cmd_genkey): New.
1144
1145         * command.c (rc_to_assuan_status): Removed and changed all callers
1146         to use map_to_assuan_status.
1147         
1148 2001-12-19  Werner Koch  <wk@gnupg.org>
1149
1150         * keyformat.txt: New. 
1151
1152 2001-12-19  Marcus Brinkmann  <marcus@g10code.de>
1153
1154         * query.c (start_pinentry): Add new argument to assuan_pipe_connect.
1155
1156 2001-12-18  Werner Koch  <wk@gnupg.org>
1157
1158         * Makefile.am: Use LIBGCRYPT macros
1159
1160 2001-12-14  Werner Koch  <wk@gnupg.org>
1161
1162         * gpg-agent.c (main): New option --batch.  New option --debug-wait
1163         n, so that it is possible to attach gdb when used in server mode.
1164         * query.c (agent_askpin): Don't ask in batch mode.
1165
1166         * command.c: Removed the conversion macros as they are now in
1167         ../common/util.h.
1168
1169 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
1170
1171         * query.c (LINELENGTH): Removed.
1172         (agent_askpin): Use ASSUAN_LINELENGTH, not LINELENGTH.
1173
1174 2001-11-19  Werner Koch  <wk@gnupg.org>
1175
1176         * gpg-agent.c: Removed all GUI code, removed code for old
1177         protocol.  New code to use the Assuan protocol as a server and
1178         also to communicate with a new ask-passphrase utility.
1179
1180 2000-11-22  Werner Koch  <wk@gnupg.org>
1181
1182         * gpg-agent.c (main): csh support by Dan Winship, new options --sh
1183         and --csh and set default by consulting $SHELL.
1184
1185 Mon Aug 21 17:59:17 CEST 2000  Werner Koch  <wk@openit.de>
1186
1187         * gpg-agent.c (passphrase_dialog): Cleanup the window and added the
1188         user supplied text to the window.
1189         (main): Fixed segv in gtk_init when used without a command to start.
1190
1191         * gpg-agent.c: --flush option.
1192         (req_flush): New.
1193         (req_clear_passphrase): Implemented.
1194
1195 Fri Aug 18 14:27:14 CEST 2000  Werner Koch  <wk@openit.de>
1196
1197         * gpg-agent.c: New.
1198         * Makefile.am: New.
1199
1200
1201  Copyright 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
1202
1203  This file is free software; as a special exception the author gives
1204  unlimited permission to copy and/or distribute it, with or without
1205  modifications, as long as this notice is preserved.
1206
1207  This file is distributed in the hope that it will be useful, but
1208  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1209  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.