Various changes
[gnupg.git] / sm / ChangeLog
index a8a8f3f..74c5c43 100644 (file)
@@ -1,3 +1,684 @@
+2006-10-06  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (AM_CFLAGS): Use PTH version of libassuan.
+       (gpgsm_LDADD): Ditto.
+
+2006-10-05  Werner Koch  <wk@g10code.com>
+
+       * certcheck.c (do_encode_md): Check that the has algo is valid.
+
+2006-10-02  Marcus Brinkmann  <marcus@g10code.de>
+
+       * server.c (register_commands): New commands DUMPKEYS and
+       DUMPSECRETKEYS.
+       (cmd_dumpkeys, cmd_dumpsecretkeys): New functions.
+       (option_handler): Support with-key-data option.
+
+2006-09-26  Werner Koch  <wk@g10code.com>
+
+       * certchain.c (gpgsm_validate_chain): More changes for the relax
+       feature.  Use certificate reference counting instead of the old
+       explicit tests. Added a missing free. 
+
+2006-09-25  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.h (struct rootca_flags_s): New.
+       * call-agent.c (istrusted_status_cb): New.
+       (gpgsm_agent_istrusted): New arg ROOTCA_FLAGS.
+       * keylist.c (list_cert_colon): Use dummy for new arg.
+       * certchain.c (gpgsm_validate_chain): Make use of the relax flag
+       for root certificates.
+       (unknown_criticals): Ignore a GPG_ERR_NO_VALUE.
+
+2006-09-20  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c: Add alias command --dump-cert.
+
+       * Makefile.am:  Changes to allow parallel make runs.
+
+2006-09-18  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c (main): Use this to import standard certificates.
+       * keydb.c (keydb_add_resource): New arg AUTO_CREATED.
+
+2006-09-14  Werner Koch  <wk@g10code.com>
+
+       Replaced all call gpg_error_from_errno(errno) by
+       gpg_error_from_syserror().
+
+2006-09-13  Werner Koch  <wk@g10code.com>
+
+       * keylist.c (list_internal_keys): Print marker line to FP and not
+       to stdout.
+
+       * gpgsm.c (main): All list key list commands now make ose of
+       --output. Cleaned up calls to list modes.  New command
+       --dump-chain.  Renamed --list-sigs to --list-chain and added an
+       alias for the old one.
+
+       * server.c (cmd_message): Changed to use assuan_command_parse_fd.
+       (option_handler): New option list-to-output.
+       (do_listkeys): Use it.
+
+2006-09-06  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.h (OUT_OF_CORE): Removed and changed all callers to
+       out_of_core.
+       (CTRL): Removed and changed everywhere to ctrl_t.
+       (CERTLIST): Ditto.
+
+       Replaced all Assuan error codes by libgpg-error codes.  Removed
+       all map_to_assuan_status and map_assuan_err.
+       
+       * gpgsm.c (main): Call assuan_set_assuan_err_source to have Assuan
+       switch to gpg-error codes.  
+       * server.c (set_error): Adjusted.
+
+2006-08-29  Werner Koch  <wk@g10code.com>
+
+       * call-agent.c (gpgsm_agent_pkdecrypt): Allow decryption using
+       complete S-expressions as implemented by the current gpg-agent.
+
+       * gpgsm.c (main): Implement --output for encrypt, decrypt, sign
+       and export.
+
+2006-07-03  Werner Koch  <wk@g10code.com>
+
+       * certreqgen.c (proc_parameters): Print the component label of a
+       faulty DN.
+
+2006-06-26  Werner Koch  <wk@g10code.com>
+
+       * certdump.c (gpgsm_cert_log_name): New.
+       * certchain.c (is_cert_still_valid): Log the name of the certificate.
+
+2006-06-20  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c (gpgsm_init_default_ctrl): Take care of the command line
+       option --include-certs.
+
+       * keylist.c (list_cert_raw): Print the certid.
+
+2006-05-23  Werner Koch  <wk@g10code.com>
+
+       * keydb.c (hextobyte): Deleted as it is now defined in jnlib.
+
+       * Makefile.am (gpgsm_LDADD): Include ZLIBS.
+
+2006-05-19  Marcus Brinkmann  <marcus@g10code.de>
+
+       * keydb.c (keydb_insert_cert): Do not lock here, but only check if
+       it is locked.
+       (keydb_store_cert): Lock here.
+
+       * keydb.h (keydb_delete): Accept new argument UNLOCK.
+       * keydb.c (keydb_delete): Likewise.  Only unlock if this is set.
+       * delete.c (delete_one): Add new argument to invocation of
+       keydb_delete.
+       
+2006-05-15  Werner Koch  <wk@g10code.com>
+
+       * keylist.c (print_names_raw): Sanitize URI.
+
+2006-03-21  Werner Koch  <wk@g10code.com>
+
+       * certchain.c (get_regtp_ca_info): New.
+       (allowed_ca): Use it.
+
+2006-03-20  Werner Koch  <wk@g10code.com>
+
+       * qualified.c (gpgsm_is_in_qualified_list): New optional arg COUNTRY.
+
+2006-02-17  Werner Koch  <wk@g10code.com>
+
+       * call-dirmngr.c (start_dirmngr): Print name of dirmngr to be started.
+
+2005-11-23  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.h: New member QUALSIG_APPROVAL.
+       * sign.c (gpgsm_sign): Print a warning if a certificate is not
+       qualified.
+       * qualified.c (gpgsm_qualified_consent): Include a note that this
+       is not approved software.
+       (gpgsm_not_qualified_warning): New.
+       * gpgsm.c (main): Prepared to print a note whether the software
+       has been approved.
+
+2005-11-13  Werner Koch  <wk@g10code.com>
+
+       * call-agent.c (gpgsm_agent_get_confirmation): New.
+
+       * keylist.c (list_cert_std): Print qualified status.
+       * qualified.c: New.
+       * certchain.c (gpgsm_validate_chain): Check for qualified
+       certificates.
+
+       * certchain.c (gpgsm_basic_cert_check): Release keydb handle when
+       no-chain-validation is used.
+
+2005-11-11  Werner Koch  <wk@g10code.com>
+
+       * keylist.c (print_capabilities): Print is_qualified status.
+
+2005-10-28  Werner Koch  <wk@g10code.com>
+
+       * certdump.c (pretty_print_sexp): New.
+       (gpgsm_print_name2): Use it here.  This allows proper printing of
+       DNS names as used with server certificates.
+
+2005-10-10  Werner Koch  <wk@g10code.com>
+
+       * keylist.c: Add pkaAdress OID as reference.
+
+2005-10-08  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Makefile.am (gpgsm_LDADD): Add ../gl/libgnu.a after
+       ../common/libcommon.a.
+
+2005-09-13  Werner Koch  <wk@g10code.com>
+
+       * verify.c (gpgsm_verify): Print a note if the unknown algorithm
+       is MD2.
+       * sign.c (gpgsm_sign): Ditto.
+       * certcheck.c (gpgsm_check_cert_sig): Ditto.
+
+2005-09-08  Werner Koch  <wk@g10code.com>
+
+       * export.c (popen_protect_tool): Add option --have-cert.  We
+       probably lost this option with 1.9.14 due to restructuring of
+       export.c.
+
+2005-07-21  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c (main): New options --no-log-file and --debug-none.
+
+       * certreqgen.c (get_parameter, get_parameter_value): Add SEQ arg
+       to allow enumeration.  Changed all callers.
+       (create_request): Process DNS and URI parameters.
+
+2005-07-20  Werner Koch  <wk@g10code.com>
+
+       * keylist.c (email_kludge): Reworked.
+
+       * certdump.c (gpgsm_print_serial, gpgsm_dump_serial): Cast printf
+       arg to unsigned.
+       * call-dirmngr.c (gpgsm_dirmngr_run_command): Ditto
+
+2005-07-19  Werner Koch  <wk@g10code.com>
+
+       * fingerprint.c (gpgsm_get_certid): Cast printf arg to unsigned.
+       Bug accidently introduced while solving the #$%^& gcc
+       signed/unsigned char* warnings.
+
+2005-06-15  Werner Koch  <wk@g10code.com>
+
+       * delete.c (delete_one): Changed FPR to unsigned.
+       * encrypt.c (encrypt_dek): Made ENCVAL unsigned.
+       (gpgsm_encrypt): Ditto.
+       * sign.c (gpgsm_sign): Made SIGVAL unsigned.
+       * base64.c (base64_reader_cb): Need to use some casting to get
+       around signed/unsigned char* warnings.
+       * certcheck.c (gpgsm_check_cms_signature): Ditto.
+       (gpgsm_create_cms_signature): Changed arg R_SIGVAL to unsigned char*.
+       (do_encode_md): Made NFRAME a size_t.
+       * certdump.c (gpgsm_print_serial): Fixed signed/unsigned warning.
+       (gpgsm_dump_serial): Ditto.
+       (gpgsm_format_serial): Ditto.
+       (gpgsm_dump_string): Ditto.
+       (gpgsm_dump_cert): Ditto.
+       (parse_dn_part): Ditto.
+       (gpgsm_print_name2): Ditto.
+       * keylist.c (email_kludge): Ditto.
+       * certreqgen.c (proc_parameters, create_request): Ditto.
+       (create_request): Ditto.
+       * call-agent.c (gpgsm_agent_pksign): Made arg R_BUF unsigned.
+       (struct cipher_parm_s): Made CIPHERTEXT unsigned.
+       (struct genkey_parm_s): Ditto.
+       * server.c (strcpy_escaped_plus): Made arg S signed char*.
+       * fingerprint.c (gpgsm_get_fingerprint): Made ARRAY unsigned.
+       (gpgsm_get_keygrip): Ditto.
+       * keydb.c (keydb_insert_cert): Made DIGEST unsigned.
+       (keydb_update_cert): Ditto.
+       (classify_user_id): Apply cast to signed/unsigned assignment.
+       (hextobyte): Ditto.
+
+2005-06-01  Werner Koch  <wk@g10code.com>
+
+       * misc.c: Include setenv.h.
+
+2005-04-21  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c: New options --{enable,disable}-trusted-cert-crl-check.
+       * certchain.c (gpgsm_validate_chain): Make use of it.
+
+       * certchain.c (gpgsm_validate_chain): Check revocations even for
+       expired certificates.  This is required because on signature
+       verification an expired key is fine whereas a revoked one is not.
+
+2005-04-20  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (AM_CFLAGS): Add PTH_CFLAGS as noted by several folks.
+
+2005-04-19  Werner Koch  <wk@g10code.com>
+
+       * certchain.c (check_cert_policy): Print the diagnostic for a open
+       failure of policies.txt only in verbose mode or when it is not
+       ENOENT.
+
+2005-04-17  Werner Koch  <wk@g10code.com>
+
+       * call-dirmngr.c (inq_certificate): Add new inquire SENDCERT_SKI.
+       * certlist.c (gpgsm_find_cert): Add new arg KEYID and implement
+       this filter.  Changed all callers.
+
+       * certchain.c (find_up_search_by_keyid): New helper.
+       (find_up): Also try using the AKI.keyIdentifier.
+       (find_up_external): Ditto.
+
+2005-04-15  Werner Koch  <wk@g10code.com>
+
+       * keylist.c (list_cert_raw): Print the subjectKeyIdentifier as
+       well as the keyIdentifier part of the authorityKeyIdentifier.
+
+2005-03-31  Werner Koch  <wk@g10code.com>
+
+       * call-dirmngr.c (start_dirmngr): Use PATHSEP_C instead of ':'.
+       * call-agent.c (start_agent): Ditto.
+
+2005-03-17  Werner Koch  <wk@g10code.com>
+
+       * certcheck.c: Fixed use of DBG_CRYPTO and DBG_X509.
+
+       * certchain.c (gpgsm_basic_cert_check): Dump certificates after a
+       failed gcry_pk_verify.
+       (find_up): Do an external lookup also for an authorityKeyIdentifier
+       lookup. Factored external lookup code out to ..
+       (find_up_external): .. new.
+
+2005-03-03  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (gpgsm_LDADD): Added PTH_LIBS.  Noted by Kazu Yamamoto.
+
+2005-01-13  Werner Koch  <wk@g10code.com>
+
+       * certreqgen.c (proc_parameters): Cast printf arg.
+
+2004-12-22  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c (set_binary): New.
+       (main, open_read, open_fwrite): Use it.
+
+2004-12-21  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c (main): Use default_homedir().
+       (main) [W32]: Default to disabled CRL checks.
+
+2004-12-20  Werner Koch  <wk@g10code.com>
+
+       * call-agent.c (start_agent): Before starting a pipe server start
+       to connect to a server on the standard socket.  Use PATHSEP
+       * call-dirmngr.c (start_dirmngr): Use PATHSEP.
+
+       * import.c: Include unistd.h for dup and close.
+
+2004-12-18  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.h (map_assuan_err): Define in terms of
+       map_assuan_err_with_source.
+       * call-agent.c (start_agent): Pass error source to
+       send_pinentry_environment.
+
+2004-12-17  Werner Koch  <wk@g10code.com>
+
+       * call-dirmngr.c (isvalid_status_cb, lookup_status_cb)
+       (run_command_status_cb): Return cancel status if gpgsm_status
+       returned an error.
+
+       * server.c (gpgsm_status, gpgsm_status2) 
+       (gpgsm_status_with_err_code): Return an error code.
+       (gpgsm_status2): Always call va_end().
+
+2004-12-15  Werner Koch  <wk@g10code.com>
+
+       * call-dirmngr.c (lookup_status_cb): Send progress messages
+       upstream.
+       (isvalid_status_cb): Ditto.
+       (gpgsm_dirmngr_isvalid): Put CTRL into status CB parameters.
+       (gpgsm_dirmngr_run_command, run_command_status_cb): Pass CTRL to
+       status callback and handle PROGRESS.
+
+       * misc.c (setup_pinentry_env) [W32]: Don't use it.
+
+       * gpgsm.c (main) [W32]: Init Pth because we need it for the socket
+       operations and to resolve libassuan symbols.
+       (run_protect_tool) [W32]: Disable it.
+
+       * Makefile.am (gpgsm_LDADD): Move LIBASSUAN_LIBS more to the end.
+
+2004-12-07  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (gpgsm_LDADD): Put libassuan before jnlib because
+       under W32 we need the w32 pth code from jnlib.
+
+       * misc.c (setup_pinentry_env) [W32]: Disabled.
+
+2004-12-06  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c (run_protect_tool) [_WIN32]: Disabled.
+
+       * import.c (popen_protect_tool): Simplified by making use of
+       gnupg_spawn_process.
+       (parse_p12): Likewise, using gnupg_wait_process.
+       * export.c (popen_protect_tool): Ditto.
+       (export_p12): Ditto.
+
+       * keydb.c: Don't define DIRSEP_S here.
+
+2004-12-02  Werner Koch  <wk@g10code.com>
+
+       * certchain.c (gpgsm_basic_cert_check): Dump certs with bad
+       signature for debugging.
+       (gpgsm_validate_chain): Ditto.
+
+2004-11-29  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c (set_debug): Changed to use a globals DEBUG_LEVEL and
+       DEBUG_VALUE.
+       (main): Made DEBUG_LEVEL global and introduced DEBUG_VALUE.  This
+       now allows to add debug flags on top of a debug-level setting.
+
+2004-11-23  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c: New option --prefer-system-dirmngr.
+       * call-dirmngr.c (start_dirmngr): Implement this option.
+
+2004-10-22  Werner Koch  <wk@g10code.com>
+
+       * certreqgen.c (gpgsm_genkey): Remove the NEW from the certificate
+       request PEM header.  This is according to the Sphinx standard.
+
+2004-10-08  Moritz Schulte  <moritz@g10code.com>
+
+       * certchain.c (gpgsm_validate_chain): Do not use keydb_new() in
+       case the no_chain_validation-return-short-cut is used (fixes
+       memory leak).
+
+2004-10-04  Werner Koch  <wk@g10code.com>
+
+       * misc.c (setup_pinentry_env): Try hard to set a default for GPG_TTY.
+
+2004-09-30  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c (i18n_init): Always use LC_ALL.
+
+       * certdump.c (gpgsm_format_name): Factored code out to ..
+       (gpgsm_format_name2): .. new.
+       (gpgsm_print_name): Factored code out to ..
+       (gpgsm_print_name2): .. new.
+       (print_dn_part): New arg TRANSLATE.  Changed all callers.
+       (print_dn_parts): Ditto.
+       (gpgsm_format_keydesc): Do not translate the SUBJECT; we require
+       it to stay UTF-8 but we still want to filter out bad control
+       characters.
+
+       * Makefile.am: Adjusted for gettext 0.14.
+
+       * keylist.c (list_cert_colon): Make sure that the expired flag has
+       a higher precedence than the invalid flag. 
+
+2004-09-29  Werner Koch  <wk@g10code.com>
+
+       * import.c (parse_p12): Write an error status line for bad
+       passphrases. Add new arg CTRL and changed caller.
+       * export.c (export_p12): Likewise.
+
+2004-09-14  Werner Koch  <wk@g10code.com>
+
+       * certchain.c (gpgsm_validate_chain): Give expired certificates a
+       higher error precedence and don't bother to check any CRL in that
+       case.
+
+2004-08-24  Werner Koch  <wk@g10code.de>
+
+       * certlist.c: Fixed typo in ocsp OID.
+
+2004-08-18  Werner Koch  <wk@g10code.de>
+
+       * certlist.c (gpgsm_cert_use_ocsp_p): New.
+       (cert_usage_p): Support it here.
+       * call-dirmngr.c (gpgsm_dirmngr_isvalid): Use it here.
+
+2004-08-17  Marcus Brinkmann  <marcus@g10code.de>
+
+       * import.c: Fix typo in last change.
+
+2004-08-17  Werner Koch  <wk@g10code.de>
+
+       * import.c (check_and_store): Do a full validation if
+       --with-validation is set.
+
+       * certchain.c (gpgsm_basic_cert_check): Print more detailed error
+       messages.
+       
+       * certcheck.c (do_encode_md): Partly support DSA.  Add new arg
+       PKALGO. Changed all callers to pass it.
+       (pk_algo_from_sexp): New.
+
+2004-08-16  Werner Koch  <wk@g10code.de>
+
+       * gpgsm.c: New option --fixed-passphrase.
+       * import.c (popen_protect_tool): Pass it to the protect-tool.
+
+       * server.c (cmd_encrypt): Use DEFAULT_RECPLIST and not recplist
+       for encrypt-to keys.
+
+2004-08-06  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c: New option --with-ephemeral-keys.
+       * keylist.c (list_internal_keys): Set it here.
+       (list_cert_raw): And indicate those keys.  Changed all our callers
+       to pass the new arg HD through.
+
+2004-07-23  Werner Koch  <wk@g10code.de>
+
+       * certreqgen.c (proc_parameters): Do not allow key length below
+       1024.
+
+2004-07-22  Werner Koch  <wk@g10code.de>
+
+       * keylist.c (list_cert_raw): Print the keygrip.
+
+2004-07-20  Werner Koch  <wk@gnupg.org>
+
+       * certchain.c (gpgsm_validate_chain): The trust check didn't
+       worked anymore, probably due to the changes at 2003-03-04.  Fixed.
+
+2004-06-06  Werner Koch  <wk@gnupg.org>
+
+       * certreqgen.c (get_parameter_uint, create_request): Create
+       an extension for key usage when requested. 
+
+2004-05-12  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c (main): Install emergency_cleanup also as an atexit
+       handler.
+
+       * verify.c (gpgsm_verify): Removed the separate error code
+       handling for KSBA.  We use shared error codes anyway.
+
+       * export.c (export_p12): Removed debugging code.
+
+       * encrypt.c (gpgsm_encrypt): Put the session key in to secure memory.
+
+2004-05-11  Werner Koch  <wk@gnupg.org>
+
+       * sign.c (gpgsm_sign): Include the error source in the final error
+       message.
+       * decrypt.c (gpgsm_decrypt): Ditto.
+
+       * fingerprint.c (gpgsm_get_key_algo_info): New.
+       * sign.c (gpgsm_sign): Don't assume RSA in the status line.
+       * keylist.c (list_cert_colon): Really print the algorithm and key
+       length.
+       (list_cert_raw, list_cert_std): Ditto.
+       (list_cert_colon): Reorganized to be able to tell whether a root
+       certificate is trusted.
+
+       * gpgsm.c: New option --debug-allow-core-dump.
+
+       * gpgsm.h (opt): Add member CONFIG_FILENAME.
+       * gpgsm.c (main): Use it here instead of the local var.
+
+       * server.c (gpgsm_server): Print some additional information with
+       the hello in verbose mode.
+
+2004-04-30  Werner Koch  <wk@gnupg.org>
+
+       * import.c (check_and_store): Do not update the stats for hidden
+       imports of issuer certs.
+       (popen_protect_tool): Request statusmessages from the protect-tool.
+       (parse_p12): Detect status messages. Add new arg STATS and update them.
+       (print_imported_summary): Include secret key stats.
+
+2004-04-28  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c: New command --keydb-clear-some-cert-flags.
+       * keydb.c (keydb_clear_some_cert_flags): New.
+       (keydb_update_keyblock, keydb_set_flags): Change error code
+       CONFLICT to NOT_LOCKED.
+
+2004-04-26  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c (main) <gpgconf>: Do not use /dev/null as default config
+       filename.
+
+       * call-agent.c (gpgsm_agent_pksign, gpgsm_agent_pkdecrypt) 
+       (gpgsm_agent_genkey, gpgsm_agent_istrusted) 
+       (gpgsm_agent_marktrusted, gpgsm_agent_havekey) 
+       (gpgsm_agent_passwd): Add new arg CTRL and changed all callers.
+       (start_agent): New arg CTRL.  Send progress item when starting a
+       new agent.
+       * sign.c (gpgsm_get_default_cert, get_default_signer): New arg
+       CTRL to be passed down to the agent function.
+       * decrypt.c (prepare_decryption): Ditto.
+       * certreqgen.c (proc_parameters, read_parameters): Ditto.
+       * certcheck.c (gpgsm_create_cms_signature): Ditto.
+
+2004-04-23  Werner Koch  <wk@gnupg.org>
+
+       * keydb.c (keydb_add_resource): Try to compress the file on init.
+
+       * keylist.c (oidtranstbl): New.  OIDs collected from several sources.
+       (print_name_raw, print_names_raw, list_cert_raw): New.
+       (gpgsm_list_keys): Check the dump mode and pass it down as
+       necessary.
+
+2004-04-22  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c (main): New commands --dump-keys, --dump-external-keys,
+       --dump-secret-keys.
+
+2004-04-13  Werner Koch  <wk@gnupg.org>
+
+       * misc.c (setup_pinentry_env): New.
+       * import.c (popen_protect_tool): Call it.
+       * export.c (popen_protect_tool): Call it.
+
+2004-04-08  Werner Koch  <wk@gnupg.org>
+
+       * decrypt.c (gpgsm_decrypt): Return GPG_ERR_NO_DATA if it is not a 
+       encrypted message.
+
+2004-04-07  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c: New option --force-crl-refresh.
+       * call-dirmngr.c (gpgsm_dirmngr_isvalid): Pass option to dirmngr.
+
+2004-04-05  Werner Koch  <wk@gnupg.org>
+
+       * server.c (get_status_string): Add STATUS_NEWSIG.
+       * verify.c (gpgsm_verify): Print STATUS_NEWSIG for each signature.
+
+       * certchain.c (gpgsm_validate_chain) <gpgsm_cert_use_cer_p>: Do
+       not just warn if a cert is not suitable; bail out immediately.
+
+2004-04-01  Werner Koch  <wk@gnupg.org>
+
+       * call-dirmngr.c (isvalid_status_cb): New.
+       (unhexify_fpr): New. Taken from ../g10/call-agent.c
+       (gpgsm_dirmngr_isvalid): Add new arg CTRL, changed caller to pass
+       it thru.  Detect need to check the respondert cert and do that.
+       * certchain.c (gpgsm_validate_chain): Add new arg FLAGS.  Changed
+       all callers.
+
+2004-03-24  Werner Koch  <wk@gnupg.org>
+
+       * sign.c (gpgsm_sign): Include a short list of capabilities.
+
+2004-03-17  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c (main) <gpgconf>: Fixed default value quoting.
+
+2004-03-16  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c (main): Implemented --gpgconf-list.
+
+2004-03-15  Werner Koch  <wk@gnupg.org>
+
+       * keylist.c (list_cert_colon): Hack to set the expired flag.
+
+2004-03-09  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c (main): Correctly intitialze USE_OCSP flag.
+
+       * keydb.c (keydb_delete): s/GPG_ERR_CONFLICT/GPG_ERR_NOT_LOCKED/
+
+2004-03-04  Werner Koch  <wk@gnupg.org>
+
+       * call-dirmngr.c (gpgsm_dirmngr_isvalid): New arg ISSUER_CERT.
+
+       * certchain.c (is_cert_still_valid): New.  Code moved from ...
+       (gpgsm_validate_chain): ... here because we now need to check at
+       two places and at a later stage, so that we can pass the issuer
+       cert down to the dirmngr.
+
+2004-03-03  Werner Koch  <wk@gnupg.org>
+
+       * call-agent.c (start_agent): Replaced pinentry setup code by a
+       call to a new common function.
+
+       * certdump.c (gpgsm_format_keydesc): Make sure the string is
+       returned as utf-8.
+
+       * export.c (gpgsm_export): Make sure that we don't export more
+       than one certificate.
+
+2004-03-02  Werner Koch  <wk@gnupg.org>
+
+       * export.c (create_duptable, destroy_duptable)
+       (insert_duptable): New.
+       (gpgsm_export): Avoid duplicates.
+
+2004-02-26  Werner Koch  <wk@gnupg.org>
+
+       * certchain.c (compare_certs): New.
+       (gpgsm_validate_chain): Fixed infinite certificate checks after
+       bad signatures.
+
+2004-02-24  Werner Koch  <wk@gnupg.org>
+
+       * keylist.c (list_cert_colon): Print the fingerprint as the
+       cert-id for root certificates.
+
+2004-02-21  Werner Koch  <wk@gnupg.org>
+
+       * keylist.c (list_internal_keys): Return error codes.
+       (list_external_keys, gpgsm_list_keys): Ditto.
+       * server.c (do_listkeys): Ditto.
+
+       * gpgsm.c (main): Display a key description for --passwd.
+       * call-agent.c (gpgsm_agent_passwd): New arg DESC.
+
 2004-02-20  Werner Koch  <wk@gnupg.org>
 
        * gpgsm.c (main): New option --debug-ignore-expiration.
        * server.c (rc_to_assuan_status): New.  Use it for all commands.
 
        
- Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003, 2004, 2005,
+          2006 Free Software Foundation, Inc.
 
  This file is free software; as a special exception the author gives
  unlimited permission to copy and/or distribute it, with or without