* sysutils.c (disable_core_dumps): Only set the current limit.
[gnupg.git] / sm / ChangeLog
1 2004-05-11  Werner Koch  <wk@gnupg.org>
2
3         * gpgsm.c: New option --debug-allow-core-dump.
4
5         * gpgsm.h (opt): Add member CONFIG_FILENAME.
6         * gpgsm.c (main): Use it here instead of the local var.
7
8         * server.c (gpgsm_server): Print some additional information with
9         the hello in verbose mode.
10
11 2004-04-30  Werner Koch  <wk@gnupg.org>
12
13         * import.c (check_and_store): Do not update the stats for hidden
14         imports of issuer certs.
15         (popen_protect_tool): Request statusmessages from the protect-tool.
16         (parse_p12): Detect status messages. Add new arg STATS and update them.
17         (print_imported_summary): Include secret key stats.
18
19 2004-04-28  Werner Koch  <wk@gnupg.org>
20
21         * gpgsm.c: New command --keydb-clear-some-cert-flags.
22         * keydb.c (keydb_clear_some_cert_flags): New.
23         (keydb_update_keyblock, keydb_set_flags): Change error code
24         CONFLICT to NOT_LOCKED.
25
26 2004-04-26  Werner Koch  <wk@gnupg.org>
27
28         * gpgsm.c (main) <gpgconf>: Do not use /dev/null as default config
29         filename.
30
31         * call-agent.c (gpgsm_agent_pksign, gpgsm_agent_pkdecrypt) 
32         (gpgsm_agent_genkey, gpgsm_agent_istrusted) 
33         (gpgsm_agent_marktrusted, gpgsm_agent_havekey) 
34         (gpgsm_agent_passwd): Add new arg CTRL and changed all callers.
35         (start_agent): New arg CTRL.  Send progress item when starting a
36         new agent.
37         * sign.c (gpgsm_get_default_cert, get_default_signer): New arg
38         CTRL to be passed down to the agent function.
39         * decrypt.c (prepare_decryption): Ditto.
40         * certreqgen.c (proc_parameters, read_parameters): Ditto.
41         * certcheck.c (gpgsm_create_cms_signature): Ditto.
42
43 2004-04-23  Werner Koch  <wk@gnupg.org>
44
45         * keydb.c (keydb_add_resource): Try to compress the file on init.
46
47         * keylist.c (oidtranstbl): New.  OIDs collected from several sources.
48         (print_name_raw, print_names_raw, list_cert_raw): New.
49         (gpgsm_list_keys): Check the dump mode and pass it down as
50         necessary.
51
52 2004-04-22  Werner Koch  <wk@gnupg.org>
53
54         * gpgsm.c (main): New commands --dump-keys, --dump-external-keys,
55         --dump-secret-keys.
56
57 2004-04-13  Werner Koch  <wk@gnupg.org>
58
59         * misc.c (setup_pinentry_env): New.
60         * import.c (popen_protect_tool): Call it.
61         * export.c (popen_protect_tool): Call it.
62
63 2004-04-08  Werner Koch  <wk@gnupg.org>
64
65         * decrypt.c (gpgsm_decrypt): Return GPG_ERR_NO_DATA if it is not a 
66         encrypted message.
67
68 2004-04-07  Werner Koch  <wk@gnupg.org>
69
70         * gpgsm.c: New option --force-crl-refresh.
71         * call-dirmngr.c (gpgsm_dirmngr_isvalid): Pass option to dirmngr.
72
73 2004-04-05  Werner Koch  <wk@gnupg.org>
74
75         * server.c (get_status_string): Add STATUS_NEWSIG.
76         * verify.c (gpgsm_verify): Print STATUS_NEWSIG for each signature.
77
78         * certchain.c (gpgsm_validate_chain) <gpgsm_cert_use_cer_p>: Do
79         not just warn if a cert is not suitable; bail out immediately.
80
81 2004-04-01  Werner Koch  <wk@gnupg.org>
82
83         * call-dirmngr.c (isvalid_status_cb): New.
84         (unhexify_fpr): New. Taken from ../g10/call-agent.c
85         (gpgsm_dirmngr_isvalid): Add new arg CTRL, changed caller to pass
86         it thru.  Detect need to check the respondert cert and do that.
87         * certchain.c (gpgsm_validate_chain): Add new arg FLAGS.  Changed
88         all callers.
89
90 2004-03-24  Werner Koch  <wk@gnupg.org>
91
92         * sign.c (gpgsm_sign): Include a short list of capabilities.
93
94 2004-03-17  Werner Koch  <wk@gnupg.org>
95
96         * gpgsm.c (main) <gpgconf>: Fixed default value quoting.
97
98 2004-03-16  Werner Koch  <wk@gnupg.org>
99
100         * gpgsm.c (main): Implemented --gpgconf-list.
101
102 2004-03-15  Werner Koch  <wk@gnupg.org>
103
104         * keylist.c (list_cert_colon): Hack to set the expired flag.
105
106 2004-03-09  Werner Koch  <wk@gnupg.org>
107
108         * gpgsm.c (main): Correctly intitialze USE_OCSP flag.
109
110         * keydb.c (keydb_delete): s/GPG_ERR_CONFLICT/GPG_ERR_NOT_LOCKED/
111
112 2004-03-04  Werner Koch  <wk@gnupg.org>
113
114         * call-dirmngr.c (gpgsm_dirmngr_isvalid): New arg ISSUER_CERT.
115
116         * certchain.c (is_cert_still_valid): New.  Code moved from ...
117         (gpgsm_validate_chain): ... here because we now need to check at
118         two places and at a later stage, so that we can pass the issuer
119         cert down to the dirmngr.
120
121 2004-03-03  Werner Koch  <wk@gnupg.org>
122
123         * call-agent.c (start_agent): Replaced pinentry setup code by a
124         call to a new common function.
125
126         * certdump.c (gpgsm_format_keydesc): Make sure the string is
127         returned as utf-8.
128
129         * export.c (gpgsm_export): Make sure that we don't export more
130         than one certificate.
131
132 2004-03-02  Werner Koch  <wk@gnupg.org>
133
134         * export.c (create_duptable, destroy_duptable)
135         (insert_duptable): New.
136         (gpgsm_export): Avoid duplicates.
137
138 2004-02-26  Werner Koch  <wk@gnupg.org>
139
140         * certchain.c (compare_certs): New.
141         (gpgsm_validate_chain): Fixed infinite certificate checks after
142         bad signatures.
143
144 2004-02-24  Werner Koch  <wk@gnupg.org>
145
146         * keylist.c (list_cert_colon): Print the fingerprint as the
147         cert-id for root certificates.
148
149 2004-02-21  Werner Koch  <wk@gnupg.org>
150
151         * keylist.c (list_internal_keys): Return error codes.
152         (list_external_keys, gpgsm_list_keys): Ditto.
153         * server.c (do_listkeys): Ditto.
154
155         * gpgsm.c (main): Display a key description for --passwd.
156         * call-agent.c (gpgsm_agent_passwd): New arg DESC.
157
158 2004-02-20  Werner Koch  <wk@gnupg.org>
159
160         * gpgsm.c (main): New option --debug-ignore-expiration.
161         * certchain.c (gpgsm_validate_chain): Use it here.
162
163         * certlist.c (cert_usage_p): Apply extKeyUsage.
164
165 2004-02-19  Werner Koch  <wk@gnupg.org>
166
167         * export.c (export_p12, popen_protect_tool)
168         (gpgsm_p12_export): New.
169         * gpgsm.c (main): New command --export-secret-key-p12. 
170
171 2004-02-18  Werner Koch  <wk@gnupg.org>
172
173         * gpgsm.c (set_debug): Set the new --debug-level flags.
174         (main): New option --gpgconf-list.  
175         (main): Do not setup -u and -r keys when not required.
176         (main): Setup the used character set.
177
178         * keydb.c (keydb_add_resource): Print a hint to start the
179         gpg-agent.
180
181 2004-02-17  Werner Koch  <wk@gnupg.org>
182
183         * gpgsm.c: Fixed value parsing for --with-validation.
184         * call-agent.c (start_agent): Ignore an empty GPG_AGENT_INFO.
185         * call-dirmngr.c (start_dirmngr): Likewise for DIRMNGR_INFO.
186
187         * gpgsm.c: New option --with-md5-fingerprint.
188         * keylist.c (list_cert_std): Print MD5 fpr.
189
190         * gpgsm.c: New options --with-validation.
191         * server.c (option_handler): New option "with-validation".
192         * keylist.c (list_cert_std, list_internal_keys): New args CTRL and
193         WITH_VALIDATION. Changed callers to set it.
194         (list_external_cb, list_external_keys): Pass CTRL to the callback.
195         (list_cert_colon): Add arg CTRL.  Check validation if requested.
196         * certchain.c (unknown_criticals, allowed_ca, check_cert_policy) 
197         (gpgsm_validate_chain): New args LISTMODE and FP.
198         (do_list): New helper for info output.
199         (find_up): New arg FIND_NEXT.
200         (gpgsm_validate_chain): After a bad signature try again with other
201         CA certificates.
202
203         * import.c (print_imported_status): New arg NEW_CERT. Print
204         additional STATUS_IMPORT_OK becuase that is what gpgme expects.
205         (check_and_store): Always call above function after import.
206         * server.c (get_status_string): Added STATUS_IMPORT_OK.
207
208 2004-02-13  Werner Koch  <wk@gnupg.org>
209
210         * certcheck.c (gpgsm_create_cms_signature): Format a description
211         for use by the pinentry.
212         * decrypt.c (gpgsm_decrypt): Ditto. Free HEXKEYGRIP.
213         * certdump.c (format_name_cookie, format_name_writer) 
214         (gpgsm_format_name): New.
215         (gpgsm_format_serial): New.
216         (gpgsm_format_keydesc): New.
217         * call-agent.c (gpgsm_agent_pksign): New arg DESC.
218         (gpgsm_agent_pkdecrypt): Ditto.
219
220         * encrypt.c (init_dek): Check for too weak algorithms.
221
222         * import.c (parse_p12, popen_protect_tool): New.
223
224         * base64.c (gpgsm_create_reader): New arg ALLOW_MULTI_PEM.
225         Changed all callers.
226         (base64_reader_cb): Handle it here.
227         (gpgsm_reader_eof_seen): New.
228         (base64_reader_cb): Set a flag for EOF.
229         (simple_reader_cb): Ditto.
230
231 2004-02-12  Werner Koch  <wk@gnupg.org>
232
233         * gpgsm.h, gpgsm.c: New option --protect-tool-program.
234         * gpgsm.c (run_protect_tool): Use it.
235
236 2004-02-11  Werner Koch  <wk@gnupg.org>
237
238         * Makefile.am (AM_CPPFLAGS): Pass directory constants via -D; this
239         will allow to override directory names at make time.
240
241 2004-02-02  Werner Koch  <wk@gnupg.org>
242
243         * import.c (check_and_store): Import certificates even with
244         missing issuer's cert.  Fixed an "depending on the verbose
245         setting" bug.
246
247         * certchain.c (gpgsm_validate_chain): Mark revoked certs in the
248         keybox.
249
250         * keylist.c (list_cert_colon): New arg VALIDITY; use it to print a
251         revoked flag.
252         (list_internal_keys): Retrieve validity flag.
253         (list_external_cb): Pass 0 as validity flag.
254         * keydb.c (keydb_get_flags, keydb_set_flags): New.
255         (keydb_set_cert_flags): New.
256         (lock_all): Return a proper error code.
257         (keydb_lock): New.
258         (keydb_delete): Don't lock but check that it has been locked.
259         (keydb_update_keyblock): Ditto.
260         * delete.c (delete_one): Take a lock.
261
262 2004-01-30  Werner Koch  <wk@gnupg.org>
263
264         * certchain.c (check_cert_policy): Fixed read error checking.
265         (check_cert_policy): With no critical policies issue only a
266         warning if the policy file does not exists.
267
268         * sign.c (add_certificate_list): Decrement N for the first cert.
269
270 2004-01-29  Werner Koch  <wk@gnupg.org>
271
272         * certdump.c (parse_dn_part): Map common OIDs to human readable
273         labels.  Make sure that a value won't get truncated if it includes
274         a Nul.
275
276 2004-01-28  Werner Koch  <wk@gnupg.org>
277
278         * certchain.c (gpgsm_validate_chain): Changed the message printed
279         for an untrusted root certificate.
280
281 2004-01-27  Werner Koch  <wk@gnupg.org>
282
283         * certdump.c (parse_dn_part): Pretty print the nameDistinguisher OID.
284         (print_dn_part): Do not delimit multiple RDN by " + ".  Handle
285         multi-valued RDNs in a special way, i.e. in the order specified by
286         the certificate.
287         (print_dn_parts): Simplified. 
288
289 2004-01-16  Werner Koch  <wk@gnupg.org>
290
291         * sign.c (gpgsm_sign): Print an error message on all failures.
292         * decrypt.c (gpgsm_decrypt): Ditto.
293
294 2003-12-17  Werner Koch  <wk@gnupg.org>
295
296         * server.c (gpgsm_server): Add arg DEFAULT_RECPLIST.
297         (cmd_encrypt): Add all enrypt-to marked certs to the list.
298         * encrypt.c (gpgsm_encrypt): Check that real recipients are
299         available.
300         * gpgsm.c (main): Make the --encrypt-to and --no-encrypt-to
301         options work.  Pass the list of recients to gpgsm_server.
302         * gpgsm.h (certlist_s): Add field IS_ENCRYPT_TO.
303         (opt): Add NO_ENCRYPT_TO.
304         * certlist.c (gpgsm_add_to_certlist): New arg IS_ENCRYPT_TO.
305         Changed all callers and ignore duplicate entries.
306         (is_cert_in_certlist): New.
307         (gpgsm_add_cert_to_certlist): New.
308
309         * certdump.c (gpgsm_print_serial): Cleaned up cast use in strtoul.
310         (gpgsm_dump_serial): Ditto.
311
312         * decrypt.c (gpgsm_decrypt): Replaced ERR by RC.
313
314 2003-12-16  Werner Koch  <wk@gnupg.org>
315
316         * gpgsm.c (main): Set the prefixes for assuan logging.
317
318         * sign.c (gpgsm_sign): Add validation checks for the default
319         certificate.
320
321         * gpgsm.c: Add -k as alias for --list-keys and -K for
322         --list-secret-keys.
323
324 2003-12-15  Werner Koch  <wk@gnupg.org>
325
326         * encrypt.c (init_dek): Use gry_create_nonce for the IV; there is
327         not need for real strong random here and it even better protect
328         the random bits used for the key.
329
330 2003-12-01  Werner Koch  <wk@gnupg.org>
331
332         * gpgsm.c, gpgsm.h: New options --{enable,disable}-ocsp.
333         (gpgsm_init_default_ctrl): Set USE_OCSP to the default value.
334         * certchain.c (gpgsm_validate_chain): Handle USE_OCSP.
335         * call-dirmngr.c (gpgsm_dirmngr_isvalid): Add arg USE_OCSP and
336         proceed accordingly.
337
338 2003-11-19  Werner Koch  <wk@gnupg.org>
339
340         * verify.c (gpgsm_verify): Use "0" instead of an empty string for
341         the VALIDSIG status.
342
343 2003-11-18  Werner Koch  <wk@gnupg.org>
344
345         * verify.c (gpgsm_verify): Fixed for changes API of gcry_md_info.
346
347         * certchain.c (unknown_criticals): Fixed an error code test.
348
349 2003-11-12  Werner Koch  <wk@gnupg.org>
350
351         Adjusted for API changes in Libksba.
352
353 2003-10-31  Werner Koch  <wk@gnupg.org>
354
355         * certchain.c (gpgsm_validate_chain): Changed to use ksba_isotime_t.
356         * verify.c (strtimestamp_r, gpgsm_verify): Ditto.
357         * sign.c (gpgsm_sign): Ditto.
358         * keylist.c (print_time, list_cert_std, list_cert_colon): Ditto.
359         * certdump.c (gpgsm_print_time, gpgsm_dump_time, gpgsm_dump_cert):
360         Ditto.
361
362 2003-10-25  Werner Koch  <wk@gnupg.org>
363
364         * certreqgen.c (read_parameters): Fixed faulty of !spacep().
365
366 2003-08-20  Marcus Brinkmann  <marcus@g10code.de>
367
368         * encrypt.c (encode_session_key): Allocate enough space.  Cast key
369         byte to unsigned char to prevent sign extension.
370         (encrypt_dek): Check return value before error.
371
372 2003-08-14  Timo Schulz  <twoaday@freakmail.de>
373
374         * encrypt.c (encode_session_key): Use new Libgcrypt interface.
375         
376 2003-07-31  Werner Koch  <wk@gnupg.org>
377
378         * Makefile.am (gpgsm_LDADD): Added INTLLIBS.
379
380 2003-07-29  Werner Koch  <wk@gnupg.org>
381
382         * gpgsm.c (main): Add secmem features and set the random seed file.
383         (gpgsm_exit): Update the random seed file and enable debug output.
384
385 2003-07-27  Werner Koch  <wk@gnupg.org>
386
387         Adjusted for gcry_mpi_print and gcry_mpi_scan API change.
388
389 2003-06-24  Werner Koch  <wk@gnupg.org>
390
391         * server.c (gpgsm_status_with_err_code): New.
392         * verify.c (gpgsm_verify): Use it here instead of the old
393         tokenizing version.
394
395         * verify.c (strtimestamp): Renamed to strtimestamp_r
396
397         Adjusted for changes in the libgcrypt API. Some more fixes for the
398         libgpg-error stuff.  
399
400 2003-06-04  Werner Koch  <wk@gnupg.org>
401
402         * call-agent.c (init_membuf,put_membuf,get_membuf): Removed.
403         Include new membuf header and changed used type.
404
405         Renamed error codes from INVALID to INV and removed _ERROR suffixes.
406
407 2003-06-03  Werner Koch  <wk@gnupg.org>
408
409         Changed all error codes in all files to the new libgpg-error scheme.
410
411         * gpgsm.h: Include gpg-error.h .
412         * Makefile.am: Link with libgpg-error.
413
414 2003-04-29  Werner Koch  <wk@gnupg.org>
415
416         * Makefile.am: Use libassuan.  Don't override LDFLAGS anymore.
417         * server.c (register_commands): Adjust for new Assuan semantics.
418
419 2002-12-03  Werner Koch  <wk@gnupg.org>
420
421         * call-agent.c (gpgsm_agent_passwd): New.
422         * gpgsm.c (main): New command --passwd and --call-protect-tool
423         (run_protect_tool): New.
424
425 2002-11-25  Werner Koch  <wk@gnupg.org>
426
427         * verify.c (gpgsm_verify): Handle content-type attribute. 
428
429 2002-11-13  Werner Koch  <wk@gnupg.org>
430
431         * call-agent.c (start_agent): Try to use $GPG_TTY instead of
432         ttyname.  Changed ttyname to test stdin becuase it can be assumed
433         that output redirection is more common that input redirection.
434
435 2002-11-12  Werner Koch  <wk@gnupg.org>
436
437         * gpgsm.c: New command --call-dirmngr. 
438         * call-dirmngr.c (gpgsm_dirmngr_run_command)
439         (run_command_inq_cb,run_command_cb)
440         (run_command_status_cb): New.
441
442 2002-11-11  Werner Koch  <wk@gnupg.org>
443
444         * certcheck.c (gpgsm_check_cms_signature): Don't double free
445         s_sig but free s_pkey at leave.
446
447 2002-11-10  Werner Koch  <wk@gnupg.org>
448
449         * gpgsm.c: Removed duplicate --list-secret-key entry.
450
451 2002-09-19  Werner Koch  <wk@gnupg.org>
452
453         * certcheck.c (gpgsm_check_cert_sig): Add cert hash debugging.
454
455         * certchain.c (find_up): Print info when the cert was not found 
456         by the autorithyKeyIdentifier.
457
458 2002-09-03  Werner Koch  <wk@gnupg.org>
459
460         * gpgsm.c (main): Disable the internal libgcrypt locking.
461
462 2002-08-21  Werner Koch  <wk@gnupg.org>
463
464         * import.c (print_imported_summary): Cleaned up.  Print new
465         not_imported value.
466         (check_and_store): Update non_imported counter.
467         (print_import_problem): New.
468         (check_and_store): Print error status message.
469         * server.c (get_status_string): Added STATUS_IMPORT_PROBLEM.
470
471 2002-08-20  Werner Koch  <wk@gnupg.org>
472
473         * gpgsm.c (main): Use the log file only in server mode.
474
475         * import.c (print_imported_summary): New.
476         (check_and_store): Update the counters, take new argument.
477         (import_one): Factored out core of gpgsm_import.
478         (gpgsm_import): Print counters.
479         (gpgsm_import_files): New.
480         * gpgsm.c (main): Use the new function for import.
481
482 2002-08-19  Werner Koch  <wk@gnupg.org>
483
484         * decrypt.c (gpgsm_decrypt): Return a better error status token.
485         * verify.c (gpgsm_verify): Don't error on messages with no signing
486         time or no message digest.  This is only the case for messages
487         without any signed attributes.
488
489 2002-08-16  Werner Koch  <wk@gnupg.org>
490
491         * certpath.c: Renamed to ..
492         * certchain.c: this. Renamed all all other usages of "path" in the
493         context of certificates to "chain".
494
495         * call-agent.c (learn_cb): Special treatment when the issuer
496         certificate is missing.
497
498 2002-08-10  Werner Koch  <wk@gnupg.org>
499
500         * Makefile.am (INCLUDES): Add definition for localedir.
501
502         * keylist.c (list_cert_colon): Print the short fingerprint in the
503         key ID field.
504         * fingerprint.c (gpgsm_get_short_fingerprint): New.
505         * verify.c (gpgsm_verify): Print more verbose info for a good
506         signature.
507
508 2002-08-09  Werner Koch  <wk@gnupg.org>
509
510         * decrypt.c (prepare_decryption): Hack to detected already
511         unpkcsedone keys.
512
513         * gpgsm.c (emergency_cleanup): New.
514         (main): Initialize the signal handler.
515
516         * sign.c (gpgsm_sign): Reset the hash context for subsequent
517         signers and release it at the end.
518
519 2002-08-05  Werner Koch  <wk@gnupg.org>
520
521         * server.c (cmd_signer): New command "SIGNER"
522         (register_commands): Register it.
523         (cmd_sign): Pass the signer list to gpgsm_sign.
524         * certlist.c (gpgsm_add_to_certlist): Add SECRET argument, check
525         for secret key if set and changed all callers.
526         * sign.c (gpgsm_sign): New argument SIGNERLIST and implemt
527         multiple signers.
528         * gpgsm.c (main): Support more than one -u.
529         
530         * server.c (cmd_recipient): Return reason code 1 for No_Public_Key
531         which is actually what gets returned from add_to_certlist.
532         
533 2002-07-26  Werner Koch  <wk@gnupg.org>
534
535         * certcheck.c (gpgsm_check_cert_sig): Implement proper cleanup.
536         (gpgsm_check_cms_signature): Ditto.
537
538 2002-07-22  Werner Koch  <wk@gnupg.org>
539
540         * keydb.c (keydb_add_resource): Register a lock file.
541         (lock_all, unlock_all): Implemented.
542
543         * delete.c: New.
544         * gpgsm.c: Made --delete-key work.
545         * server.c (cmd_delkeys): New.
546         (register_commands): New command DELKEYS.
547
548         * decrypt.c (gpgsm_decrypt): Print a convenience note when RC2 is
549         used and a STATUS_ERROR with the algorithm oid.
550
551 2002-07-03  Werner Koch  <wk@gnupg.org>
552
553         * server.c (gpgsm_status2): Insert a blank between all optional
554         arguments when using assuan.
555         * server.c (cmd_recipient): No more need for extra blank in constants.
556         * import.c (print_imported_status): Ditto.
557         * gpgsm.c (main): Ditto.
558
559 2002-07-02  Werner Koch  <wk@gnupg.org>
560
561         * verify.c (gpgsm_verify): Extend the STATUS_BADSIG line with
562         the fingerprint.
563
564         * certpath.c (check_cert_policy): Don't use log_error to print a
565         warning.
566
567         * keydb.c (keydb_store_cert): Add optional ar EXISTED and changed
568         all callers.
569         * call-agent.c (learn_cb): Print info message only for real imports.
570
571         * import.c (gpgsm_import): Moved duplicated code to ...
572         (check_and_store): new function.  Added magic to import the entire
573         chain. Print status only for real imports and moved printing code
574         to ..
575         (print_imported_status): New.
576
577         * call-dirmngr.c (gpgsm_dirmngr_isvalid): print status of dirmngr
578         call in very verbose mode.
579
580         * gpgsm.c (main): Use the same error codes for STATUS_INV_RECP as
581         with the server mode.
582
583 2002-06-29  Werner Koch  <wk@gnupg.org>
584
585         * gpgsm.c: New option --auto-issuer-key-retrieve.
586         * certpath.c (find_up): Try to retrieve an issuer key from an
587         external source and from the ephemeral key DB.
588         (find_up_store_certs_cb): New.
589
590         * keydb.c (keydb_set_ephemeral): Does now return the old
591         state.  Call the backend only when required.
592
593         * call-dirmngr.c (start_dirmngr): Use GNUPG_DEFAULT_DIRMNGR.
594         (lookup_status_cb): Issue status only when CTRL is not NULL.
595         (gpgsm_dirmngr_lookup): Document that CTRL is optional.
596
597         * call-agent.c (start_agent): Use GNUPG_DEFAULT_AGENT.
598
599 2002-06-28  Werner Koch  <wk@gnupg.org>
600
601         * server.c (cmd_recipient): Add more reason codes.
602
603 2002-06-27  Werner Koch  <wk@gnupg.org>
604
605         * certpath.c (gpgsm_basic_cert_check): Use
606         --debug-no-path-validation to also bypass this basic check.
607
608         * gpgsm.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
609
610         * call-agent.c (start_agent): Create and pass the list of FD to
611         keep in the child to assuan.
612         * call-dirmngr.c (start_dirmngr): Ditto.
613
614 2002-06-26  Werner Koch  <wk@gnupg.org>
615
616         * import.c (gpgsm_import): Print an STATUS_IMPORTED.
617
618         * gpgsm.c: --debug-no-path-validation does not take an argument.
619
620 2002-06-25  Werner Koch  <wk@gnupg.org>
621
622         * certdump.c (print_dn_part): Always print a leading slash,
623         removed NEED_DELIM arg and changed caller.
624
625         * export.c (gpgsm_export): Print LFs to FP and not stdout.
626         (print_short_info): Ditto.  Make use of gpgsm_print_name.
627
628         * server.c (cmd_export): Use output-fd instead of data lines; this
629         was actually the specified way.
630
631 2002-06-24  Werner Koch  <wk@gnupg.org>
632
633         * gpgsm.c: Removed duped help entry for --list-keys.
634         
635         * gpgsm.c, gpgsm.h: New option --debug-no-path-validation.
636
637         * certpath.c (gpgsm_validate_path): Use it here instead of the
638         debug flag hack.
639
640         * certpath.c (check_cert_policy): Return No_Policy_Match if the
641         policy file could not be opened.
642
643 2002-06-20  Werner Koch  <wk@gnupg.org>
644
645         * certlist.c (gpgsm_add_to_certlist): Fixed locating of a
646         certificate with the required key usage.
647
648         * gpgsm.c (main): Fixed a segv when using --outfile without an
649         argument.
650
651         * keylist.c (print_capabilities): Also check for non-repudiation
652         and data encipherment.
653         * certlist.c (cert_usage_p): Test for signing and encryption was
654         swapped.  Add a case for certification usage, handle
655         non-repudiation and data encipherment.
656         (gpgsm_cert_use_cert_p): New.
657         (gpgsm_add_to_certlist): Added a CTRL argument and changed all
658         callers to pass it.
659         * certpath.c (gpgsm_validate_path): Use it here to print a status
660         message. Added a CTRL argument and changed all callers to pass it.
661         * decrypt.c (gpgsm_decrypt): Print a status message for wrong key
662         usage.
663         * verify.c (gpgsm_verify): Ditto.
664         * keydb.c (classify_user_id): Allow a colon delimited fingerprint.
665
666 2002-06-19  Werner Koch  <wk@gnupg.org>
667
668         * call-agent.c (learn_cb): Use log_info instead of log_error on
669         successful import.
670
671         * keydb.c (keydb_set_ephemeral): New.
672         (keydb_store_cert): New are ephemeral, changed all callers.
673         * keylist.c (list_external_cb): Store cert as ephemeral.
674         * export.c (gpgsm_export): Kludge to export epehmeral certificates.
675
676         * gpgsm.c (main): New command --list-external-keys.
677         
678 2002-06-17  Werner Koch  <wk@gnupg.org>
679
680         * certreqgen.c (read_parameters): Improved error handling.
681         (gpgsm_genkey): Print error message.
682
683 2002-06-13  Werner Koch  <wk@gnupg.org>
684
685         * gpgsm.c (main): New option --log-file.
686
687 2002-06-12  Werner Koch  <wk@gnupg.org>
688
689         * call-dirmngr.c (lookup_status_cb): New.
690         (gpgsm_dirmngr_lookup): Use the status CB.  Add new arg CTRL and
691         changed caller to pass it.
692
693         * gpgsm.c (open_fwrite): New.
694         (main): Allow --output for --verify.
695
696         * sign.c (hash_and_copy_data): New.
697         (gpgsm_sign): Implemented normal (non-detached) signatures.
698         * gpgsm.c (main): Ditto.
699         
700         * certpath.c (gpgsm_validate_path): Special error handling for
701         no policy match.
702
703 2002-06-10  Werner Koch  <wk@gnupg.org>
704
705         * server.c (get_status_string): Add STATUS_ERROR.
706
707         * certpath.c (gpgsm_validate_path): Tweaked the error checking to 
708         return error codes in a more sensitive way.
709         * verify.c (gpgsm_verify): Send status TRUST_NEVER also for a bad
710         CA certificate and when the certificate has been revoked.  Issue
711         TRUST_FULLY even when the cert has expired.  Append an error token
712         to these status lines.  Issue the new generic error status when a
713         cert was not found and when leaving the function.
714
715 2002-06-04  Werner Koch  <wk@gnupg.org>
716
717         * gpgsm.c (main): New command --list-sigs
718         * keylist.c (list_cert_std): New.  Use it whenever colon mode is
719         not used.
720         (list_cert_chain): New.
721
722 2002-05-31  Werner Koch  <wk@gnupg.org>
723
724         * gpgsm.c (main): Don't print the "go ahead" message for an
725         invalid command.
726
727 2002-05-23  Werner Koch  <wk@gnupg.org>
728
729         * import.c (gpgsm_import): Add error messages.
730
731 2002-05-21  Werner Koch  <wk@gnupg.org>
732
733         * keylist.c (list_internal_keys): Renamed from gpgsm_list_keys.
734         (list_external_keys): New.
735         (gpgsm_list_keys): Dispatcher for above.
736         * call-dirmngr.c (lookup_cb,pattern_from_strlist)
737         (gpgsm_dirmngr_lookup): New.
738         * server.c (option_handler): Handle new option --list-mode.
739         (do_listkeys): Handle options and actually use the mode argument.
740         (get_status_string): New code TRUNCATED.
741
742         * import.c (gpgsm_import): Try to identify the type of input and
743         handle certs-only messages.
744
745 2002-05-14  Werner Koch  <wk@gnupg.org>
746
747         * gpgsm.c: New option --faked-system-time
748         * sign.c (gpgsm_sign): And use it here.
749         * certpath.c (gpgsm_validate_path): Ditto.
750
751 2002-05-03  Werner Koch  <wk@gnupg.org>
752
753         * certpath.c (gpgsm_validate_path): Added EXPTIME arg and changed
754         all callers.
755         * verify.c (gpgsm_verify): Tweaked usage of log_debug and
756         log_error.  Return EXPSIG status and add expiretime to VALIDSIG.
757
758 2002-04-26  Werner Koch  <wk@gnupg.org>
759
760         * gpgsm.h (DBG_AGENT,DBG_AGENT_VALUE): Replaced by DBG_ASSUAN_*.
761         Changed all users.
762
763         * call-agent.c (start_agent): Be more silent without -v.
764         * call-dirmngr.c (start_dirmngr): Ditto.
765
766 2002-04-25  Werner Koch  <wk@gnupg.org>
767
768         * call-agent.c (start_agent): Make copies of old locales and check
769         for setlocale.
770
771 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
772
773         * call-agent.c (start_agent): Fix error handling logic so the
774         locale is always correctly reset.
775
776 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
777
778         * server.c (option_handler): Accept display, ttyname, ttytype,
779         lc_ctype and lc_messages options.
780         * gpgsm.c (main): Allocate memory for these options.
781         * gpgsm.h (struct opt): Make corresponding members non-const.
782
783 2002-04-24  Marcus Brinkmann  <marcus@g10code.de>
784
785         * gpgsm.h (struct opt): New members display, ttyname, ttytype,
786         lc_ctype, lc_messages.
787         * gpgsm.c (enum cmd_and_opt_values): New members oDisplay,
788         oTTYname, oTTYtype, oLCctype, oLCmessages.
789         (opts): New entries for these options.
790         (main): Handle these new options.
791         * call-agent.c (start_agent): Set the various display and tty
792         parameter after resetting.
793
794 2002-04-18  Werner Koch  <wk@gnupg.org>
795
796         * certreqgen.c (gpgsm_genkey): Write status output on success.
797
798 2002-04-15  Werner Koch  <wk@gnupg.org>
799
800         * gpgsm.c (main): Check ksba version.
801
802         * certpath.c (find_up): New to use the authorithKeyIdentifier.
803         Use it in all other functions to locate the signing cert..
804
805 2002-04-11  Werner Koch  <wk@gnupg.org>
806
807         * certlist.c (cert_usable_p): New.
808         (gpgsm_cert_use_sign_p,gpgsm_cert_use_encrypt_p): New.
809         (gpgsm_cert_use_verify_p,gpgsm_cert_use_decrypt_p): New.
810         (gpgsm_add_to_certlist): Check the key usage.
811         * sign.c (gpgsm_sign): Ditto.
812         * verify.c (gpgsm_verify): Print a message wehn an unsuitable
813         certificate was used.
814         * decrypt.c (gpgsm_decrypt): Ditto
815         * keylist.c (print_capabilities): Determine values from the cert.
816
817 2002-03-28  Werner Koch  <wk@gnupg.org>
818
819         * keylist.c (list_cert_colon): Fixed listing of crt record; the
820         issuer is not at the right place.  Print a chainingID.
821         * certpath.c (gpgsm_walk_cert_chain): Be a bit more silent on
822         common errors.
823
824 2002-03-21  Werner Koch  <wk@gnupg.org>
825
826         * export.c: New.
827         * gpgsm.c: Add command --export.
828         * server.c (cmd_export): New.
829         
830 2002-03-13  Werner Koch  <wk@gnupg.org>
831
832         * decrypt.c (gpgsm_decrypt): Allow multiple recipients.
833
834 2002-03-12  Werner Koch  <wk@gnupg.org>
835
836         * certpath.c (check_cert_policy): Print the policy list.
837
838         * verify.c (gpgsm_verify): Detect certs-only message.
839
840 2002-03-11  Werner Koch  <wk@gnupg.org>
841
842         * import.c (gpgsm_import): Print a notice about imported certificates
843         when in verbose mode.
844
845         * gpgsm.c (main): Print INV_RECP status.
846         * server.c (cmd_recipient): Ditto.
847
848         * server.c (gpgsm_status2): New.  Allows for a list of strings.
849         (gpgsm_status): Divert to gpgsm_status2.
850
851         * encrypt.c (gpgsm_encrypt): Don't use a default key when no
852         recipients are given.  Print a NO_RECP status.
853
854 2002-03-06  Werner Koch  <wk@gnupg.org>
855
856         * server.c (cmd_listkeys, cmd_listsecretkeys): Divert to
857         (do_listkeys): new.  Add pattern parsing.
858
859         * keylist.c (gpgsm_list_keys): Handle selection pattern.
860
861         * gpgsm.c: New command --learn-card
862         * call-agent.c (learn_cb,gpgsm_agent_learn): New.
863
864         * gpgsm.c (main): Print error messages for non-implemented commands.
865
866         * base64.c (base64_reader_cb): Use case insensitive compare of the
867         Content-Type string to detect plain base-64.
868
869 2002-03-05  Werner Koch  <wk@gnupg.org>
870
871         * gpgsm.c, gpgsm.h: Add local_user.
872         * sign.c (gpgsm_get_default_cert): New.
873         (get_default_signer): Use the new function if local_user is not
874         set otherwise used that value.
875         * encrypt.c (get_default_recipient): Removed.
876         (gpgsm_encrypt): Use gpgsm_get_default_cert.
877
878         * verify.c (gpgsm_verify): Better error text for a bad signature
879         found by comparing the hashs.
880
881 2002-02-27  Werner Koch  <wk@gnupg.org>
882
883         * call-dirmngr.c, call-agent.c: Add 2 more arguments to all uses
884         of assuan_transact.
885
886 2002-02-25  Werner Koch  <wk@gnupg.org>
887
888         * server.c (option_handler): Allow to use -2 for "send all certs
889         except the root cert".
890         * sign.c (add_certificate_list): Implement it here.
891         * certpath.c (gpgsm_is_root_cert): New.
892
893 2002-02-19  Werner Koch  <wk@gnupg.org>
894
895         * certpath.c (check_cert_policy): New.
896         (gpgsm_validate_path): And call it from here.
897         * gpgsm.c (main): New options --policy-file,
898         --disable-policy-checks and --enable-policy-checks.
899         * gpgsm.h (opt): Added policy_file, no_policy_checks.
900
901 2002-02-18  Werner Koch  <wk@gnupg.org>
902
903         * certpath.c (gpgsm_validate_path): Ask the agent to add the
904         certificate into the trusted list.
905         * call-agent.c (gpgsm_agent_marktrusted): New.
906
907 2002-02-07  Werner Koch  <wk@gnupg.org>
908
909         * certlist.c (gpgsm_add_to_certlist): Check that the specified
910         name identifies a certificate unambiguously.
911         (gpgsm_find_cert): Ditto.
912
913         * server.c (cmd_listkeys): Check that the data stream is available.
914         (cmd_listsecretkeys): Ditto.
915         (has_option): New.
916         (cmd_sign): Fix ambiguousity in option recognition.
917
918         * gpgsm.c (main): Enable --logger-fd.
919
920         * encrypt.c (gpgsm_encrypt): Increased buffer size for better
921         performance.
922
923         * call-agent.c (gpgsm_agent_pksign): Check the S-Exp received from
924         the agent.
925
926         * keylist.c (list_cert_colon): Filter out control characters.
927
928 2002-02-06  Werner Koch  <wk@gnupg.org>
929
930         * decrypt.c (gpgsm_decrypt): Bail out after an decryption error.
931
932         * server.c (reset_notify): Close input and output FDs.
933         (cmd_encrypt,cmd_decrypt,cmd_verify,cmd_sign.cmd_import)
934         (cmd_genkey): Close the FDs and release the recipient list even in
935         the error case.
936
937 2002-02-01  Marcus Brinkmann  <marcus@g10code.de>
938
939         * sign.c (gpgsm_sign): Do not release certificate twice.
940
941 2002-01-29  Werner Koch  <wk@gnupg.org>
942
943         * call-agent.c (gpgsm_agent_havekey): New.
944         * keylist.c (list_cert_colon): New arg HAVE_SECRET, print "crs"
945         when we know that the secret key is available.
946         (gpgsm_list_keys): New arg MODE, check whether a secret key is
947         available.  Changed all callers.
948         * gpgsm.c (main): New command --list-secret-keys.
949         * server.c (cmd_listsecretkeys): New.
950         (cmd_listkeys): Return secret keys with "crs" record.
951
952 2002-01-28  Werner Koch  <wk@gnupg.org>
953
954         * certreqgen.c (create_request): Store the email address in the req.
955
956 2002-01-25  Werner Koch  <wk@gnupg.org>
957
958         * gpgsm.c (main): Disable core dumps.
959
960         * sign.c (add_certificate_list): New.
961         (gpgsm_sign): Add the certificates to the CMS object.
962         * certpath.c (gpgsm_walk_cert_chain): New.
963         * gpgsm.h (server_control_s): Add included_certs.
964         * gpgsm.c: Add option --include-certs.
965         (gpgsm_init_default_ctrl): New.
966         (main): Call it.
967         * server.c (gpgsm_server): Ditto.
968         (option_handler): Support --include-certs.
969
970 2002-01-23  Werner Koch  <wk@gnupg.org>
971
972         * certpath.c (gpgsm_validate_path): Print the DN of a missing issuer.
973         * certdump.c (gpgsm_dump_string): New.
974         (print_dn): Replaced by above.
975
976 2002-01-22  Werner Koch  <wk@gnupg.org>
977
978         * certpath.c (unknown_criticals): New.
979         (allowed_ca): New.
980         (gpgsm_validate_path): Check validity, CA attribute, path length
981         and unknown critical extensions.
982
983 2002-01-21  Werner Koch  <wk@gnupg.org>
984
985         * gpgsm.c: Add option --enable-crl-checks.
986
987         * call-agent.c (start_agent): Implemented socket based access.
988         * call-dirmngr.c (start_dirmngr): Ditto.
989
990 2002-01-20  Werner Koch  <wk@gnupg.org>
991
992         * server.c (option_handler): New.
993         (gpgsm_server): Register it with assuan.
994
995 2002-01-19  Werner Koch  <wk@gnupg.org>
996
997         * server.c (gpgsm_server): Use assuan_deinit_server and setup
998         assuan logging if enabled.
999         * call-agent.c (inq_ciphertext_cb): Don't show the session key in
1000         an Assuan log file.
1001
1002         * gpgsm.c (my_strusage): Take bugreport address from configure.ac
1003
1004 2002-01-15  Werner Koch  <wk@gnupg.org>
1005
1006         * import.c (gpgsm_import): Just do a basic cert check before
1007         storing it.
1008         * certpath.c (gpgsm_basic_cert_check): New.
1009
1010         * keydb.c (keydb_store_cert): New.
1011         * import.c (store_cert): Removed and change all caller to use
1012         the new function.
1013         * verify.c (store_cert): Ditto.
1014
1015         * certlist.c (gpgsm_add_to_certlist): Validate the path
1016
1017         * certpath.c (gpgsm_validate_path): Check the trust list.
1018         * call-agent.c (gpgsm_agent_istrusted): New.
1019
1020 2002-01-14  Werner Koch  <wk@gnupg.org>
1021
1022         * call-dirmngr.c (inq_certificate): Changed for new interface semantic.
1023         * certlist.c (gpgsm_find_cert): New.
1024
1025 2002-01-13  Werner Koch  <wk@gnupg.org>
1026
1027         * fingerprint.c (gpgsm_get_certid): Print the serial and not the
1028         hash after the dot.
1029
1030 2002-01-11  Werner Koch  <wk@gnupg.org>
1031
1032         * call-dirmngr.c: New.
1033         * certpath.c (gpgsm_validate_path): Check the CRL here.
1034         * fingerprint.c (gpgsm_get_certid): New.
1035         * gpgsm.c: New options --dirmngr-program and --disable-crl-checks.
1036
1037 2002-01-10  Werner Koch  <wk@gnupg.org>
1038
1039         * base64.c (gpgsm_create_writer): Allow to set the object name
1040
1041 2002-01-08  Werner Koch  <wk@gnupg.org>
1042
1043         * keydb.c (spacep): Removed because it is now in util.c
1044
1045         * server.c (cmd_genkey): New.
1046         * certreqgen.c: New.  The parameter handling code has been taken
1047         from gnupg/g10/keygen.c version 1.0.6.
1048         * call-agent.c (gpgsm_agent_genkey): New.
1049
1050 2002-01-02  Werner Koch  <wk@gnupg.org>
1051
1052         * server.c (rc_to_assuan_status): Removed and changed all callers
1053         to use map_to_assuan_status.
1054
1055 2001-12-20  Werner Koch  <wk@gnupg.org>
1056
1057         * verify.c (gpgsm_verify): Implemented non-detached signature
1058         verification.  Add OUT_FP arg, initialize a writer and changed all
1059         callers.
1060         * server.c (cmd_verify): Pass an out_fp if one has been set.
1061
1062         * base64.c (base64_reader_cb): Try to detect an S/MIME body part.
1063
1064         * certdump.c (print_sexp): Renamed to gpgsm_dump_serial, made
1065         global.
1066         (print_time): Renamed to gpgsm_dump_time, made global.
1067         (gpgsm_dump_serial): Take a real S-Expression as argument and
1068         print the first item.
1069         * keylist.c (list_cert_colon): Ditto.
1070         * keydb.c (keydb_search_issuer_sn): Ditto.
1071         * decrypt.c (print_integer_sexp): Removed and made callers 
1072         use gpgsm_dump_serial.
1073         * verify.c (print_time): Removed, made callers use gpgsm_dump_time.
1074         
1075 2001-12-19  Marcus Brinkmann  <marcus@g10code.de>
1076
1077         * call-agent.c (start_agent): Add new argument to assuan_pipe_connect.
1078
1079 2001-12-18  Werner Koch  <wk@gnupg.org>
1080
1081         * verify.c (print_integer_sexp): Renamed from print_integer and
1082         print the serial number according to the S-Exp rules.
1083         * decrypt.c (print_integer_sexp): Ditto.
1084
1085 2001-12-17  Werner Koch  <wk@gnupg.org>
1086
1087         * keylist.c (list_cert_colon): Changed for new return value of
1088         get_serial.
1089         * keydb.c (keydb_search_issuer_sn): Ditto.
1090         * certcheck.c (gpgsm_check_cert_sig): Likewise for other S-Exp
1091         returingin functions.
1092         * fingerprint.c (gpgsm_get_keygrip): Ditto.
1093         * encrypt.c (encrypt_dek): Ditto
1094         * certcheck.c (gpgsm_check_cms_signature): Ditto
1095         * decrypt.c (prepare_decryption): Ditto.
1096         * call-agent.c (gpgsm_agent_pkdecrypt): Removed arg ciphertextlen,
1097         use KsbaSexp type and calculate the length.
1098
1099         * certdump.c (print_sexp): Remaned from print_integer, changed caller.
1100
1101         * Makefile.am: Use the LIBGCRYPT and LIBKSBA variables.
1102
1103         * fingerprint.c (gpgsm_get_keygrip): Use the new
1104         gcry_pk_get_keygrip to calculate the grip - note the algorithm and
1105         therefore the grip values changed.
1106
1107 2001-12-15  Werner Koch  <wk@gnupg.org>
1108
1109         * certcheck.c (gpgsm_check_cms_signature): Removed the faked-key
1110         kludge.
1111         (gpgsm_create_cms_signature): Removed the commented fake key
1112         code.  This makes the function pretty simple.
1113
1114         * gpgsm.c (main): Renamed the default key database to "keyring.kbx".
1115
1116         * decrypt.c (gpgsm_decrypt): Write STATUS_DECRYPTION_*.
1117         * sign.c (gpgsm_sign): Write a STATUS_SIG_CREATED.
1118
1119 2001-12-14  Werner Koch  <wk@gnupg.org>
1120
1121         * keylist.c (list_cert_colon): Kludge to show an email address
1122         encoded in the subject's DN.
1123
1124         * verify.c (gpgsm_verify): Add hash debug helpers
1125         * sign.c (gpgsm_sign): Ditto.
1126
1127         * base64.c (base64_reader_cb): Reset the linelen when we need to
1128         skip the line and adjusted test; I somehow forgot about DeMorgan.
1129
1130         * server.c (cmd_encrypt,cmd_decrypt,cmd_sign,cmd_verify) 
1131         (cmd_import): Close the FDs on success.
1132         (close_message_fd): New.
1133         (input_notify): Setting autodetect_encoding to 0 after initializing
1134         it to 0 is pretty pointless.  Easy to fix.
1135
1136         * gpgsm.c (main): New option --debug-wait n, so that it is
1137         possible to attach gdb when used in server mode.
1138
1139         * sign.c (get_default_signer): Use keydb_classify_name here.
1140
1141 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
1142
1143         * call-agent.c (LINELENGTH): Removed.
1144         (gpgsm_agent_pksign): Use ASSUAN_LINELENGTH, not LINELENGTH.
1145         (gpgsm_agent_pkdecrypt): Likewise.
1146
1147 2001-12-13  Werner Koch  <wk@gnupg.org>
1148
1149         * keylist.c (list_cert_colon): Print alternative names of subject
1150         and a few other values.
1151
1152 2001-12-12  Werner Koch  <wk@gnupg.org>
1153
1154         * gpgsm.c (main): New options --assume-{armor,base64,binary}. 
1155         * base64.c (base64_reader_cb): Fixed non-autodetection mode.
1156
1157 2001-12-04  Werner Koch  <wk@gnupg.org>
1158
1159         * call-agent.c (read_from_agent): Check for inquire responses.
1160         (request_reply): Handle them using a new callback arg, changed all
1161         callers.
1162         (gpgsm_agent_pkdecrypt): New.
1163
1164 2001-11-27  Werner Koch  <wk@gnupg.org>
1165
1166         * base64.c: New.  Changed all other functions to use this instead
1167         of direct creation of ksba_reader/writer.
1168         * gpgsm.c (main): Set ctrl.auto_encoding unless --no-armor is used.
1169
1170 2001-11-26  Werner Koch  <wk@gnupg.org>
1171
1172         * gpgsm.c: New option --agent-program
1173         * call-agent.c (start_agent): Allow to override the default path
1174         to the agent.
1175
1176         * keydb.c (keydb_add_resource): Create keybox
1177
1178         * keylist.c (gpgsm_list_keys): Fixed non-server keylisting.
1179
1180         * server.c (rc_to_assuan_status): New.  Use it for all commands.
1181
1182         
1183  Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
1184
1185  This file is free software; as a special exception the author gives
1186  unlimited permission to copy and/or distribute it, with or without
1187  modifications, as long as this notice is preserved.
1188
1189  This file is distributed in the hope that it will be useful, but
1190  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1191  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.