Included LIBICONV in all Makefiles.
[gnupg.git] / sm / ChangeLog
1 2007-01-31  Werner Koch  <wk@g10code.com>
2
3         * gpgsm.c (main): Let --gen-key print a more informative error
4         message.
5
6 2007-01-25  Werner Koch  <wk@g10code.com>
7
8         * Makefile.am (gpgsm_LDADD): Add LIBICONV.  Noted by Billy Halsey.
9
10 2007-01-05  Werner Koch  <wk@g10code.com>
11
12         * certchain.c (unknown_criticals): Add subjectAltName.
13
14 2006-12-21  Werner Koch  <wk@g10code.com>
15
16         * gpgsm.c: Comment mtrace feature.
17
18 2006-12-21  Marcus Brinkmann  <marcus@g10code.de>
19
20         * certchain.c (gpgsm_basic_cert_check): Release SUBJECT.
21
22         * encrypt.c (encrypt_dek): Release S_CIPH.
23
24 2006-12-20  Marcus Brinkmann  <marcus@g10code.de>
25
26         * server.c (gpgsm_server): Release CTRL->server_local.
27
28         * base64.c: Add new members READER and WRITER in union U2.
29         (gpgsm_create_reader): Initialise CTX->u2.reader.
30         (gpgsm_destroy_reader): Invoke ksba_reader_release.  Return early
31         if CTX is NULL.
32         (gpgsm_create_writer): Initialise CTX->u2.writer.
33         (gpgsm_destroy_writer): Invoke ksba_writer_release.  Return early
34         if CTX is NULL.
35
36 2006-12-18  Marcus Brinkmann  <marcus@g10code.de>
37
38         * fingerprint.c (gpgsm_get_fingerprint): Close MD.
39
40 2006-11-24  Werner Koch  <wk@g10code.com>
41
42         * certdump.c (parse_dn_part): Take '#' as a special character only
43         at the beginning of a string.
44
45 2006-11-21  Werner Koch  <wk@g10code.com>
46
47         * certdump.c (my_funopen_hook_ret_t): New.
48         (format_name_writer): Use it for the return value.
49
50 2006-11-14  Werner Koch  <wk@g10code.com>
51
52         * server.c (skip_options): Skip leading spaces.
53         (has_option): Honor "--".
54         (cmd_export): Add option --data to do an inline export.  Skip all
55         options.
56
57         * certdump.c (gpgsm_fpr_and_name_for_status): New.
58         * verify.c (gpgsm_verify): Use it to print correct status messages.
59
60 2006-11-11  Werner Koch  <wk@g10code.com>
61
62         * server.c (skip_options): New.
63
64 2006-10-24  Marcus Brinkmann  <marcus@g10code.de>
65
66         * Makefile.am (AM_CFLAGS): Add $(LIBASSUAN_CFLAGS).
67
68 2006-10-23  Werner Koch  <wk@g10code.com>
69
70         * gpgsm.c (main): Remap common cipher algo names to their OIDs.
71         (main): New command --gpgconf-test.
72
73 2006-10-20  Werner Koch  <wk@g10code.com>
74
75         * keydb.c (classify_user_id): Parse keygrip for the '&' identifier.
76
77 2006-10-18  Werner Koch  <wk@g10code.com>
78
79         * keylist.c (list_cert_raw): Also test for GPG_ERR_NO_VALUE when
80         testing for GPG_ERR_NO_DATA.
81         * certlist.c (cert_usage_p, gpgsm_find_cert): Ditto.
82         * certchain.c (check_cert_policy): Ditto.
83
84         * keylist.c (list_cert_std, list_cert_raw): Print "none" for no
85         chain length available.
86
87 2006-10-17  Werner Koch  <wk@g10code.com>
88
89         * gpgsm.c: No need for pth.h.  
90         (main): or to init it. It used to be hack for W32.
91
92         * sign.c (gpgsm_get_default_cert): Changed to return only
93         certificates usable for signing.
94
95 2006-10-16  Werner Koch  <wk@g10code.com>
96
97         * certchain.c (already_asked_marktrusted) 
98         (set_already_asked_marktrusted): New.
99         (gpgsm_validate_chain) <not trusted>: Keep track of certificates
100         we already asked for.
101
102 2006-10-11  Werner Koch  <wk@g10code.com>
103
104         * certreqgen.c (proc_parameters, create_request): Allow for
105         creation directly from a card.
106         * call-agent.c (gpgsm_agent_readkey): New arg FROMCARD.
107         (gpgsm_scd_pksign): New.
108
109 2006-10-06  Werner Koch  <wk@g10code.com>
110
111         * Makefile.am (AM_CFLAGS): Use PTH version of libassuan.
112         (gpgsm_LDADD): Ditto.
113
114 2006-10-05  Werner Koch  <wk@g10code.com>
115
116         * certcheck.c (do_encode_md): Check that the has algo is valid.
117
118 2006-10-02  Marcus Brinkmann  <marcus@g10code.de>
119
120         * server.c (register_commands): New commands DUMPKEYS and
121         DUMPSECRETKEYS.
122         (cmd_dumpkeys, cmd_dumpsecretkeys): New functions.
123         (option_handler): Support with-key-data option.
124
125 2006-09-26  Werner Koch  <wk@g10code.com>
126
127         * certchain.c (gpgsm_validate_chain): More changes for the relax
128         feature.  Use certificate reference counting instead of the old
129         explicit tests. Added a missing free. 
130
131 2006-09-25  Werner Koch  <wk@g10code.com>
132
133         * gpgsm.h (struct rootca_flags_s): New.
134         * call-agent.c (istrusted_status_cb): New.
135         (gpgsm_agent_istrusted): New arg ROOTCA_FLAGS.
136         * keylist.c (list_cert_colon): Use dummy for new arg.
137         * certchain.c (gpgsm_validate_chain): Make use of the relax flag
138         for root certificates.
139         (unknown_criticals): Ignore a GPG_ERR_NO_VALUE.
140
141 2006-09-20  Werner Koch  <wk@g10code.com>
142
143         * gpgsm.c: Add alias command --dump-cert.
144
145         * Makefile.am:  Changes to allow parallel make runs.
146
147 2006-09-18  Werner Koch  <wk@g10code.com>
148
149         * gpgsm.c (main): Use this to import standard certificates.
150         * keydb.c (keydb_add_resource): New arg AUTO_CREATED.
151
152 2006-09-14  Werner Koch  <wk@g10code.com>
153
154         Replaced all call gpg_error_from_errno(errno) by
155         gpg_error_from_syserror().
156
157 2006-09-13  Werner Koch  <wk@g10code.com>
158
159         * keylist.c (list_internal_keys): Print marker line to FP and not
160         to stdout.
161
162         * gpgsm.c (main): All list key list commands now make ose of
163         --output. Cleaned up calls to list modes.  New command
164         --dump-chain.  Renamed --list-sigs to --list-chain and added an
165         alias for the old one.
166
167         * server.c (cmd_message): Changed to use assuan_command_parse_fd.
168         (option_handler): New option list-to-output.
169         (do_listkeys): Use it.
170
171 2006-09-06  Werner Koch  <wk@g10code.com>
172
173         * gpgsm.h (OUT_OF_CORE): Removed and changed all callers to
174         out_of_core.
175         (CTRL): Removed and changed everywhere to ctrl_t.
176         (CERTLIST): Ditto.
177
178         Replaced all Assuan error codes by libgpg-error codes.  Removed
179         all map_to_assuan_status and map_assuan_err.
180         
181         * gpgsm.c (main): Call assuan_set_assuan_err_source to have Assuan
182         switch to gpg-error codes.  
183         * server.c (set_error): Adjusted.
184
185 2006-08-29  Werner Koch  <wk@g10code.com>
186
187         * call-agent.c (gpgsm_agent_pkdecrypt): Allow decryption using
188         complete S-expressions as implemented by the current gpg-agent.
189
190         * gpgsm.c (main): Implement --output for encrypt, decrypt, sign
191         and export.
192
193 2006-07-03  Werner Koch  <wk@g10code.com>
194
195         * certreqgen.c (proc_parameters): Print the component label of a
196         faulty DN.
197
198 2006-06-26  Werner Koch  <wk@g10code.com>
199
200         * certdump.c (gpgsm_cert_log_name): New.
201         * certchain.c (is_cert_still_valid): Log the name of the certificate.
202
203 2006-06-20  Werner Koch  <wk@g10code.com>
204
205         * gpgsm.c (gpgsm_init_default_ctrl): Take care of the command line
206         option --include-certs.
207
208         * keylist.c (list_cert_raw): Print the certid.
209
210 2006-05-23  Werner Koch  <wk@g10code.com>
211
212         * keydb.c (hextobyte): Deleted as it is now defined in jnlib.
213
214         * Makefile.am (gpgsm_LDADD): Include ZLIBS.
215
216 2006-05-19  Marcus Brinkmann  <marcus@g10code.de>
217
218         * keydb.c (keydb_insert_cert): Do not lock here, but only check if
219         it is locked.
220         (keydb_store_cert): Lock here.
221
222         * keydb.h (keydb_delete): Accept new argument UNLOCK.
223         * keydb.c (keydb_delete): Likewise.  Only unlock if this is set.
224         * delete.c (delete_one): Add new argument to invocation of
225         keydb_delete.
226         
227 2006-05-15  Werner Koch  <wk@g10code.com>
228
229         * keylist.c (print_names_raw): Sanitize URI.
230
231 2006-03-21  Werner Koch  <wk@g10code.com>
232
233         * certchain.c (get_regtp_ca_info): New.
234         (allowed_ca): Use it.
235
236 2006-03-20  Werner Koch  <wk@g10code.com>
237
238         * qualified.c (gpgsm_is_in_qualified_list): New optional arg COUNTRY.
239
240 2006-02-17  Werner Koch  <wk@g10code.com>
241
242         * call-dirmngr.c (start_dirmngr): Print name of dirmngr to be started.
243
244 2005-11-23  Werner Koch  <wk@g10code.com>
245
246         * gpgsm.h: New member QUALSIG_APPROVAL.
247         * sign.c (gpgsm_sign): Print a warning if a certificate is not
248         qualified.
249         * qualified.c (gpgsm_qualified_consent): Include a note that this
250         is not approved software.
251         (gpgsm_not_qualified_warning): New.
252         * gpgsm.c (main): Prepared to print a note whether the software
253         has been approved.
254
255 2005-11-13  Werner Koch  <wk@g10code.com>
256
257         * call-agent.c (gpgsm_agent_get_confirmation): New.
258
259         * keylist.c (list_cert_std): Print qualified status.
260         * qualified.c: New.
261         * certchain.c (gpgsm_validate_chain): Check for qualified
262         certificates.
263
264         * certchain.c (gpgsm_basic_cert_check): Release keydb handle when
265         no-chain-validation is used.
266
267 2005-11-11  Werner Koch  <wk@g10code.com>
268
269         * keylist.c (print_capabilities): Print is_qualified status.
270
271 2005-10-28  Werner Koch  <wk@g10code.com>
272
273         * certdump.c (pretty_print_sexp): New.
274         (gpgsm_print_name2): Use it here.  This allows proper printing of
275         DNS names as used with server certificates.
276
277 2005-10-10  Werner Koch  <wk@g10code.com>
278
279         * keylist.c: Add pkaAdress OID as reference.
280
281 2005-10-08  Marcus Brinkmann  <marcus@g10code.de>
282
283         * Makefile.am (gpgsm_LDADD): Add ../gl/libgnu.a after
284         ../common/libcommon.a.
285
286 2005-09-13  Werner Koch  <wk@g10code.com>
287
288         * verify.c (gpgsm_verify): Print a note if the unknown algorithm
289         is MD2.
290         * sign.c (gpgsm_sign): Ditto.
291         * certcheck.c (gpgsm_check_cert_sig): Ditto.
292
293 2005-09-08  Werner Koch  <wk@g10code.com>
294
295         * export.c (popen_protect_tool): Add option --have-cert.  We
296         probably lost this option with 1.9.14 due to restructuring of
297         export.c.
298
299 2005-07-21  Werner Koch  <wk@g10code.com>
300
301         * gpgsm.c (main): New options --no-log-file and --debug-none.
302
303         * certreqgen.c (get_parameter, get_parameter_value): Add SEQ arg
304         to allow enumeration.  Changed all callers.
305         (create_request): Process DNS and URI parameters.
306
307 2005-07-20  Werner Koch  <wk@g10code.com>
308
309         * keylist.c (email_kludge): Reworked.
310
311         * certdump.c (gpgsm_print_serial, gpgsm_dump_serial): Cast printf
312         arg to unsigned.
313         * call-dirmngr.c (gpgsm_dirmngr_run_command): Ditto
314
315 2005-07-19  Werner Koch  <wk@g10code.com>
316
317         * fingerprint.c (gpgsm_get_certid): Cast printf arg to unsigned.
318         Bug accidently introduced while solving the #$%^& gcc
319         signed/unsigned char* warnings.
320
321 2005-06-15  Werner Koch  <wk@g10code.com>
322
323         * delete.c (delete_one): Changed FPR to unsigned.
324         * encrypt.c (encrypt_dek): Made ENCVAL unsigned.
325         (gpgsm_encrypt): Ditto.
326         * sign.c (gpgsm_sign): Made SIGVAL unsigned.
327         * base64.c (base64_reader_cb): Need to use some casting to get
328         around signed/unsigned char* warnings.
329         * certcheck.c (gpgsm_check_cms_signature): Ditto.
330         (gpgsm_create_cms_signature): Changed arg R_SIGVAL to unsigned char*.
331         (do_encode_md): Made NFRAME a size_t.
332         * certdump.c (gpgsm_print_serial): Fixed signed/unsigned warning.
333         (gpgsm_dump_serial): Ditto.
334         (gpgsm_format_serial): Ditto.
335         (gpgsm_dump_string): Ditto.
336         (gpgsm_dump_cert): Ditto.
337         (parse_dn_part): Ditto.
338         (gpgsm_print_name2): Ditto.
339         * keylist.c (email_kludge): Ditto.
340         * certreqgen.c (proc_parameters, create_request): Ditto.
341         (create_request): Ditto.
342         * call-agent.c (gpgsm_agent_pksign): Made arg R_BUF unsigned.
343         (struct cipher_parm_s): Made CIPHERTEXT unsigned.
344         (struct genkey_parm_s): Ditto.
345         * server.c (strcpy_escaped_plus): Made arg S signed char*.
346         * fingerprint.c (gpgsm_get_fingerprint): Made ARRAY unsigned.
347         (gpgsm_get_keygrip): Ditto.
348         * keydb.c (keydb_insert_cert): Made DIGEST unsigned.
349         (keydb_update_cert): Ditto.
350         (classify_user_id): Apply cast to signed/unsigned assignment.
351         (hextobyte): Ditto.
352
353 2005-06-01  Werner Koch  <wk@g10code.com>
354
355         * misc.c: Include setenv.h.
356
357 2005-04-21  Werner Koch  <wk@g10code.com>
358
359         * gpgsm.c: New options --{enable,disable}-trusted-cert-crl-check.
360         * certchain.c (gpgsm_validate_chain): Make use of it.
361
362         * certchain.c (gpgsm_validate_chain): Check revocations even for
363         expired certificates.  This is required because on signature
364         verification an expired key is fine whereas a revoked one is not.
365
366 2005-04-20  Werner Koch  <wk@g10code.com>
367
368         * Makefile.am (AM_CFLAGS): Add PTH_CFLAGS as noted by several folks.
369
370 2005-04-19  Werner Koch  <wk@g10code.com>
371
372         * certchain.c (check_cert_policy): Print the diagnostic for a open
373         failure of policies.txt only in verbose mode or when it is not
374         ENOENT.
375
376 2005-04-17  Werner Koch  <wk@g10code.com>
377
378         * call-dirmngr.c (inq_certificate): Add new inquire SENDCERT_SKI.
379         * certlist.c (gpgsm_find_cert): Add new arg KEYID and implement
380         this filter.  Changed all callers.
381
382         * certchain.c (find_up_search_by_keyid): New helper.
383         (find_up): Also try using the AKI.keyIdentifier.
384         (find_up_external): Ditto.
385
386 2005-04-15  Werner Koch  <wk@g10code.com>
387
388         * keylist.c (list_cert_raw): Print the subjectKeyIdentifier as
389         well as the keyIdentifier part of the authorityKeyIdentifier.
390
391 2005-03-31  Werner Koch  <wk@g10code.com>
392
393         * call-dirmngr.c (start_dirmngr): Use PATHSEP_C instead of ':'.
394         * call-agent.c (start_agent): Ditto.
395
396 2005-03-17  Werner Koch  <wk@g10code.com>
397
398         * certcheck.c: Fixed use of DBG_CRYPTO and DBG_X509.
399
400         * certchain.c (gpgsm_basic_cert_check): Dump certificates after a
401         failed gcry_pk_verify.
402         (find_up): Do an external lookup also for an authorityKeyIdentifier
403         lookup. Factored external lookup code out to ..
404         (find_up_external): .. new.
405
406 2005-03-03  Werner Koch  <wk@g10code.com>
407
408         * Makefile.am (gpgsm_LDADD): Added PTH_LIBS.  Noted by Kazu Yamamoto.
409
410 2005-01-13  Werner Koch  <wk@g10code.com>
411
412         * certreqgen.c (proc_parameters): Cast printf arg.
413
414 2004-12-22  Werner Koch  <wk@g10code.com>
415
416         * gpgsm.c (set_binary): New.
417         (main, open_read, open_fwrite): Use it.
418
419 2004-12-21  Werner Koch  <wk@g10code.com>
420
421         * gpgsm.c (main): Use default_homedir().
422         (main) [W32]: Default to disabled CRL checks.
423
424 2004-12-20  Werner Koch  <wk@g10code.com>
425
426         * call-agent.c (start_agent): Before starting a pipe server start
427         to connect to a server on the standard socket.  Use PATHSEP
428         * call-dirmngr.c (start_dirmngr): Use PATHSEP.
429
430         * import.c: Include unistd.h for dup and close.
431
432 2004-12-18  Werner Koch  <wk@g10code.com>
433
434         * gpgsm.h (map_assuan_err): Define in terms of
435         map_assuan_err_with_source.
436         * call-agent.c (start_agent): Pass error source to
437         send_pinentry_environment.
438
439 2004-12-17  Werner Koch  <wk@g10code.com>
440
441         * call-dirmngr.c (isvalid_status_cb, lookup_status_cb)
442         (run_command_status_cb): Return cancel status if gpgsm_status
443         returned an error.
444
445         * server.c (gpgsm_status, gpgsm_status2) 
446         (gpgsm_status_with_err_code): Return an error code.
447         (gpgsm_status2): Always call va_end().
448
449 2004-12-15  Werner Koch  <wk@g10code.com>
450
451         * call-dirmngr.c (lookup_status_cb): Send progress messages
452         upstream.
453         (isvalid_status_cb): Ditto.
454         (gpgsm_dirmngr_isvalid): Put CTRL into status CB parameters.
455         (gpgsm_dirmngr_run_command, run_command_status_cb): Pass CTRL to
456         status callback and handle PROGRESS.
457
458         * misc.c (setup_pinentry_env) [W32]: Don't use it.
459
460         * gpgsm.c (main) [W32]: Init Pth because we need it for the socket
461         operations and to resolve libassuan symbols.
462         (run_protect_tool) [W32]: Disable it.
463
464         * Makefile.am (gpgsm_LDADD): Move LIBASSUAN_LIBS more to the end.
465
466 2004-12-07  Werner Koch  <wk@g10code.com>
467
468         * Makefile.am (gpgsm_LDADD): Put libassuan before jnlib because
469         under W32 we need the w32 pth code from jnlib.
470
471         * misc.c (setup_pinentry_env) [W32]: Disabled.
472
473 2004-12-06  Werner Koch  <wk@g10code.com>
474
475         * gpgsm.c (run_protect_tool) [_WIN32]: Disabled.
476
477         * import.c (popen_protect_tool): Simplified by making use of
478         gnupg_spawn_process.
479         (parse_p12): Likewise, using gnupg_wait_process.
480         * export.c (popen_protect_tool): Ditto.
481         (export_p12): Ditto.
482
483         * keydb.c: Don't define DIRSEP_S here.
484
485 2004-12-02  Werner Koch  <wk@g10code.com>
486
487         * certchain.c (gpgsm_basic_cert_check): Dump certs with bad
488         signature for debugging.
489         (gpgsm_validate_chain): Ditto.
490
491 2004-11-29  Werner Koch  <wk@g10code.com>
492
493         * gpgsm.c (set_debug): Changed to use a globals DEBUG_LEVEL and
494         DEBUG_VALUE.
495         (main): Made DEBUG_LEVEL global and introduced DEBUG_VALUE.  This
496         now allows to add debug flags on top of a debug-level setting.
497
498 2004-11-23  Werner Koch  <wk@g10code.com>
499
500         * gpgsm.c: New option --prefer-system-dirmngr.
501         * call-dirmngr.c (start_dirmngr): Implement this option.
502
503 2004-10-22  Werner Koch  <wk@g10code.com>
504
505         * certreqgen.c (gpgsm_genkey): Remove the NEW from the certificate
506         request PEM header.  This is according to the Sphinx standard.
507
508 2004-10-08  Moritz Schulte  <moritz@g10code.com>
509
510         * certchain.c (gpgsm_validate_chain): Do not use keydb_new() in
511         case the no_chain_validation-return-short-cut is used (fixes
512         memory leak).
513
514 2004-10-04  Werner Koch  <wk@g10code.com>
515
516         * misc.c (setup_pinentry_env): Try hard to set a default for GPG_TTY.
517
518 2004-09-30  Werner Koch  <wk@g10code.com>
519
520         * gpgsm.c (i18n_init): Always use LC_ALL.
521
522         * certdump.c (gpgsm_format_name): Factored code out to ..
523         (gpgsm_format_name2): .. new.
524         (gpgsm_print_name): Factored code out to ..
525         (gpgsm_print_name2): .. new.
526         (print_dn_part): New arg TRANSLATE.  Changed all callers.
527         (print_dn_parts): Ditto.
528         (gpgsm_format_keydesc): Do not translate the SUBJECT; we require
529         it to stay UTF-8 but we still want to filter out bad control
530         characters.
531
532         * Makefile.am: Adjusted for gettext 0.14.
533
534         * keylist.c (list_cert_colon): Make sure that the expired flag has
535         a higher precedence than the invalid flag. 
536
537 2004-09-29  Werner Koch  <wk@g10code.com>
538
539         * import.c (parse_p12): Write an error status line for bad
540         passphrases. Add new arg CTRL and changed caller.
541         * export.c (export_p12): Likewise.
542
543 2004-09-14  Werner Koch  <wk@g10code.com>
544
545         * certchain.c (gpgsm_validate_chain): Give expired certificates a
546         higher error precedence and don't bother to check any CRL in that
547         case.
548
549 2004-08-24  Werner Koch  <wk@g10code.de>
550
551         * certlist.c: Fixed typo in ocsp OID.
552
553 2004-08-18  Werner Koch  <wk@g10code.de>
554
555         * certlist.c (gpgsm_cert_use_ocsp_p): New.
556         (cert_usage_p): Support it here.
557         * call-dirmngr.c (gpgsm_dirmngr_isvalid): Use it here.
558
559 2004-08-17  Marcus Brinkmann  <marcus@g10code.de>
560
561         * import.c: Fix typo in last change.
562
563 2004-08-17  Werner Koch  <wk@g10code.de>
564
565         * import.c (check_and_store): Do a full validation if
566         --with-validation is set.
567
568         * certchain.c (gpgsm_basic_cert_check): Print more detailed error
569         messages.
570         
571         * certcheck.c (do_encode_md): Partly support DSA.  Add new arg
572         PKALGO. Changed all callers to pass it.
573         (pk_algo_from_sexp): New.
574
575 2004-08-16  Werner Koch  <wk@g10code.de>
576
577         * gpgsm.c: New option --fixed-passphrase.
578         * import.c (popen_protect_tool): Pass it to the protect-tool.
579
580         * server.c (cmd_encrypt): Use DEFAULT_RECPLIST and not recplist
581         for encrypt-to keys.
582
583 2004-08-06  Werner Koch  <wk@g10code.com>
584
585         * gpgsm.c: New option --with-ephemeral-keys.
586         * keylist.c (list_internal_keys): Set it here.
587         (list_cert_raw): And indicate those keys.  Changed all our callers
588         to pass the new arg HD through.
589
590 2004-07-23  Werner Koch  <wk@g10code.de>
591
592         * certreqgen.c (proc_parameters): Do not allow key length below
593         1024.
594
595 2004-07-22  Werner Koch  <wk@g10code.de>
596
597         * keylist.c (list_cert_raw): Print the keygrip.
598
599 2004-07-20  Werner Koch  <wk@gnupg.org>
600
601         * certchain.c (gpgsm_validate_chain): The trust check didn't
602         worked anymore, probably due to the changes at 2003-03-04.  Fixed.
603
604 2004-06-06  Werner Koch  <wk@gnupg.org>
605
606         * certreqgen.c (get_parameter_uint, create_request): Create
607         an extension for key usage when requested. 
608
609 2004-05-12  Werner Koch  <wk@gnupg.org>
610
611         * gpgsm.c (main): Install emergency_cleanup also as an atexit
612         handler.
613
614         * verify.c (gpgsm_verify): Removed the separate error code
615         handling for KSBA.  We use shared error codes anyway.
616
617         * export.c (export_p12): Removed debugging code.
618
619         * encrypt.c (gpgsm_encrypt): Put the session key in to secure memory.
620
621 2004-05-11  Werner Koch  <wk@gnupg.org>
622
623         * sign.c (gpgsm_sign): Include the error source in the final error
624         message.
625         * decrypt.c (gpgsm_decrypt): Ditto.
626
627         * fingerprint.c (gpgsm_get_key_algo_info): New.
628         * sign.c (gpgsm_sign): Don't assume RSA in the status line.
629         * keylist.c (list_cert_colon): Really print the algorithm and key
630         length.
631         (list_cert_raw, list_cert_std): Ditto.
632         (list_cert_colon): Reorganized to be able to tell whether a root
633         certificate is trusted.
634
635         * gpgsm.c: New option --debug-allow-core-dump.
636
637         * gpgsm.h (opt): Add member CONFIG_FILENAME.
638         * gpgsm.c (main): Use it here instead of the local var.
639
640         * server.c (gpgsm_server): Print some additional information with
641         the hello in verbose mode.
642
643 2004-04-30  Werner Koch  <wk@gnupg.org>
644
645         * import.c (check_and_store): Do not update the stats for hidden
646         imports of issuer certs.
647         (popen_protect_tool): Request statusmessages from the protect-tool.
648         (parse_p12): Detect status messages. Add new arg STATS and update them.
649         (print_imported_summary): Include secret key stats.
650
651 2004-04-28  Werner Koch  <wk@gnupg.org>
652
653         * gpgsm.c: New command --keydb-clear-some-cert-flags.
654         * keydb.c (keydb_clear_some_cert_flags): New.
655         (keydb_update_keyblock, keydb_set_flags): Change error code
656         CONFLICT to NOT_LOCKED.
657
658 2004-04-26  Werner Koch  <wk@gnupg.org>
659
660         * gpgsm.c (main) <gpgconf>: Do not use /dev/null as default config
661         filename.
662
663         * call-agent.c (gpgsm_agent_pksign, gpgsm_agent_pkdecrypt) 
664         (gpgsm_agent_genkey, gpgsm_agent_istrusted) 
665         (gpgsm_agent_marktrusted, gpgsm_agent_havekey) 
666         (gpgsm_agent_passwd): Add new arg CTRL and changed all callers.
667         (start_agent): New arg CTRL.  Send progress item when starting a
668         new agent.
669         * sign.c (gpgsm_get_default_cert, get_default_signer): New arg
670         CTRL to be passed down to the agent function.
671         * decrypt.c (prepare_decryption): Ditto.
672         * certreqgen.c (proc_parameters, read_parameters): Ditto.
673         * certcheck.c (gpgsm_create_cms_signature): Ditto.
674
675 2004-04-23  Werner Koch  <wk@gnupg.org>
676
677         * keydb.c (keydb_add_resource): Try to compress the file on init.
678
679         * keylist.c (oidtranstbl): New.  OIDs collected from several sources.
680         (print_name_raw, print_names_raw, list_cert_raw): New.
681         (gpgsm_list_keys): Check the dump mode and pass it down as
682         necessary.
683
684 2004-04-22  Werner Koch  <wk@gnupg.org>
685
686         * gpgsm.c (main): New commands --dump-keys, --dump-external-keys,
687         --dump-secret-keys.
688
689 2004-04-13  Werner Koch  <wk@gnupg.org>
690
691         * misc.c (setup_pinentry_env): New.
692         * import.c (popen_protect_tool): Call it.
693         * export.c (popen_protect_tool): Call it.
694
695 2004-04-08  Werner Koch  <wk@gnupg.org>
696
697         * decrypt.c (gpgsm_decrypt): Return GPG_ERR_NO_DATA if it is not a 
698         encrypted message.
699
700 2004-04-07  Werner Koch  <wk@gnupg.org>
701
702         * gpgsm.c: New option --force-crl-refresh.
703         * call-dirmngr.c (gpgsm_dirmngr_isvalid): Pass option to dirmngr.
704
705 2004-04-05  Werner Koch  <wk@gnupg.org>
706
707         * server.c (get_status_string): Add STATUS_NEWSIG.
708         * verify.c (gpgsm_verify): Print STATUS_NEWSIG for each signature.
709
710         * certchain.c (gpgsm_validate_chain) <gpgsm_cert_use_cer_p>: Do
711         not just warn if a cert is not suitable; bail out immediately.
712
713 2004-04-01  Werner Koch  <wk@gnupg.org>
714
715         * call-dirmngr.c (isvalid_status_cb): New.
716         (unhexify_fpr): New. Taken from ../g10/call-agent.c
717         (gpgsm_dirmngr_isvalid): Add new arg CTRL, changed caller to pass
718         it thru.  Detect need to check the respondert cert and do that.
719         * certchain.c (gpgsm_validate_chain): Add new arg FLAGS.  Changed
720         all callers.
721
722 2004-03-24  Werner Koch  <wk@gnupg.org>
723
724         * sign.c (gpgsm_sign): Include a short list of capabilities.
725
726 2004-03-17  Werner Koch  <wk@gnupg.org>
727
728         * gpgsm.c (main) <gpgconf>: Fixed default value quoting.
729
730 2004-03-16  Werner Koch  <wk@gnupg.org>
731
732         * gpgsm.c (main): Implemented --gpgconf-list.
733
734 2004-03-15  Werner Koch  <wk@gnupg.org>
735
736         * keylist.c (list_cert_colon): Hack to set the expired flag.
737
738 2004-03-09  Werner Koch  <wk@gnupg.org>
739
740         * gpgsm.c (main): Correctly intitialze USE_OCSP flag.
741
742         * keydb.c (keydb_delete): s/GPG_ERR_CONFLICT/GPG_ERR_NOT_LOCKED/
743
744 2004-03-04  Werner Koch  <wk@gnupg.org>
745
746         * call-dirmngr.c (gpgsm_dirmngr_isvalid): New arg ISSUER_CERT.
747
748         * certchain.c (is_cert_still_valid): New.  Code moved from ...
749         (gpgsm_validate_chain): ... here because we now need to check at
750         two places and at a later stage, so that we can pass the issuer
751         cert down to the dirmngr.
752
753 2004-03-03  Werner Koch  <wk@gnupg.org>
754
755         * call-agent.c (start_agent): Replaced pinentry setup code by a
756         call to a new common function.
757
758         * certdump.c (gpgsm_format_keydesc): Make sure the string is
759         returned as utf-8.
760
761         * export.c (gpgsm_export): Make sure that we don't export more
762         than one certificate.
763
764 2004-03-02  Werner Koch  <wk@gnupg.org>
765
766         * export.c (create_duptable, destroy_duptable)
767         (insert_duptable): New.
768         (gpgsm_export): Avoid duplicates.
769
770 2004-02-26  Werner Koch  <wk@gnupg.org>
771
772         * certchain.c (compare_certs): New.
773         (gpgsm_validate_chain): Fixed infinite certificate checks after
774         bad signatures.
775
776 2004-02-24  Werner Koch  <wk@gnupg.org>
777
778         * keylist.c (list_cert_colon): Print the fingerprint as the
779         cert-id for root certificates.
780
781 2004-02-21  Werner Koch  <wk@gnupg.org>
782
783         * keylist.c (list_internal_keys): Return error codes.
784         (list_external_keys, gpgsm_list_keys): Ditto.
785         * server.c (do_listkeys): Ditto.
786
787         * gpgsm.c (main): Display a key description for --passwd.
788         * call-agent.c (gpgsm_agent_passwd): New arg DESC.
789
790 2004-02-20  Werner Koch  <wk@gnupg.org>
791
792         * gpgsm.c (main): New option --debug-ignore-expiration.
793         * certchain.c (gpgsm_validate_chain): Use it here.
794
795         * certlist.c (cert_usage_p): Apply extKeyUsage.
796
797 2004-02-19  Werner Koch  <wk@gnupg.org>
798
799         * export.c (export_p12, popen_protect_tool)
800         (gpgsm_p12_export): New.
801         * gpgsm.c (main): New command --export-secret-key-p12. 
802
803 2004-02-18  Werner Koch  <wk@gnupg.org>
804
805         * gpgsm.c (set_debug): Set the new --debug-level flags.
806         (main): New option --gpgconf-list.  
807         (main): Do not setup -u and -r keys when not required.
808         (main): Setup the used character set.
809
810         * keydb.c (keydb_add_resource): Print a hint to start the
811         gpg-agent.
812
813 2004-02-17  Werner Koch  <wk@gnupg.org>
814
815         * gpgsm.c: Fixed value parsing for --with-validation.
816         * call-agent.c (start_agent): Ignore an empty GPG_AGENT_INFO.
817         * call-dirmngr.c (start_dirmngr): Likewise for DIRMNGR_INFO.
818
819         * gpgsm.c: New option --with-md5-fingerprint.
820         * keylist.c (list_cert_std): Print MD5 fpr.
821
822         * gpgsm.c: New options --with-validation.
823         * server.c (option_handler): New option "with-validation".
824         * keylist.c (list_cert_std, list_internal_keys): New args CTRL and
825         WITH_VALIDATION. Changed callers to set it.
826         (list_external_cb, list_external_keys): Pass CTRL to the callback.
827         (list_cert_colon): Add arg CTRL.  Check validation if requested.
828         * certchain.c (unknown_criticals, allowed_ca, check_cert_policy) 
829         (gpgsm_validate_chain): New args LISTMODE and FP.
830         (do_list): New helper for info output.
831         (find_up): New arg FIND_NEXT.
832         (gpgsm_validate_chain): After a bad signature try again with other
833         CA certificates.
834
835         * import.c (print_imported_status): New arg NEW_CERT. Print
836         additional STATUS_IMPORT_OK becuase that is what gpgme expects.
837         (check_and_store): Always call above function after import.
838         * server.c (get_status_string): Added STATUS_IMPORT_OK.
839
840 2004-02-13  Werner Koch  <wk@gnupg.org>
841
842         * certcheck.c (gpgsm_create_cms_signature): Format a description
843         for use by the pinentry.
844         * decrypt.c (gpgsm_decrypt): Ditto. Free HEXKEYGRIP.
845         * certdump.c (format_name_cookie, format_name_writer) 
846         (gpgsm_format_name): New.
847         (gpgsm_format_serial): New.
848         (gpgsm_format_keydesc): New.
849         * call-agent.c (gpgsm_agent_pksign): New arg DESC.
850         (gpgsm_agent_pkdecrypt): Ditto.
851
852         * encrypt.c (init_dek): Check for too weak algorithms.
853
854         * import.c (parse_p12, popen_protect_tool): New.
855
856         * base64.c (gpgsm_create_reader): New arg ALLOW_MULTI_PEM.
857         Changed all callers.
858         (base64_reader_cb): Handle it here.
859         (gpgsm_reader_eof_seen): New.
860         (base64_reader_cb): Set a flag for EOF.
861         (simple_reader_cb): Ditto.
862
863 2004-02-12  Werner Koch  <wk@gnupg.org>
864
865         * gpgsm.h, gpgsm.c: New option --protect-tool-program.
866         * gpgsm.c (run_protect_tool): Use it.
867
868 2004-02-11  Werner Koch  <wk@gnupg.org>
869
870         * Makefile.am (AM_CPPFLAGS): Pass directory constants via -D; this
871         will allow to override directory names at make time.
872
873 2004-02-02  Werner Koch  <wk@gnupg.org>
874
875         * import.c (check_and_store): Import certificates even with
876         missing issuer's cert.  Fixed an "depending on the verbose
877         setting" bug.
878
879         * certchain.c (gpgsm_validate_chain): Mark revoked certs in the
880         keybox.
881
882         * keylist.c (list_cert_colon): New arg VALIDITY; use it to print a
883         revoked flag.
884         (list_internal_keys): Retrieve validity flag.
885         (list_external_cb): Pass 0 as validity flag.
886         * keydb.c (keydb_get_flags, keydb_set_flags): New.
887         (keydb_set_cert_flags): New.
888         (lock_all): Return a proper error code.
889         (keydb_lock): New.
890         (keydb_delete): Don't lock but check that it has been locked.
891         (keydb_update_keyblock): Ditto.
892         * delete.c (delete_one): Take a lock.
893
894 2004-01-30  Werner Koch  <wk@gnupg.org>
895
896         * certchain.c (check_cert_policy): Fixed read error checking.
897         (check_cert_policy): With no critical policies issue only a
898         warning if the policy file does not exists.
899
900         * sign.c (add_certificate_list): Decrement N for the first cert.
901
902 2004-01-29  Werner Koch  <wk@gnupg.org>
903
904         * certdump.c (parse_dn_part): Map common OIDs to human readable
905         labels.  Make sure that a value won't get truncated if it includes
906         a Nul.
907
908 2004-01-28  Werner Koch  <wk@gnupg.org>
909
910         * certchain.c (gpgsm_validate_chain): Changed the message printed
911         for an untrusted root certificate.
912
913 2004-01-27  Werner Koch  <wk@gnupg.org>
914
915         * certdump.c (parse_dn_part): Pretty print the nameDistinguisher OID.
916         (print_dn_part): Do not delimit multiple RDN by " + ".  Handle
917         multi-valued RDNs in a special way, i.e. in the order specified by
918         the certificate.
919         (print_dn_parts): Simplified. 
920
921 2004-01-16  Werner Koch  <wk@gnupg.org>
922
923         * sign.c (gpgsm_sign): Print an error message on all failures.
924         * decrypt.c (gpgsm_decrypt): Ditto.
925
926 2003-12-17  Werner Koch  <wk@gnupg.org>
927
928         * server.c (gpgsm_server): Add arg DEFAULT_RECPLIST.
929         (cmd_encrypt): Add all enrypt-to marked certs to the list.
930         * encrypt.c (gpgsm_encrypt): Check that real recipients are
931         available.
932         * gpgsm.c (main): Make the --encrypt-to and --no-encrypt-to
933         options work.  Pass the list of recients to gpgsm_server.
934         * gpgsm.h (certlist_s): Add field IS_ENCRYPT_TO.
935         (opt): Add NO_ENCRYPT_TO.
936         * certlist.c (gpgsm_add_to_certlist): New arg IS_ENCRYPT_TO.
937         Changed all callers and ignore duplicate entries.
938         (is_cert_in_certlist): New.
939         (gpgsm_add_cert_to_certlist): New.
940
941         * certdump.c (gpgsm_print_serial): Cleaned up cast use in strtoul.
942         (gpgsm_dump_serial): Ditto.
943
944         * decrypt.c (gpgsm_decrypt): Replaced ERR by RC.
945
946 2003-12-16  Werner Koch  <wk@gnupg.org>
947
948         * gpgsm.c (main): Set the prefixes for assuan logging.
949
950         * sign.c (gpgsm_sign): Add validation checks for the default
951         certificate.
952
953         * gpgsm.c: Add -k as alias for --list-keys and -K for
954         --list-secret-keys.
955
956 2003-12-15  Werner Koch  <wk@gnupg.org>
957
958         * encrypt.c (init_dek): Use gry_create_nonce for the IV; there is
959         not need for real strong random here and it even better protect
960         the random bits used for the key.
961
962 2003-12-01  Werner Koch  <wk@gnupg.org>
963
964         * gpgsm.c, gpgsm.h: New options --{enable,disable}-ocsp.
965         (gpgsm_init_default_ctrl): Set USE_OCSP to the default value.
966         * certchain.c (gpgsm_validate_chain): Handle USE_OCSP.
967         * call-dirmngr.c (gpgsm_dirmngr_isvalid): Add arg USE_OCSP and
968         proceed accordingly.
969
970 2003-11-19  Werner Koch  <wk@gnupg.org>
971
972         * verify.c (gpgsm_verify): Use "0" instead of an empty string for
973         the VALIDSIG status.
974
975 2003-11-18  Werner Koch  <wk@gnupg.org>
976
977         * verify.c (gpgsm_verify): Fixed for changes API of gcry_md_info.
978
979         * certchain.c (unknown_criticals): Fixed an error code test.
980
981 2003-11-12  Werner Koch  <wk@gnupg.org>
982
983         Adjusted for API changes in Libksba.
984
985 2003-10-31  Werner Koch  <wk@gnupg.org>
986
987         * certchain.c (gpgsm_validate_chain): Changed to use ksba_isotime_t.
988         * verify.c (strtimestamp_r, gpgsm_verify): Ditto.
989         * sign.c (gpgsm_sign): Ditto.
990         * keylist.c (print_time, list_cert_std, list_cert_colon): Ditto.
991         * certdump.c (gpgsm_print_time, gpgsm_dump_time, gpgsm_dump_cert):
992         Ditto.
993
994 2003-10-25  Werner Koch  <wk@gnupg.org>
995
996         * certreqgen.c (read_parameters): Fixed faulty of !spacep().
997
998 2003-08-20  Marcus Brinkmann  <marcus@g10code.de>
999
1000         * encrypt.c (encode_session_key): Allocate enough space.  Cast key
1001         byte to unsigned char to prevent sign extension.
1002         (encrypt_dek): Check return value before error.
1003
1004 2003-08-14  Timo Schulz  <twoaday@freakmail.de>
1005
1006         * encrypt.c (encode_session_key): Use new Libgcrypt interface.
1007         
1008 2003-07-31  Werner Koch  <wk@gnupg.org>
1009
1010         * Makefile.am (gpgsm_LDADD): Added INTLLIBS.
1011
1012 2003-07-29  Werner Koch  <wk@gnupg.org>
1013
1014         * gpgsm.c (main): Add secmem features and set the random seed file.
1015         (gpgsm_exit): Update the random seed file and enable debug output.
1016
1017 2003-07-27  Werner Koch  <wk@gnupg.org>
1018
1019         Adjusted for gcry_mpi_print and gcry_mpi_scan API change.
1020
1021 2003-06-24  Werner Koch  <wk@gnupg.org>
1022
1023         * server.c (gpgsm_status_with_err_code): New.
1024         * verify.c (gpgsm_verify): Use it here instead of the old
1025         tokenizing version.
1026
1027         * verify.c (strtimestamp): Renamed to strtimestamp_r
1028
1029         Adjusted for changes in the libgcrypt API. Some more fixes for the
1030         libgpg-error stuff.  
1031
1032 2003-06-04  Werner Koch  <wk@gnupg.org>
1033
1034         * call-agent.c (init_membuf,put_membuf,get_membuf): Removed.
1035         Include new membuf header and changed used type.
1036
1037         Renamed error codes from INVALID to INV and removed _ERROR suffixes.
1038
1039 2003-06-03  Werner Koch  <wk@gnupg.org>
1040
1041         Changed all error codes in all files to the new libgpg-error scheme.
1042
1043         * gpgsm.h: Include gpg-error.h .
1044         * Makefile.am: Link with libgpg-error.
1045
1046 2003-04-29  Werner Koch  <wk@gnupg.org>
1047
1048         * Makefile.am: Use libassuan.  Don't override LDFLAGS anymore.
1049         * server.c (register_commands): Adjust for new Assuan semantics.
1050
1051 2002-12-03  Werner Koch  <wk@gnupg.org>
1052
1053         * call-agent.c (gpgsm_agent_passwd): New.
1054         * gpgsm.c (main): New command --passwd and --call-protect-tool
1055         (run_protect_tool): New.
1056
1057 2002-11-25  Werner Koch  <wk@gnupg.org>
1058
1059         * verify.c (gpgsm_verify): Handle content-type attribute. 
1060
1061 2002-11-13  Werner Koch  <wk@gnupg.org>
1062
1063         * call-agent.c (start_agent): Try to use $GPG_TTY instead of
1064         ttyname.  Changed ttyname to test stdin becuase it can be assumed
1065         that output redirection is more common that input redirection.
1066
1067 2002-11-12  Werner Koch  <wk@gnupg.org>
1068
1069         * gpgsm.c: New command --call-dirmngr. 
1070         * call-dirmngr.c (gpgsm_dirmngr_run_command)
1071         (run_command_inq_cb,run_command_cb)
1072         (run_command_status_cb): New.
1073
1074 2002-11-11  Werner Koch  <wk@gnupg.org>
1075
1076         * certcheck.c (gpgsm_check_cms_signature): Don't double free
1077         s_sig but free s_pkey at leave.
1078
1079 2002-11-10  Werner Koch  <wk@gnupg.org>
1080
1081         * gpgsm.c: Removed duplicate --list-secret-key entry.
1082
1083 2002-09-19  Werner Koch  <wk@gnupg.org>
1084
1085         * certcheck.c (gpgsm_check_cert_sig): Add cert hash debugging.
1086
1087         * certchain.c (find_up): Print info when the cert was not found 
1088         by the autorithyKeyIdentifier.
1089
1090 2002-09-03  Werner Koch  <wk@gnupg.org>
1091
1092         * gpgsm.c (main): Disable the internal libgcrypt locking.
1093
1094 2002-08-21  Werner Koch  <wk@gnupg.org>
1095
1096         * import.c (print_imported_summary): Cleaned up.  Print new
1097         not_imported value.
1098         (check_and_store): Update non_imported counter.
1099         (print_import_problem): New.
1100         (check_and_store): Print error status message.
1101         * server.c (get_status_string): Added STATUS_IMPORT_PROBLEM.
1102
1103 2002-08-20  Werner Koch  <wk@gnupg.org>
1104
1105         * gpgsm.c (main): Use the log file only in server mode.
1106
1107         * import.c (print_imported_summary): New.
1108         (check_and_store): Update the counters, take new argument.
1109         (import_one): Factored out core of gpgsm_import.
1110         (gpgsm_import): Print counters.
1111         (gpgsm_import_files): New.
1112         * gpgsm.c (main): Use the new function for import.
1113
1114 2002-08-19  Werner Koch  <wk@gnupg.org>
1115
1116         * decrypt.c (gpgsm_decrypt): Return a better error status token.
1117         * verify.c (gpgsm_verify): Don't error on messages with no signing
1118         time or no message digest.  This is only the case for messages
1119         without any signed attributes.
1120
1121 2002-08-16  Werner Koch  <wk@gnupg.org>
1122
1123         * certpath.c: Renamed to ..
1124         * certchain.c: this. Renamed all all other usages of "path" in the
1125         context of certificates to "chain".
1126
1127         * call-agent.c (learn_cb): Special treatment when the issuer
1128         certificate is missing.
1129
1130 2002-08-10  Werner Koch  <wk@gnupg.org>
1131
1132         * Makefile.am (INCLUDES): Add definition for localedir.
1133
1134         * keylist.c (list_cert_colon): Print the short fingerprint in the
1135         key ID field.
1136         * fingerprint.c (gpgsm_get_short_fingerprint): New.
1137         * verify.c (gpgsm_verify): Print more verbose info for a good
1138         signature.
1139
1140 2002-08-09  Werner Koch  <wk@gnupg.org>
1141
1142         * decrypt.c (prepare_decryption): Hack to detected already
1143         unpkcsedone keys.
1144
1145         * gpgsm.c (emergency_cleanup): New.
1146         (main): Initialize the signal handler.
1147
1148         * sign.c (gpgsm_sign): Reset the hash context for subsequent
1149         signers and release it at the end.
1150
1151 2002-08-05  Werner Koch  <wk@gnupg.org>
1152
1153         * server.c (cmd_signer): New command "SIGNER"
1154         (register_commands): Register it.
1155         (cmd_sign): Pass the signer list to gpgsm_sign.
1156         * certlist.c (gpgsm_add_to_certlist): Add SECRET argument, check
1157         for secret key if set and changed all callers.
1158         * sign.c (gpgsm_sign): New argument SIGNERLIST and implemt
1159         multiple signers.
1160         * gpgsm.c (main): Support more than one -u.
1161         
1162         * server.c (cmd_recipient): Return reason code 1 for No_Public_Key
1163         which is actually what gets returned from add_to_certlist.
1164         
1165 2002-07-26  Werner Koch  <wk@gnupg.org>
1166
1167         * certcheck.c (gpgsm_check_cert_sig): Implement proper cleanup.
1168         (gpgsm_check_cms_signature): Ditto.
1169
1170 2002-07-22  Werner Koch  <wk@gnupg.org>
1171
1172         * keydb.c (keydb_add_resource): Register a lock file.
1173         (lock_all, unlock_all): Implemented.
1174
1175         * delete.c: New.
1176         * gpgsm.c: Made --delete-key work.
1177         * server.c (cmd_delkeys): New.
1178         (register_commands): New command DELKEYS.
1179
1180         * decrypt.c (gpgsm_decrypt): Print a convenience note when RC2 is
1181         used and a STATUS_ERROR with the algorithm oid.
1182
1183 2002-07-03  Werner Koch  <wk@gnupg.org>
1184
1185         * server.c (gpgsm_status2): Insert a blank between all optional
1186         arguments when using assuan.
1187         * server.c (cmd_recipient): No more need for extra blank in constants.
1188         * import.c (print_imported_status): Ditto.
1189         * gpgsm.c (main): Ditto.
1190
1191 2002-07-02  Werner Koch  <wk@gnupg.org>
1192
1193         * verify.c (gpgsm_verify): Extend the STATUS_BADSIG line with
1194         the fingerprint.
1195
1196         * certpath.c (check_cert_policy): Don't use log_error to print a
1197         warning.
1198
1199         * keydb.c (keydb_store_cert): Add optional ar EXISTED and changed
1200         all callers.
1201         * call-agent.c (learn_cb): Print info message only for real imports.
1202
1203         * import.c (gpgsm_import): Moved duplicated code to ...
1204         (check_and_store): new function.  Added magic to import the entire
1205         chain. Print status only for real imports and moved printing code
1206         to ..
1207         (print_imported_status): New.
1208
1209         * call-dirmngr.c (gpgsm_dirmngr_isvalid): print status of dirmngr
1210         call in very verbose mode.
1211
1212         * gpgsm.c (main): Use the same error codes for STATUS_INV_RECP as
1213         with the server mode.
1214
1215 2002-06-29  Werner Koch  <wk@gnupg.org>
1216
1217         * gpgsm.c: New option --auto-issuer-key-retrieve.
1218         * certpath.c (find_up): Try to retrieve an issuer key from an
1219         external source and from the ephemeral key DB.
1220         (find_up_store_certs_cb): New.
1221
1222         * keydb.c (keydb_set_ephemeral): Does now return the old
1223         state.  Call the backend only when required.
1224
1225         * call-dirmngr.c (start_dirmngr): Use GNUPG_DEFAULT_DIRMNGR.
1226         (lookup_status_cb): Issue status only when CTRL is not NULL.
1227         (gpgsm_dirmngr_lookup): Document that CTRL is optional.
1228
1229         * call-agent.c (start_agent): Use GNUPG_DEFAULT_AGENT.
1230
1231 2002-06-28  Werner Koch  <wk@gnupg.org>
1232
1233         * server.c (cmd_recipient): Add more reason codes.
1234
1235 2002-06-27  Werner Koch  <wk@gnupg.org>
1236
1237         * certpath.c (gpgsm_basic_cert_check): Use
1238         --debug-no-path-validation to also bypass this basic check.
1239
1240         * gpgsm.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
1241
1242         * call-agent.c (start_agent): Create and pass the list of FD to
1243         keep in the child to assuan.
1244         * call-dirmngr.c (start_dirmngr): Ditto.
1245
1246 2002-06-26  Werner Koch  <wk@gnupg.org>
1247
1248         * import.c (gpgsm_import): Print an STATUS_IMPORTED.
1249
1250         * gpgsm.c: --debug-no-path-validation does not take an argument.
1251
1252 2002-06-25  Werner Koch  <wk@gnupg.org>
1253
1254         * certdump.c (print_dn_part): Always print a leading slash,
1255         removed NEED_DELIM arg and changed caller.
1256
1257         * export.c (gpgsm_export): Print LFs to FP and not stdout.
1258         (print_short_info): Ditto.  Make use of gpgsm_print_name.
1259
1260         * server.c (cmd_export): Use output-fd instead of data lines; this
1261         was actually the specified way.
1262
1263 2002-06-24  Werner Koch  <wk@gnupg.org>
1264
1265         * gpgsm.c: Removed duped help entry for --list-keys.
1266         
1267         * gpgsm.c, gpgsm.h: New option --debug-no-path-validation.
1268
1269         * certpath.c (gpgsm_validate_path): Use it here instead of the
1270         debug flag hack.
1271
1272         * certpath.c (check_cert_policy): Return No_Policy_Match if the
1273         policy file could not be opened.
1274
1275 2002-06-20  Werner Koch  <wk@gnupg.org>
1276
1277         * certlist.c (gpgsm_add_to_certlist): Fixed locating of a
1278         certificate with the required key usage.
1279
1280         * gpgsm.c (main): Fixed a segv when using --outfile without an
1281         argument.
1282
1283         * keylist.c (print_capabilities): Also check for non-repudiation
1284         and data encipherment.
1285         * certlist.c (cert_usage_p): Test for signing and encryption was
1286         swapped.  Add a case for certification usage, handle
1287         non-repudiation and data encipherment.
1288         (gpgsm_cert_use_cert_p): New.
1289         (gpgsm_add_to_certlist): Added a CTRL argument and changed all
1290         callers to pass it.
1291         * certpath.c (gpgsm_validate_path): Use it here to print a status
1292         message. Added a CTRL argument and changed all callers to pass it.
1293         * decrypt.c (gpgsm_decrypt): Print a status message for wrong key
1294         usage.
1295         * verify.c (gpgsm_verify): Ditto.
1296         * keydb.c (classify_user_id): Allow a colon delimited fingerprint.
1297
1298 2002-06-19  Werner Koch  <wk@gnupg.org>
1299
1300         * call-agent.c (learn_cb): Use log_info instead of log_error on
1301         successful import.
1302
1303         * keydb.c (keydb_set_ephemeral): New.
1304         (keydb_store_cert): New are ephemeral, changed all callers.
1305         * keylist.c (list_external_cb): Store cert as ephemeral.
1306         * export.c (gpgsm_export): Kludge to export epehmeral certificates.
1307
1308         * gpgsm.c (main): New command --list-external-keys.
1309         
1310 2002-06-17  Werner Koch  <wk@gnupg.org>
1311
1312         * certreqgen.c (read_parameters): Improved error handling.
1313         (gpgsm_genkey): Print error message.
1314
1315 2002-06-13  Werner Koch  <wk@gnupg.org>
1316
1317         * gpgsm.c (main): New option --log-file.
1318
1319 2002-06-12  Werner Koch  <wk@gnupg.org>
1320
1321         * call-dirmngr.c (lookup_status_cb): New.
1322         (gpgsm_dirmngr_lookup): Use the status CB.  Add new arg CTRL and
1323         changed caller to pass it.
1324
1325         * gpgsm.c (open_fwrite): New.
1326         (main): Allow --output for --verify.
1327
1328         * sign.c (hash_and_copy_data): New.
1329         (gpgsm_sign): Implemented normal (non-detached) signatures.
1330         * gpgsm.c (main): Ditto.
1331         
1332         * certpath.c (gpgsm_validate_path): Special error handling for
1333         no policy match.
1334
1335 2002-06-10  Werner Koch  <wk@gnupg.org>
1336
1337         * server.c (get_status_string): Add STATUS_ERROR.
1338
1339         * certpath.c (gpgsm_validate_path): Tweaked the error checking to 
1340         return error codes in a more sensitive way.
1341         * verify.c (gpgsm_verify): Send status TRUST_NEVER also for a bad
1342         CA certificate and when the certificate has been revoked.  Issue
1343         TRUST_FULLY even when the cert has expired.  Append an error token
1344         to these status lines.  Issue the new generic error status when a
1345         cert was not found and when leaving the function.
1346
1347 2002-06-04  Werner Koch  <wk@gnupg.org>
1348
1349         * gpgsm.c (main): New command --list-sigs
1350         * keylist.c (list_cert_std): New.  Use it whenever colon mode is
1351         not used.
1352         (list_cert_chain): New.
1353
1354 2002-05-31  Werner Koch  <wk@gnupg.org>
1355
1356         * gpgsm.c (main): Don't print the "go ahead" message for an
1357         invalid command.
1358
1359 2002-05-23  Werner Koch  <wk@gnupg.org>
1360
1361         * import.c (gpgsm_import): Add error messages.
1362
1363 2002-05-21  Werner Koch  <wk@gnupg.org>
1364
1365         * keylist.c (list_internal_keys): Renamed from gpgsm_list_keys.
1366         (list_external_keys): New.
1367         (gpgsm_list_keys): Dispatcher for above.
1368         * call-dirmngr.c (lookup_cb,pattern_from_strlist)
1369         (gpgsm_dirmngr_lookup): New.
1370         * server.c (option_handler): Handle new option --list-mode.
1371         (do_listkeys): Handle options and actually use the mode argument.
1372         (get_status_string): New code TRUNCATED.
1373
1374         * import.c (gpgsm_import): Try to identify the type of input and
1375         handle certs-only messages.
1376
1377 2002-05-14  Werner Koch  <wk@gnupg.org>
1378
1379         * gpgsm.c: New option --faked-system-time
1380         * sign.c (gpgsm_sign): And use it here.
1381         * certpath.c (gpgsm_validate_path): Ditto.
1382
1383 2002-05-03  Werner Koch  <wk@gnupg.org>
1384
1385         * certpath.c (gpgsm_validate_path): Added EXPTIME arg and changed
1386         all callers.
1387         * verify.c (gpgsm_verify): Tweaked usage of log_debug and
1388         log_error.  Return EXPSIG status and add expiretime to VALIDSIG.
1389
1390 2002-04-26  Werner Koch  <wk@gnupg.org>
1391
1392         * gpgsm.h (DBG_AGENT,DBG_AGENT_VALUE): Replaced by DBG_ASSUAN_*.
1393         Changed all users.
1394
1395         * call-agent.c (start_agent): Be more silent without -v.
1396         * call-dirmngr.c (start_dirmngr): Ditto.
1397
1398 2002-04-25  Werner Koch  <wk@gnupg.org>
1399
1400         * call-agent.c (start_agent): Make copies of old locales and check
1401         for setlocale.
1402
1403 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
1404
1405         * call-agent.c (start_agent): Fix error handling logic so the
1406         locale is always correctly reset.
1407
1408 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
1409
1410         * server.c (option_handler): Accept display, ttyname, ttytype,
1411         lc_ctype and lc_messages options.
1412         * gpgsm.c (main): Allocate memory for these options.
1413         * gpgsm.h (struct opt): Make corresponding members non-const.
1414
1415 2002-04-24  Marcus Brinkmann  <marcus@g10code.de>
1416
1417         * gpgsm.h (struct opt): New members display, ttyname, ttytype,
1418         lc_ctype, lc_messages.
1419         * gpgsm.c (enum cmd_and_opt_values): New members oDisplay,
1420         oTTYname, oTTYtype, oLCctype, oLCmessages.
1421         (opts): New entries for these options.
1422         (main): Handle these new options.
1423         * call-agent.c (start_agent): Set the various display and tty
1424         parameter after resetting.
1425
1426 2002-04-18  Werner Koch  <wk@gnupg.org>
1427
1428         * certreqgen.c (gpgsm_genkey): Write status output on success.
1429
1430 2002-04-15  Werner Koch  <wk@gnupg.org>
1431
1432         * gpgsm.c (main): Check ksba version.
1433
1434         * certpath.c (find_up): New to use the authorithKeyIdentifier.
1435         Use it in all other functions to locate the signing cert..
1436
1437 2002-04-11  Werner Koch  <wk@gnupg.org>
1438
1439         * certlist.c (cert_usable_p): New.
1440         (gpgsm_cert_use_sign_p,gpgsm_cert_use_encrypt_p): New.
1441         (gpgsm_cert_use_verify_p,gpgsm_cert_use_decrypt_p): New.
1442         (gpgsm_add_to_certlist): Check the key usage.
1443         * sign.c (gpgsm_sign): Ditto.
1444         * verify.c (gpgsm_verify): Print a message wehn an unsuitable
1445         certificate was used.
1446         * decrypt.c (gpgsm_decrypt): Ditto
1447         * keylist.c (print_capabilities): Determine values from the cert.
1448
1449 2002-03-28  Werner Koch  <wk@gnupg.org>
1450
1451         * keylist.c (list_cert_colon): Fixed listing of crt record; the
1452         issuer is not at the right place.  Print a chainingID.
1453         * certpath.c (gpgsm_walk_cert_chain): Be a bit more silent on
1454         common errors.
1455
1456 2002-03-21  Werner Koch  <wk@gnupg.org>
1457
1458         * export.c: New.
1459         * gpgsm.c: Add command --export.
1460         * server.c (cmd_export): New.
1461         
1462 2002-03-13  Werner Koch  <wk@gnupg.org>
1463
1464         * decrypt.c (gpgsm_decrypt): Allow multiple recipients.
1465
1466 2002-03-12  Werner Koch  <wk@gnupg.org>
1467
1468         * certpath.c (check_cert_policy): Print the policy list.
1469
1470         * verify.c (gpgsm_verify): Detect certs-only message.
1471
1472 2002-03-11  Werner Koch  <wk@gnupg.org>
1473
1474         * import.c (gpgsm_import): Print a notice about imported certificates
1475         when in verbose mode.
1476
1477         * gpgsm.c (main): Print INV_RECP status.
1478         * server.c (cmd_recipient): Ditto.
1479
1480         * server.c (gpgsm_status2): New.  Allows for a list of strings.
1481         (gpgsm_status): Divert to gpgsm_status2.
1482
1483         * encrypt.c (gpgsm_encrypt): Don't use a default key when no
1484         recipients are given.  Print a NO_RECP status.
1485
1486 2002-03-06  Werner Koch  <wk@gnupg.org>
1487
1488         * server.c (cmd_listkeys, cmd_listsecretkeys): Divert to
1489         (do_listkeys): new.  Add pattern parsing.
1490
1491         * keylist.c (gpgsm_list_keys): Handle selection pattern.
1492
1493         * gpgsm.c: New command --learn-card
1494         * call-agent.c (learn_cb,gpgsm_agent_learn): New.
1495
1496         * gpgsm.c (main): Print error messages for non-implemented commands.
1497
1498         * base64.c (base64_reader_cb): Use case insensitive compare of the
1499         Content-Type string to detect plain base-64.
1500
1501 2002-03-05  Werner Koch  <wk@gnupg.org>
1502
1503         * gpgsm.c, gpgsm.h: Add local_user.
1504         * sign.c (gpgsm_get_default_cert): New.
1505         (get_default_signer): Use the new function if local_user is not
1506         set otherwise used that value.
1507         * encrypt.c (get_default_recipient): Removed.
1508         (gpgsm_encrypt): Use gpgsm_get_default_cert.
1509
1510         * verify.c (gpgsm_verify): Better error text for a bad signature
1511         found by comparing the hashs.
1512
1513 2002-02-27  Werner Koch  <wk@gnupg.org>
1514
1515         * call-dirmngr.c, call-agent.c: Add 2 more arguments to all uses
1516         of assuan_transact.
1517
1518 2002-02-25  Werner Koch  <wk@gnupg.org>
1519
1520         * server.c (option_handler): Allow to use -2 for "send all certs
1521         except the root cert".
1522         * sign.c (add_certificate_list): Implement it here.
1523         * certpath.c (gpgsm_is_root_cert): New.
1524
1525 2002-02-19  Werner Koch  <wk@gnupg.org>
1526
1527         * certpath.c (check_cert_policy): New.
1528         (gpgsm_validate_path): And call it from here.
1529         * gpgsm.c (main): New options --policy-file,
1530         --disable-policy-checks and --enable-policy-checks.
1531         * gpgsm.h (opt): Added policy_file, no_policy_checks.
1532
1533 2002-02-18  Werner Koch  <wk@gnupg.org>
1534
1535         * certpath.c (gpgsm_validate_path): Ask the agent to add the
1536         certificate into the trusted list.
1537         * call-agent.c (gpgsm_agent_marktrusted): New.
1538
1539 2002-02-07  Werner Koch  <wk@gnupg.org>
1540
1541         * certlist.c (gpgsm_add_to_certlist): Check that the specified
1542         name identifies a certificate unambiguously.
1543         (gpgsm_find_cert): Ditto.
1544
1545         * server.c (cmd_listkeys): Check that the data stream is available.
1546         (cmd_listsecretkeys): Ditto.
1547         (has_option): New.
1548         (cmd_sign): Fix ambiguousity in option recognition.
1549
1550         * gpgsm.c (main): Enable --logger-fd.
1551
1552         * encrypt.c (gpgsm_encrypt): Increased buffer size for better
1553         performance.
1554
1555         * call-agent.c (gpgsm_agent_pksign): Check the S-Exp received from
1556         the agent.
1557
1558         * keylist.c (list_cert_colon): Filter out control characters.
1559
1560 2002-02-06  Werner Koch  <wk@gnupg.org>
1561
1562         * decrypt.c (gpgsm_decrypt): Bail out after an decryption error.
1563
1564         * server.c (reset_notify): Close input and output FDs.
1565         (cmd_encrypt,cmd_decrypt,cmd_verify,cmd_sign.cmd_import)
1566         (cmd_genkey): Close the FDs and release the recipient list even in
1567         the error case.
1568
1569 2002-02-01  Marcus Brinkmann  <marcus@g10code.de>
1570
1571         * sign.c (gpgsm_sign): Do not release certificate twice.
1572
1573 2002-01-29  Werner Koch  <wk@gnupg.org>
1574
1575         * call-agent.c (gpgsm_agent_havekey): New.
1576         * keylist.c (list_cert_colon): New arg HAVE_SECRET, print "crs"
1577         when we know that the secret key is available.
1578         (gpgsm_list_keys): New arg MODE, check whether a secret key is
1579         available.  Changed all callers.
1580         * gpgsm.c (main): New command --list-secret-keys.
1581         * server.c (cmd_listsecretkeys): New.
1582         (cmd_listkeys): Return secret keys with "crs" record.
1583
1584 2002-01-28  Werner Koch  <wk@gnupg.org>
1585
1586         * certreqgen.c (create_request): Store the email address in the req.
1587
1588 2002-01-25  Werner Koch  <wk@gnupg.org>
1589
1590         * gpgsm.c (main): Disable core dumps.
1591
1592         * sign.c (add_certificate_list): New.
1593         (gpgsm_sign): Add the certificates to the CMS object.
1594         * certpath.c (gpgsm_walk_cert_chain): New.
1595         * gpgsm.h (server_control_s): Add included_certs.
1596         * gpgsm.c: Add option --include-certs.
1597         (gpgsm_init_default_ctrl): New.
1598         (main): Call it.
1599         * server.c (gpgsm_server): Ditto.
1600         (option_handler): Support --include-certs.
1601
1602 2002-01-23  Werner Koch  <wk@gnupg.org>
1603
1604         * certpath.c (gpgsm_validate_path): Print the DN of a missing issuer.
1605         * certdump.c (gpgsm_dump_string): New.
1606         (print_dn): Replaced by above.
1607
1608 2002-01-22  Werner Koch  <wk@gnupg.org>
1609
1610         * certpath.c (unknown_criticals): New.
1611         (allowed_ca): New.
1612         (gpgsm_validate_path): Check validity, CA attribute, path length
1613         and unknown critical extensions.
1614
1615 2002-01-21  Werner Koch  <wk@gnupg.org>
1616
1617         * gpgsm.c: Add option --enable-crl-checks.
1618
1619         * call-agent.c (start_agent): Implemented socket based access.
1620         * call-dirmngr.c (start_dirmngr): Ditto.
1621
1622 2002-01-20  Werner Koch  <wk@gnupg.org>
1623
1624         * server.c (option_handler): New.
1625         (gpgsm_server): Register it with assuan.
1626
1627 2002-01-19  Werner Koch  <wk@gnupg.org>
1628
1629         * server.c (gpgsm_server): Use assuan_deinit_server and setup
1630         assuan logging if enabled.
1631         * call-agent.c (inq_ciphertext_cb): Don't show the session key in
1632         an Assuan log file.
1633
1634         * gpgsm.c (my_strusage): Take bugreport address from configure.ac
1635
1636 2002-01-15  Werner Koch  <wk@gnupg.org>
1637
1638         * import.c (gpgsm_import): Just do a basic cert check before
1639         storing it.
1640         * certpath.c (gpgsm_basic_cert_check): New.
1641
1642         * keydb.c (keydb_store_cert): New.
1643         * import.c (store_cert): Removed and change all caller to use
1644         the new function.
1645         * verify.c (store_cert): Ditto.
1646
1647         * certlist.c (gpgsm_add_to_certlist): Validate the path
1648
1649         * certpath.c (gpgsm_validate_path): Check the trust list.
1650         * call-agent.c (gpgsm_agent_istrusted): New.
1651
1652 2002-01-14  Werner Koch  <wk@gnupg.org>
1653
1654         * call-dirmngr.c (inq_certificate): Changed for new interface semantic.
1655         * certlist.c (gpgsm_find_cert): New.
1656
1657 2002-01-13  Werner Koch  <wk@gnupg.org>
1658
1659         * fingerprint.c (gpgsm_get_certid): Print the serial and not the
1660         hash after the dot.
1661
1662 2002-01-11  Werner Koch  <wk@gnupg.org>
1663
1664         * call-dirmngr.c: New.
1665         * certpath.c (gpgsm_validate_path): Check the CRL here.
1666         * fingerprint.c (gpgsm_get_certid): New.
1667         * gpgsm.c: New options --dirmngr-program and --disable-crl-checks.
1668
1669 2002-01-10  Werner Koch  <wk@gnupg.org>
1670
1671         * base64.c (gpgsm_create_writer): Allow to set the object name
1672
1673 2002-01-08  Werner Koch  <wk@gnupg.org>
1674
1675         * keydb.c (spacep): Removed because it is now in util.c
1676
1677         * server.c (cmd_genkey): New.
1678         * certreqgen.c: New.  The parameter handling code has been taken
1679         from gnupg/g10/keygen.c version 1.0.6.
1680         * call-agent.c (gpgsm_agent_genkey): New.
1681
1682 2002-01-02  Werner Koch  <wk@gnupg.org>
1683
1684         * server.c (rc_to_assuan_status): Removed and changed all callers
1685         to use map_to_assuan_status.
1686
1687 2001-12-20  Werner Koch  <wk@gnupg.org>
1688
1689         * verify.c (gpgsm_verify): Implemented non-detached signature
1690         verification.  Add OUT_FP arg, initialize a writer and changed all
1691         callers.
1692         * server.c (cmd_verify): Pass an out_fp if one has been set.
1693
1694         * base64.c (base64_reader_cb): Try to detect an S/MIME body part.
1695
1696         * certdump.c (print_sexp): Renamed to gpgsm_dump_serial, made
1697         global.
1698         (print_time): Renamed to gpgsm_dump_time, made global.
1699         (gpgsm_dump_serial): Take a real S-Expression as argument and
1700         print the first item.
1701         * keylist.c (list_cert_colon): Ditto.
1702         * keydb.c (keydb_search_issuer_sn): Ditto.
1703         * decrypt.c (print_integer_sexp): Removed and made callers 
1704         use gpgsm_dump_serial.
1705         * verify.c (print_time): Removed, made callers use gpgsm_dump_time.
1706         
1707 2001-12-19  Marcus Brinkmann  <marcus@g10code.de>
1708
1709         * call-agent.c (start_agent): Add new argument to assuan_pipe_connect.
1710
1711 2001-12-18  Werner Koch  <wk@gnupg.org>
1712
1713         * verify.c (print_integer_sexp): Renamed from print_integer and
1714         print the serial number according to the S-Exp rules.
1715         * decrypt.c (print_integer_sexp): Ditto.
1716
1717 2001-12-17  Werner Koch  <wk@gnupg.org>
1718
1719         * keylist.c (list_cert_colon): Changed for new return value of
1720         get_serial.
1721         * keydb.c (keydb_search_issuer_sn): Ditto.
1722         * certcheck.c (gpgsm_check_cert_sig): Likewise for other S-Exp
1723         returingin functions.
1724         * fingerprint.c (gpgsm_get_keygrip): Ditto.
1725         * encrypt.c (encrypt_dek): Ditto
1726         * certcheck.c (gpgsm_check_cms_signature): Ditto
1727         * decrypt.c (prepare_decryption): Ditto.
1728         * call-agent.c (gpgsm_agent_pkdecrypt): Removed arg ciphertextlen,
1729         use KsbaSexp type and calculate the length.
1730
1731         * certdump.c (print_sexp): Remaned from print_integer, changed caller.
1732
1733         * Makefile.am: Use the LIBGCRYPT and LIBKSBA variables.
1734
1735         * fingerprint.c (gpgsm_get_keygrip): Use the new
1736         gcry_pk_get_keygrip to calculate the grip - note the algorithm and
1737         therefore the grip values changed.
1738
1739 2001-12-15  Werner Koch  <wk@gnupg.org>
1740
1741         * certcheck.c (gpgsm_check_cms_signature): Removed the faked-key
1742         kludge.
1743         (gpgsm_create_cms_signature): Removed the commented fake key
1744         code.  This makes the function pretty simple.
1745
1746         * gpgsm.c (main): Renamed the default key database to "keyring.kbx".
1747
1748         * decrypt.c (gpgsm_decrypt): Write STATUS_DECRYPTION_*.
1749         * sign.c (gpgsm_sign): Write a STATUS_SIG_CREATED.
1750
1751 2001-12-14  Werner Koch  <wk@gnupg.org>
1752
1753         * keylist.c (list_cert_colon): Kludge to show an email address
1754         encoded in the subject's DN.
1755
1756         * verify.c (gpgsm_verify): Add hash debug helpers
1757         * sign.c (gpgsm_sign): Ditto.
1758
1759         * base64.c (base64_reader_cb): Reset the linelen when we need to
1760         skip the line and adjusted test; I somehow forgot about DeMorgan.
1761
1762         * server.c (cmd_encrypt,cmd_decrypt,cmd_sign,cmd_verify) 
1763         (cmd_import): Close the FDs on success.
1764         (close_message_fd): New.
1765         (input_notify): Setting autodetect_encoding to 0 after initializing
1766         it to 0 is pretty pointless.  Easy to fix.
1767
1768         * gpgsm.c (main): New option --debug-wait n, so that it is
1769         possible to attach gdb when used in server mode.
1770
1771         * sign.c (get_default_signer): Use keydb_classify_name here.
1772
1773 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
1774
1775         * call-agent.c (LINELENGTH): Removed.
1776         (gpgsm_agent_pksign): Use ASSUAN_LINELENGTH, not LINELENGTH.
1777         (gpgsm_agent_pkdecrypt): Likewise.
1778
1779 2001-12-13  Werner Koch  <wk@gnupg.org>
1780
1781         * keylist.c (list_cert_colon): Print alternative names of subject
1782         and a few other values.
1783
1784 2001-12-12  Werner Koch  <wk@gnupg.org>
1785
1786         * gpgsm.c (main): New options --assume-{armor,base64,binary}. 
1787         * base64.c (base64_reader_cb): Fixed non-autodetection mode.
1788
1789 2001-12-04  Werner Koch  <wk@gnupg.org>
1790
1791         * call-agent.c (read_from_agent): Check for inquire responses.
1792         (request_reply): Handle them using a new callback arg, changed all
1793         callers.
1794         (gpgsm_agent_pkdecrypt): New.
1795
1796 2001-11-27  Werner Koch  <wk@gnupg.org>
1797
1798         * base64.c: New.  Changed all other functions to use this instead
1799         of direct creation of ksba_reader/writer.
1800         * gpgsm.c (main): Set ctrl.auto_encoding unless --no-armor is used.
1801
1802 2001-11-26  Werner Koch  <wk@gnupg.org>
1803
1804         * gpgsm.c: New option --agent-program
1805         * call-agent.c (start_agent): Allow to override the default path
1806         to the agent.
1807
1808         * keydb.c (keydb_add_resource): Create keybox
1809
1810         * keylist.c (gpgsm_list_keys): Fixed non-server keylisting.
1811
1812         * server.c (rc_to_assuan_status): New.  Use it for all commands.
1813
1814         
1815  Copyright 2001, 2002, 2003, 2004, 2005,
1816            2006 Free Software Foundation, Inc.
1817
1818  This file is free software; as a special exception the author gives
1819  unlimited permission to copy and/or distribute it, with or without
1820  modifications, as long as this notice is preserved.
1821
1822  This file is distributed in the hope that it will be useful, but
1823  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1824  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.