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