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