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