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