* gpgsm.c: New option --auto-issuer-key-retrieve.
[gnupg.git] / sm / ChangeLog
1 2002-06-29  Werner Koch  <wk@gnupg.org>
2
3         * gpgsm.c: New option --auto-issuer-key-retrieve.
4         * certpath.c (find_up): Try to retrieve an issuer key from an
5         external source and from the ephemeral key DB.
6         (find_up_store_certs_cb): New.
7
8         * keydb.c (keydb_set_ephemeral): Does now return the old
9         state.  Call the backend only when required.
10
11         * call-dirmngr.c (start_dirmngr): Use GNUPG_DEFAULT_DIRMNGR.
12         (lookup_status_cb): Issue status only when CTRL is not NULL.
13         (gpgsm_dirmngr_lookup): Document that CTRL is optional.
14
15         * call-agent.c (start_agent): Use GNUPG_DEFAULT_AGENT.
16
17 2002-06-28  Werner Koch  <wk@gnupg.org>
18
19         * server.c (cmd_recipient): Add more reason codes.
20
21 2002-06-27  Werner Koch  <wk@gnupg.org>
22
23         * certpath.c (gpgsm_basic_cert_check): Use
24         --debug-no-path-validation to also bypass this basic check.
25
26         * gpgsm.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
27
28         * call-agent.c (start_agent): Create and pass the list of FD to
29         keep in the child to assuan.
30         * call-dirmngr.c (start_dirmngr): Ditto.
31
32 2002-06-26  Werner Koch  <wk@gnupg.org>
33
34         * import.c (gpgsm_import): Print an STATUS_IMPORTED.
35
36         * gpgsm.c: --debug-no-path-validation does not take an argument.
37
38 2002-06-25  Werner Koch  <wk@gnupg.org>
39
40         * certdump.c (print_dn_part): Always print a leading slash,
41         removed NEED_DELIM arg and changed caller.
42
43         * export.c (gpgsm_export): Print LFs to FP and not stdout.
44         (print_short_info): Ditto.  Make use of gpgsm_print_name.
45
46         * server.c (cmd_export): Use output-fd instead of data lines; this
47         was actually the specified way.
48
49 2002-06-24  Werner Koch  <wk@gnupg.org>
50
51         * gpgsm.c: Removed duped help entry for --list-keys.
52         
53         * gpgsm.c, gpgsm.h: New option --debug-no-path-validation.
54
55         * certpath.c (gpgsm_validate_path): Use it here instead of the
56         debug flag hack.
57
58         * certpath.c (check_cert_policy): Return No_Policy_Match if the
59         policy file could not be opened.
60
61 2002-06-20  Werner Koch  <wk@gnupg.org>
62
63         * certlist.c (gpgsm_add_to_certlist): Fixed locating of a
64         certificate with the required key usage.
65
66         * gpgsm.c (main): Fixed a segv when using --outfile without an
67         argument.
68
69         * keylist.c (print_capabilities): Also check for non-repudiation
70         and data encipherment.
71         * certlist.c (cert_usage_p): Test for signing and encryption was
72         swapped.  Add a case for certification usage, handle
73         non-repudiation and data encipherment.
74         (gpgsm_cert_use_cert_p): New.
75         (gpgsm_add_to_certlist): Added a CTRL argument and changed all
76         callers to pass it.
77         * certpath.c (gpgsm_validate_path): Use it here to print a status
78         message. Added a CTRL argument and changed all callers to pass it.
79         * decrypt.c (gpgsm_decrypt): Print a status message for wrong key
80         usage.
81         * verify.c (gpgsm_verify): Ditto.
82         * keydb.c (classify_user_id): Allow a colon delimited fingerprint.
83
84 2002-06-19  Werner Koch  <wk@gnupg.org>
85
86         * call-agent.c (learn_cb): Use log_info instead of log_error on
87         successful import.
88
89         * keydb.c (keydb_set_ephemeral): New.
90         (keydb_store_cert): New are ephemeral, changed all callers.
91         * keylist.c (list_external_cb): Store cert as ephemeral.
92         * export.c (gpgsm_export): Kludge to export epehmeral certificates.
93
94         * gpgsm.c (main): New command --list-external-keys.
95         
96 2002-06-17  Werner Koch  <wk@gnupg.org>
97
98         * certreqgen.c (read_parameters): Improved error handling.
99         (gpgsm_genkey): Print error message.
100
101 2002-06-13  Werner Koch  <wk@gnupg.org>
102
103         * gpgsm.c (main): New option --log-file.
104
105 2002-06-12  Werner Koch  <wk@gnupg.org>
106
107         * call-dirmngr.c (lookup_status_cb): New.
108         (gpgsm_dirmngr_lookup): Use the status CB.  Add new arg CTRL and
109         changed caller to pass it.
110
111         * gpgsm.c (open_fwrite): New.
112         (main): Allow --output for --verify.
113
114         * sign.c (hash_and_copy_data): New.
115         (gpgsm_sign): Implemented normal (non-detached) signatures.
116         * gpgsm.c (main): Ditto.
117         
118         * certpath.c (gpgsm_validate_path): Special error handling for
119         no policy match.
120
121 2002-06-10  Werner Koch  <wk@gnupg.org>
122
123         * server.c (get_status_string): Add STATUS_ERROR.
124
125         * certpath.c (gpgsm_validate_path): Tweaked the error checking to 
126         return error codes in a more sensitive way.
127         * verify.c (gpgsm_verify): Send status TRUST_NEVER also for a bad
128         CA certificate and when the certificate has been revoked.  Issue
129         TRUST_FULLY even when the cert has expired.  Append an error token
130         to these status lines.  Issue the new generic error status when a
131         cert was not found and when leaving the function.
132
133 2002-06-04  Werner Koch  <wk@gnupg.org>
134
135         * gpgsm.c (main): New command --list-sigs
136         * keylist.c (list_cert_std): New.  Use it whenever colon mode is
137         not used.
138         (list_cert_chain): New.
139
140 2002-05-31  Werner Koch  <wk@gnupg.org>
141
142         * gpgsm.c (main): Don't print the "go ahead" message for an
143         invalid command.
144
145 2002-05-23  Werner Koch  <wk@gnupg.org>
146
147         * import.c (gpgsm_import): Add error messages.
148
149 2002-05-21  Werner Koch  <wk@gnupg.org>
150
151         * keylist.c (list_internal_keys): Renamed from gpgsm_list_keys.
152         (list_external_keys): New.
153         (gpgsm_list_keys): Dispatcher for above.
154         * call-dirmngr.c (lookup_cb,pattern_from_strlist)
155         (gpgsm_dirmngr_lookup): New.
156         * server.c (option_handler): Handle new option --list-mode.
157         (do_listkeys): Handle options and actually use the mode argument.
158         (get_status_string): New code TRUNCATED.
159
160         * import.c (gpgsm_import): Try to identify the type of input and
161         handle certs-only messages.
162
163 2002-05-14  Werner Koch  <wk@gnupg.org>
164
165         * gpgsm.c: New option --faked-system-time
166         * sign.c (gpgsm_sign): And use it here.
167         * certpath.c (gpgsm_validate_path): Ditto.
168
169 2002-05-03  Werner Koch  <wk@gnupg.org>
170
171         * certpath.c (gpgsm_validate_path): Added EXPTIME arg and changed
172         all callers.
173         * verify.c (gpgsm_verify): Tweaked usage of log_debug and
174         log_error.  Return EXPSIG status and add expiretime to VALIDSIG.
175
176 2002-04-26  Werner Koch  <wk@gnupg.org>
177
178         * gpgsm.h (DBG_AGENT,DBG_AGENT_VALUE): Replaced by DBG_ASSUAN_*.
179         Changed all users.
180
181         * call-agent.c (start_agent): Be more silent without -v.
182         * call-dirmngr.c (start_dirmngr): Ditto.
183
184 2002-04-25  Werner Koch  <wk@gnupg.org>
185
186         * call-agent.c (start_agent): Make copies of old locales and check
187         for setlocale.
188
189 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
190
191         * call-agent.c (start_agent): Fix error handling logic so the
192         locale is always correctly reset.
193
194 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
195
196         * server.c (option_handler): Accept display, ttyname, ttytype,
197         lc_ctype and lc_messages options.
198         * gpgsm.c (main): Allocate memory for these options.
199         * gpgsm.h (struct opt): Make corresponding members non-const.
200
201 2002-04-24  Marcus Brinkmann  <marcus@g10code.de>
202
203         * gpgsm.h (struct opt): New members display, ttyname, ttytype,
204         lc_ctype, lc_messages.
205         * gpgsm.c (enum cmd_and_opt_values): New members oDisplay,
206         oTTYname, oTTYtype, oLCctype, oLCmessages.
207         (opts): New entries for these options.
208         (main): Handle these new options.
209         * call-agent.c (start_agent): Set the various display and tty
210         parameter after resetting.
211
212 2002-04-18  Werner Koch  <wk@gnupg.org>
213
214         * certreqgen.c (gpgsm_genkey): Write status output on success.
215
216 2002-04-15  Werner Koch  <wk@gnupg.org>
217
218         * gpgsm.c (main): Check ksba version.
219
220         * certpath.c (find_up): New to use the authorithKeyIdentifier.
221         Use it in all other functions to locate the signing cert..
222
223 2002-04-11  Werner Koch  <wk@gnupg.org>
224
225         * certlist.c (cert_usable_p): New.
226         (gpgsm_cert_use_sign_p,gpgsm_cert_use_encrypt_p): New.
227         (gpgsm_cert_use_verify_p,gpgsm_cert_use_decrypt_p): New.
228         (gpgsm_add_to_certlist): Check the key usage.
229         * sign.c (gpgsm_sign): Ditto.
230         * verify.c (gpgsm_verify): Print a message wehn an unsuitable
231         certificate was used.
232         * decrypt.c (gpgsm_decrypt): Ditto
233         * keylist.c (print_capabilities): Determine values from the cert.
234
235 2002-03-28  Werner Koch  <wk@gnupg.org>
236
237         * keylist.c (list_cert_colon): Fixed listing of crt record; the
238         issuer is not at the right place.  Print a chainingID.
239         * certpath.c (gpgsm_walk_cert_chain): Be a bit more silent on
240         common errors.
241
242 2002-03-21  Werner Koch  <wk@gnupg.org>
243
244         * export.c: New.
245         * gpgsm.c: Add command --export.
246         * server.c (cmd_export): New.
247         
248 2002-03-13  Werner Koch  <wk@gnupg.org>
249
250         * decrypt.c (gpgsm_decrypt): Allow multiple recipients.
251
252 2002-03-12  Werner Koch  <wk@gnupg.org>
253
254         * certpath.c (check_cert_policy): Print the policy list.
255
256         * verify.c (gpgsm_verify): Detect certs-only message.
257
258 2002-03-11  Werner Koch  <wk@gnupg.org>
259
260         * import.c (gpgsm_import): Print a notice about imported certificates
261         when in verbose mode.
262
263         * gpgsm.c (main): Print INV_RECP status.
264         * server.c (cmd_recipient): Ditto.
265
266         * server.c (gpgsm_status2): New.  Allows for a list of strings.
267         (gpgsm_status): Divert to gpgsm_status2.
268
269         * encrypt.c (gpgsm_encrypt): Don't use a default key when no
270         recipients are given.  Print a NO_RECP status.
271
272 2002-03-06  Werner Koch  <wk@gnupg.org>
273
274         * server.c (cmd_listkeys, cmd_listsecretkeys): Divert to
275         (do_listkeys): new.  Add pattern parsing.
276
277         * keylist.c (gpgsm_list_keys): Handle selection pattern.
278
279         * gpgsm.c: New command --learn-card
280         * call-agent.c (learn_cb,gpgsm_agent_learn): New.
281
282         * gpgsm.c (main): Print error messages for non-implemented commands.
283
284         * base64.c (base64_reader_cb): Use case insensitive compare of the
285         Content-Type string to detect plain base-64.
286
287 2002-03-05  Werner Koch  <wk@gnupg.org>
288
289         * gpgsm.c, gpgsm.h: Add local_user.
290         * sign.c (gpgsm_get_default_cert): New.
291         (get_default_signer): Use the new function if local_user is not
292         set otherwise used that value.
293         * encrypt.c (get_default_recipient): Removed.
294         (gpgsm_encrypt): Use gpgsm_get_default_cert.
295
296         * verify.c (gpgsm_verify): Better error text for a bad signature
297         found by comparing the hashs.
298
299 2002-02-27  Werner Koch  <wk@gnupg.org>
300
301         * call-dirmngr.c, call-agent.c: Add 2 more arguments to all uses
302         of assuan_transact.
303
304 2002-02-25  Werner Koch  <wk@gnupg.org>
305
306         * server.c (option_handler): Allow to use -2 for "send all certs
307         except the root cert".
308         * sign.c (add_certificate_list): Implement it here.
309         * certpath.c (gpgsm_is_root_cert): New.
310
311 2002-02-19  Werner Koch  <wk@gnupg.org>
312
313         * certpath.c (check_cert_policy): New.
314         (gpgsm_validate_path): And call it from here.
315         * gpgsm.c (main): New options --policy-file,
316         --disable-policy-checks and --enable-policy-checks.
317         * gpgsm.h (opt): Added policy_file, no_policy_checks.
318
319 2002-02-18  Werner Koch  <wk@gnupg.org>
320
321         * certpath.c (gpgsm_validate_path): Ask the agent to add the
322         certificate into the trusted list.
323         * call-agent.c (gpgsm_agent_marktrusted): New.
324
325 2002-02-07  Werner Koch  <wk@gnupg.org>
326
327         * certlist.c (gpgsm_add_to_certlist): Check that the specified
328         name identifies a certificate unambiguously.
329         (gpgsm_find_cert): Ditto.
330
331         * server.c (cmd_listkeys): Check that the data stream is available.
332         (cmd_listsecretkeys): Ditto.
333         (has_option): New.
334         (cmd_sign): Fix ambiguousity in option recognition.
335
336         * gpgsm.c (main): Enable --logger-fd.
337
338         * encrypt.c (gpgsm_encrypt): Increased buffer size for better
339         performance.
340
341         * call-agent.c (gpgsm_agent_pksign): Check the S-Exp received from
342         the agent.
343
344         * keylist.c (list_cert_colon): Filter out control characters.
345
346 2002-02-06  Werner Koch  <wk@gnupg.org>
347
348         * decrypt.c (gpgsm_decrypt): Bail out after an decryption error.
349
350         * server.c (reset_notify): Close input and output FDs.
351         (cmd_encrypt,cmd_decrypt,cmd_verify,cmd_sign.cmd_import)
352         (cmd_genkey): Close the FDs and release the recipient list even in
353         the error case.
354
355 2002-02-01  Marcus Brinkmann  <marcus@g10code.de>
356
357         * sign.c (gpgsm_sign): Do not release certificate twice.
358
359 2002-01-29  Werner Koch  <wk@gnupg.org>
360
361         * call-agent.c (gpgsm_agent_havekey): New.
362         * keylist.c (list_cert_colon): New arg HAVE_SECRET, print "crs"
363         when we know that the secret key is available.
364         (gpgsm_list_keys): New arg MODE, check whether a secret key is
365         available.  Changed all callers.
366         * gpgsm.c (main): New command --list-secret-keys.
367         * server.c (cmd_listsecretkeys): New.
368         (cmd_listkeys): Return secret keys with "crs" record.
369
370 2002-01-28  Werner Koch  <wk@gnupg.org>
371
372         * certreqgen.c (create_request): Store the email address in the req.
373
374 2002-01-25  Werner Koch  <wk@gnupg.org>
375
376         * gpgsm.c (main): Disable core dumps.
377
378         * sign.c (add_certificate_list): New.
379         (gpgsm_sign): Add the certificates to the CMS object.
380         * certpath.c (gpgsm_walk_cert_chain): New.
381         * gpgsm.h (server_control_s): Add included_certs.
382         * gpgsm.c: Add option --include-certs.
383         (gpgsm_init_default_ctrl): New.
384         (main): Call it.
385         * server.c (gpgsm_server): Ditto.
386         (option_handler): Support --include-certs.
387
388 2002-01-23  Werner Koch  <wk@gnupg.org>
389
390         * certpath.c (gpgsm_validate_path): Print the DN of a missing issuer.
391         * certdump.c (gpgsm_dump_string): New.
392         (print_dn): Replaced by above.
393
394 2002-01-22  Werner Koch  <wk@gnupg.org>
395
396         * certpath.c (unknown_criticals): New.
397         (allowed_ca): New.
398         (gpgsm_validate_path): Check validity, CA attribute, path length
399         and unknown critical extensions.
400
401 2002-01-21  Werner Koch  <wk@gnupg.org>
402
403         * gpgsm.c: Add option --enable-crl-checks.
404
405         * call-agent.c (start_agent): Implemented socket based access.
406         * call-dirmngr.c (start_dirmngr): Ditto.
407
408 2002-01-20  Werner Koch  <wk@gnupg.org>
409
410         * server.c (option_handler): New.
411         (gpgsm_server): Register it with assuan.
412
413 2002-01-19  Werner Koch  <wk@gnupg.org>
414
415         * server.c (gpgsm_server): Use assuan_deinit_server and setup
416         assuan logging if enabled.
417         * call-agent.c (inq_ciphertext_cb): Don't show the session key in
418         an Assuan log file.
419
420         * gpgsm.c (my_strusage): Take bugreport address from configure.ac
421
422 2002-01-15  Werner Koch  <wk@gnupg.org>
423
424         * import.c (gpgsm_import): Just do a basic cert check before
425         storing it.
426         * certpath.c (gpgsm_basic_cert_check): New.
427
428         * keydb.c (keydb_store_cert): New.
429         * import.c (store_cert): Removed and change all caller to use
430         the new function.
431         * verify.c (store_cert): Ditto.
432
433         * certlist.c (gpgsm_add_to_certlist): Validate the path
434
435         * certpath.c (gpgsm_validate_path): Check the trust list.
436         * call-agent.c (gpgsm_agent_istrusted): New.
437
438 2002-01-14  Werner Koch  <wk@gnupg.org>
439
440         * call-dirmngr.c (inq_certificate): Changed for new interface semantic.
441         * certlist.c (gpgsm_find_cert): New.
442
443 2002-01-13  Werner Koch  <wk@gnupg.org>
444
445         * fingerprint.c (gpgsm_get_certid): Print the serial and not the
446         hash after the dot.
447
448 2002-01-11  Werner Koch  <wk@gnupg.org>
449
450         * call-dirmngr.c: New.
451         * certpath.c (gpgsm_validate_path): Check the CRL here.
452         * fingerprint.c (gpgsm_get_certid): New.
453         * gpgsm.c: New options --dirmngr-program and --disable-crl-checks.
454
455 2002-01-10  Werner Koch  <wk@gnupg.org>
456
457         * base64.c (gpgsm_create_writer): Allow to set the object name
458
459 2002-01-08  Werner Koch  <wk@gnupg.org>
460
461         * keydb.c (spacep): Removed because it is now in util.c
462
463         * server.c (cmd_genkey): New.
464         * certreqgen.c: New.  The parameter handling code has been taken
465         from gnupg/g10/keygen.c version 1.0.6.
466         * call-agent.c (gpgsm_agent_genkey): New.
467
468 2002-01-02  Werner Koch  <wk@gnupg.org>
469
470         * server.c (rc_to_assuan_status): Removed and changed all callers
471         to use map_to_assuan_status.
472
473 2001-12-20  Werner Koch  <wk@gnupg.org>
474
475         * verify.c (gpgsm_verify): Implemented non-detached signature
476         verification.  Add OUT_FP arg, initialize a writer and changed all
477         callers.
478         * server.c (cmd_verify): Pass an out_fp if one has been set.
479
480         * base64.c (base64_reader_cb): Try to detect an S/MIME body part.
481
482         * certdump.c (print_sexp): Renamed to gpgsm_dump_serial, made
483         global.
484         (print_time): Renamed to gpgsm_dump_time, made global.
485         (gpgsm_dump_serial): Take a real S-Expression as argument and
486         print the first item.
487         * keylist.c (list_cert_colon): Ditto.
488         * keydb.c (keydb_search_issuer_sn): Ditto.
489         * decrypt.c (print_integer_sexp): Removed and made callers 
490         use gpgsm_dump_serial.
491         * verify.c (print_time): Removed, made callers use gpgsm_dump_time.
492         
493 2001-12-19  Marcus Brinkmann  <marcus@g10code.de>
494
495         * call-agent.c (start_agent): Add new argument to assuan_pipe_connect.
496
497 2001-12-18  Werner Koch  <wk@gnupg.org>
498
499         * verify.c (print_integer_sexp): Renamed from print_integer and
500         print the serial number according to the S-Exp rules.
501         * decrypt.c (print_integer_sexp): Ditto.
502
503 2001-12-17  Werner Koch  <wk@gnupg.org>
504
505         * keylist.c (list_cert_colon): Changed for new return value of
506         get_serial.
507         * keydb.c (keydb_search_issuer_sn): Ditto.
508         * certcheck.c (gpgsm_check_cert_sig): Likewise for other S-Exp
509         returingin functions.
510         * fingerprint.c (gpgsm_get_keygrip): Ditto.
511         * encrypt.c (encrypt_dek): Ditto
512         * certcheck.c (gpgsm_check_cms_signature): Ditto
513         * decrypt.c (prepare_decryption): Ditto.
514         * call-agent.c (gpgsm_agent_pkdecrypt): Removed arg ciphertextlen,
515         use KsbaSexp type and calculate the length.
516
517         * certdump.c (print_sexp): Remaned from print_integer, changed caller.
518
519         * Makefile.am: Use the LIBGCRYPT and LIBKSBA variables.
520
521         * fingerprint.c (gpgsm_get_keygrip): Use the new
522         gcry_pk_get_keygrip to calculate the grip - note the algorithm and
523         therefore the grip values changed.
524
525 2001-12-15  Werner Koch  <wk@gnupg.org>
526
527         * certcheck.c (gpgsm_check_cms_signature): Removed the faked-key
528         kludge.
529         (gpgsm_create_cms_signature): Removed the commented fake key
530         code.  This makes the function pretty simple.
531
532         * gpgsm.c (main): Renamed the default key database to "keyring.kbx".
533
534         * decrypt.c (gpgsm_decrypt): Write STATUS_DECRYPTION_*.
535         * sign.c (gpgsm_sign): Write a STATUS_SIG_CREATED.
536
537 2001-12-14  Werner Koch  <wk@gnupg.org>
538
539         * keylist.c (list_cert_colon): Kludge to show an email address
540         encoded in the subject's DN.
541
542         * verify.c (gpgsm_verify): Add hash debug helpers
543         * sign.c (gpgsm_sign): Ditto.
544
545         * base64.c (base64_reader_cb): Reset the linelen when we need to
546         skip the line and adjusted test; I somehow forgot about DeMorgan.
547
548         * server.c (cmd_encrypt,cmd_decrypt,cmd_sign,cmd_verify) 
549         (cmd_import): Close the FDs on success.
550         (close_message_fd): New.
551         (input_notify): Setting autodetect_encoding to 0 after initializing
552         it to 0 is pretty pointless.  Easy to fix.
553
554         * gpgsm.c (main): New option --debug-wait n, so that it is
555         possible to attach gdb when used in server mode.
556
557         * sign.c (get_default_signer): Use keydb_classify_name here.
558
559 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
560
561         * call-agent.c (LINELENGTH): Removed.
562         (gpgsm_agent_pksign): Use ASSUAN_LINELENGTH, not LINELENGTH.
563         (gpgsm_agent_pkdecrypt): Likewise.
564
565 2001-12-13  Werner Koch  <wk@gnupg.org>
566
567         * keylist.c (list_cert_colon): Print alternative names of subject
568         and a few other values.
569
570 2001-12-12  Werner Koch  <wk@gnupg.org>
571
572         * gpgsm.c (main): New options --assume-{armor,base64,binary}. 
573         * base64.c (base64_reader_cb): Fixed non-autodetection mode.
574
575 2001-12-04  Werner Koch  <wk@gnupg.org>
576
577         * call-agent.c (read_from_agent): Check for inquire responses.
578         (request_reply): Handle them using a new callback arg, changed all
579         callers.
580         (gpgsm_agent_pkdecrypt): New.
581
582 2001-11-27  Werner Koch  <wk@gnupg.org>
583
584         * base64.c: New.  Changed all other functions to use this instead
585         of direct creation of ksba_reader/writer.
586         * gpgsm.c (main): Set ctrl.auto_encoding unless --no-armor is used.
587
588 2001-11-26  Werner Koch  <wk@gnupg.org>
589
590         * gpgsm.c: New option --agent-program
591         * call-agent.c (start_agent): Allow to override the default path
592         to the agent.
593
594         * keydb.c (keydb_add_resource): Create keybox
595
596         * keylist.c (gpgsm_list_keys): Fixed non-server keylisting.
597
598         * server.c (rc_to_assuan_status): New.  Use it for all commands.
599
600         
601  Copyright 2001, 2002 Free Software Foundation, Inc.
602
603  This file is free software; as a special exception the author gives
604  unlimited permission to copy and/or distribute it, with or without
605  modifications, as long as this notice is preserved.
606
607  This file is distributed in the hope that it will be useful, but
608  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
609  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.