* keylist.c (list_internal_keys): Return error codes.
[gnupg.git] / sm / ChangeLog
index 930af70..e543bbc 100644 (file)
@@ -1,6 +1,348 @@
+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.
+       * certchain.c (gpgsm_validate_chain): Use it here.
+
+       * certlist.c (cert_usage_p): Apply extKeyUsage.
+
+2004-02-19  Werner Koch  <wk@gnupg.org>
+
+       * export.c (export_p12, popen_protect_tool)
+       (gpgsm_p12_export): New.
+       * gpgsm.c (main): New command --export-secret-key-p12. 
+
+2004-02-18  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c (set_debug): Set the new --debug-level flags.
+       (main): New option --gpgconf-list.  
+       (main): Do not setup -u and -r keys when not required.
+       (main): Setup the used character set.
+
+       * keydb.c (keydb_add_resource): Print a hint to start the
+       gpg-agent.
+
+2004-02-17  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c: Fixed value parsing for --with-validation.
+       * call-agent.c (start_agent): Ignore an empty GPG_AGENT_INFO.
+       * call-dirmngr.c (start_dirmngr): Likewise for DIRMNGR_INFO.
+
+       * gpgsm.c: New option --with-md5-fingerprint.
+       * keylist.c (list_cert_std): Print MD5 fpr.
+
+       * gpgsm.c: New options --with-validation.
+       * server.c (option_handler): New option "with-validation".
+       * keylist.c (list_cert_std, list_internal_keys): New args CTRL and
+       WITH_VALIDATION. Changed callers to set it.
+       (list_external_cb, list_external_keys): Pass CTRL to the callback.
+       (list_cert_colon): Add arg CTRL.  Check validation if requested.
+       * certchain.c (unknown_criticals, allowed_ca, check_cert_policy) 
+       (gpgsm_validate_chain): New args LISTMODE and FP.
+       (do_list): New helper for info output.
+       (find_up): New arg FIND_NEXT.
+       (gpgsm_validate_chain): After a bad signature try again with other
+       CA certificates.
+
+       * import.c (print_imported_status): New arg NEW_CERT. Print
+       additional STATUS_IMPORT_OK becuase that is what gpgme expects.
+       (check_and_store): Always call above function after import.
+       * server.c (get_status_string): Added STATUS_IMPORT_OK.
+
+2004-02-13  Werner Koch  <wk@gnupg.org>
+
+       * certcheck.c (gpgsm_create_cms_signature): Format a description
+       for use by the pinentry.
+       * decrypt.c (gpgsm_decrypt): Ditto. Free HEXKEYGRIP.
+       * certdump.c (format_name_cookie, format_name_writer) 
+       (gpgsm_format_name): New.
+       (gpgsm_format_serial): New.
+       (gpgsm_format_keydesc): New.
+       * call-agent.c (gpgsm_agent_pksign): New arg DESC.
+       (gpgsm_agent_pkdecrypt): Ditto.
+
+       * encrypt.c (init_dek): Check for too weak algorithms.
+
+       * import.c (parse_p12, popen_protect_tool): New.
+
+       * base64.c (gpgsm_create_reader): New arg ALLOW_MULTI_PEM.
+       Changed all callers.
+       (base64_reader_cb): Handle it here.
+       (gpgsm_reader_eof_seen): New.
+       (base64_reader_cb): Set a flag for EOF.
+       (simple_reader_cb): Ditto.
+
+2004-02-12  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.h, gpgsm.c: New option --protect-tool-program.
+       * gpgsm.c (run_protect_tool): Use it.
+
+2004-02-11  Werner Koch  <wk@gnupg.org>
+
+       * Makefile.am (AM_CPPFLAGS): Pass directory constants via -D; this
+       will allow to override directory names at make time.
+
+2004-02-02  Werner Koch  <wk@gnupg.org>
+
+       * import.c (check_and_store): Import certificates even with
+       missing issuer's cert.  Fixed an "depending on the verbose
+       setting" bug.
+
+       * certchain.c (gpgsm_validate_chain): Mark revoked certs in the
+       keybox.
+
+       * keylist.c (list_cert_colon): New arg VALIDITY; use it to print a
+       revoked flag.
+       (list_internal_keys): Retrieve validity flag.
+       (list_external_cb): Pass 0 as validity flag.
+       * keydb.c (keydb_get_flags, keydb_set_flags): New.
+       (keydb_set_cert_flags): New.
+       (lock_all): Return a proper error code.
+       (keydb_lock): New.
+       (keydb_delete): Don't lock but check that it has been locked.
+       (keydb_update_keyblock): Ditto.
+       * delete.c (delete_one): Take a lock.
+
+2004-01-30  Werner Koch  <wk@gnupg.org>
+
+       * certchain.c (check_cert_policy): Fixed read error checking.
+       (check_cert_policy): With no critical policies issue only a
+       warning if the policy file does not exists.
+
+       * sign.c (add_certificate_list): Decrement N for the first cert.
+
+2004-01-29  Werner Koch  <wk@gnupg.org>
+
+       * certdump.c (parse_dn_part): Map common OIDs to human readable
+       labels.  Make sure that a value won't get truncated if it includes
+       a Nul.
+
+2004-01-28  Werner Koch  <wk@gnupg.org>
+
+       * certchain.c (gpgsm_validate_chain): Changed the message printed
+       for an untrusted root certificate.
+
+2004-01-27  Werner Koch  <wk@gnupg.org>
+
+       * certdump.c (parse_dn_part): Pretty print the nameDistinguisher OID.
+       (print_dn_part): Do not delimit multiple RDN by " + ".  Handle
+       multi-valued RDNs in a special way, i.e. in the order specified by
+       the certificate.
+       (print_dn_parts): Simplified. 
+
+2004-01-16  Werner Koch  <wk@gnupg.org>
+
+       * sign.c (gpgsm_sign): Print an error message on all failures.
+       * decrypt.c (gpgsm_decrypt): Ditto.
+
+2003-12-17  Werner Koch  <wk@gnupg.org>
+
+       * server.c (gpgsm_server): Add arg DEFAULT_RECPLIST.
+       (cmd_encrypt): Add all enrypt-to marked certs to the list.
+       * encrypt.c (gpgsm_encrypt): Check that real recipients are
+       available.
+       * gpgsm.c (main): Make the --encrypt-to and --no-encrypt-to
+       options work.  Pass the list of recients to gpgsm_server.
+       * gpgsm.h (certlist_s): Add field IS_ENCRYPT_TO.
+       (opt): Add NO_ENCRYPT_TO.
+       * certlist.c (gpgsm_add_to_certlist): New arg IS_ENCRYPT_TO.
+       Changed all callers and ignore duplicate entries.
+       (is_cert_in_certlist): New.
+       (gpgsm_add_cert_to_certlist): New.
+
+       * certdump.c (gpgsm_print_serial): Cleaned up cast use in strtoul.
+       (gpgsm_dump_serial): Ditto.
+
+       * decrypt.c (gpgsm_decrypt): Replaced ERR by RC.
+
+2003-12-16  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c (main): Set the prefixes for assuan logging.
+
+       * sign.c (gpgsm_sign): Add validation checks for the default
+       certificate.
+
+       * gpgsm.c: Add -k as alias for --list-keys and -K for
+       --list-secret-keys.
+
+2003-12-15  Werner Koch  <wk@gnupg.org>
+
+       * encrypt.c (init_dek): Use gry_create_nonce for the IV; there is
+       not need for real strong random here and it even better protect
+       the random bits used for the key.
+
+2003-12-01  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c, gpgsm.h: New options --{enable,disable}-ocsp.
+       (gpgsm_init_default_ctrl): Set USE_OCSP to the default value.
+       * certchain.c (gpgsm_validate_chain): Handle USE_OCSP.
+       * call-dirmngr.c (gpgsm_dirmngr_isvalid): Add arg USE_OCSP and
+       proceed accordingly.
+
+2003-11-19  Werner Koch  <wk@gnupg.org>
+
+       * verify.c (gpgsm_verify): Use "0" instead of an empty string for
+       the VALIDSIG status.
+
+2003-11-18  Werner Koch  <wk@gnupg.org>
+
+       * verify.c (gpgsm_verify): Fixed for changes API of gcry_md_info.
+
+       * certchain.c (unknown_criticals): Fixed an error code test.
+
+2003-11-12  Werner Koch  <wk@gnupg.org>
+
+       Adjusted for API changes in Libksba.
+
+2003-10-31  Werner Koch  <wk@gnupg.org>
+
+       * certchain.c (gpgsm_validate_chain): Changed to use ksba_isotime_t.
+       * verify.c (strtimestamp_r, gpgsm_verify): Ditto.
+       * sign.c (gpgsm_sign): Ditto.
+       * keylist.c (print_time, list_cert_std, list_cert_colon): Ditto.
+       * certdump.c (gpgsm_print_time, gpgsm_dump_time, gpgsm_dump_cert):
+       Ditto.
+
+2003-10-25  Werner Koch  <wk@gnupg.org>
+
+       * certreqgen.c (read_parameters): Fixed faulty of !spacep().
+
+2003-08-20  Marcus Brinkmann  <marcus@g10code.de>
+
+       * encrypt.c (encode_session_key): Allocate enough space.  Cast key
+       byte to unsigned char to prevent sign extension.
+       (encrypt_dek): Check return value before error.
+
+2003-08-14  Timo Schulz  <twoaday@freakmail.de>
+
+       * encrypt.c (encode_session_key): Use new Libgcrypt interface.
+       
+2003-07-31  Werner Koch  <wk@gnupg.org>
+
+       * Makefile.am (gpgsm_LDADD): Added INTLLIBS.
+
+2003-07-29  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c (main): Add secmem features and set the random seed file.
+       (gpgsm_exit): Update the random seed file and enable debug output.
+
+2003-07-27  Werner Koch  <wk@gnupg.org>
+
+       Adjusted for gcry_mpi_print and gcry_mpi_scan API change.
+
+2003-06-24  Werner Koch  <wk@gnupg.org>
+
+       * server.c (gpgsm_status_with_err_code): New.
+       * verify.c (gpgsm_verify): Use it here instead of the old
+       tokenizing version.
+
+       * verify.c (strtimestamp): Renamed to strtimestamp_r
+
+       Adjusted for changes in the libgcrypt API. Some more fixes for the
+       libgpg-error stuff.  
+
+2003-06-04  Werner Koch  <wk@gnupg.org>
+
+       * call-agent.c (init_membuf,put_membuf,get_membuf): Removed.
+       Include new membuf header and changed used type.
+
+       Renamed error codes from INVALID to INV and removed _ERROR suffixes.
+
+2003-06-03  Werner Koch  <wk@gnupg.org>
+
+       Changed all error codes in all files to the new libgpg-error scheme.
+
+       * gpgsm.h: Include gpg-error.h .
+       * Makefile.am: Link with libgpg-error.
+
+2003-04-29  Werner Koch  <wk@gnupg.org>
+
+       * Makefile.am: Use libassuan.  Don't override LDFLAGS anymore.
+       * server.c (register_commands): Adjust for new Assuan semantics.
+
+2002-12-03  Werner Koch  <wk@gnupg.org>
+
+       * call-agent.c (gpgsm_agent_passwd): New.
+       * gpgsm.c (main): New command --passwd and --call-protect-tool
+       (run_protect_tool): New.
+
+2002-11-25  Werner Koch  <wk@gnupg.org>
+
+       * verify.c (gpgsm_verify): Handle content-type attribute. 
+
+2002-11-13  Werner Koch  <wk@gnupg.org>
+
+       * call-agent.c (start_agent): Try to use $GPG_TTY instead of
+       ttyname.  Changed ttyname to test stdin becuase it can be assumed
+       that output redirection is more common that input redirection.
+
+2002-11-12  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c: New command --call-dirmngr. 
+       * call-dirmngr.c (gpgsm_dirmngr_run_command)
+       (run_command_inq_cb,run_command_cb)
+       (run_command_status_cb): New.
+
+2002-11-11  Werner Koch  <wk@gnupg.org>
+
+       * certcheck.c (gpgsm_check_cms_signature): Don't double free
+       s_sig but free s_pkey at leave.
+
+2002-11-10  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c: Removed duplicate --list-secret-key entry.
+
+2002-09-19  Werner Koch  <wk@gnupg.org>
+
+       * certcheck.c (gpgsm_check_cert_sig): Add cert hash debugging.
+
+       * certchain.c (find_up): Print info when the cert was not found 
+       by the autorithyKeyIdentifier.
+
+2002-09-03  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c (main): Disable the internal libgcrypt locking.
+
+2002-08-21  Werner Koch  <wk@gnupg.org>
+
+       * import.c (print_imported_summary): Cleaned up.  Print new
+       not_imported value.
+       (check_and_store): Update non_imported counter.
+       (print_import_problem): New.
+       (check_and_store): Print error status message.
+       * server.c (get_status_string): Added STATUS_IMPORT_PROBLEM.
+
+2002-08-20  Werner Koch  <wk@gnupg.org>
+
+       * gpgsm.c (main): Use the log file only in server mode.
+
+       * import.c (print_imported_summary): New.
+       (check_and_store): Update the counters, take new argument.
+       (import_one): Factored out core of gpgsm_import.
+       (gpgsm_import): Print counters.
+       (gpgsm_import_files): New.
+       * gpgsm.c (main): Use the new function for import.
+
+2002-08-19  Werner Koch  <wk@gnupg.org>
+
+       * decrypt.c (gpgsm_decrypt): Return a better error status token.
+       * verify.c (gpgsm_verify): Don't error on messages with no signing
+       time or no message digest.  This is only the case for messages
+       without any signed attributes.
+
 2002-08-16  Werner Koch  <wk@gnupg.org>
 
-       Renamed all all usages of "path" with certificates to "chain"
+       * certpath.c: Renamed to ..
+       * certchain.c: this. Renamed all all other usages of "path" in the
+       context of certificates to "chain".
 
        * call-agent.c (learn_cb): Special treatment when the issuer
        certificate is missing.
        * server.c (rc_to_assuan_status): New.  Use it for all commands.
 
        
- Copyright 2001, 2002 Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003 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