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