Upgraded gettext.
[gnupg.git] / sm / ChangeLog
index 7a16cb5..e2b7796 100644 (file)
@@ -1,3 +1,498 @@
+2007-05-07  Werner Koch  <wk@g10code.com>
+
+       * certcheck.c (MY_GCRY_PK_ECDSA): New.
+
+2007-04-20  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c (main): Parameterize failed versions check messages.
+
+2007-04-19  Werner Koch  <wk@g10code.com>
+
+       * certcheck.c (do_encode_md): Add arg PKEY.  Add support for DSA2
+       and all ECDSA sizes.
+       (get_dsa_qbits): New.
+       (pk_algo_from_sexp): A key will never contain ecdsa as algorithm,
+       so remove that.
+
+2007-04-18  Werner Koch  <wk@g10code.com>
+
+       * certcheck.c (do_encode_md): Support 160 bit ECDSA.
+
+2007-04-13  Werner Koch  <wk@g10code.com>
+
+       * call-agent.c (start_agent): Don't use log_error when using the
+       fallback hack to start the agent.  This is bug 782.
+
+2007-03-20  Werner Koch  <wk@g10code.com>
+
+       * fingerprint.c (gpgsm_get_fingerprint): Add caching.
+       (gpgsm_get_fingerprint_string): Use bin2hexcolon().
+       (gpgsm_get_fingerprint_hexstring): Use bin2hex and allocate only
+       as much memory as required.
+       (gpgsm_get_keygrip_hexstring): Use bin2hex.
+
+       * certchain.c (gpgsm_validate_chain): Keep track of the
+       certificate chain and reset the ephemeral flags.
+       * keydb.c (keydb_set_cert_flags): New args EPHEMERAL and MASK.
+       Changed caller to use a mask of ~0.  Return a proper error code if
+       the certificate is not available.
+
+       * gpgsm.c: Add option --p12-charset.
+       * gpgsm.h (struct opt): Add p12_charset. 
+       * export.c (popen_protect_tool): Use new option.
+
+2007-03-19  Werner Koch  <wk@g10code.com>
+
+        Changes to let export and key listing use estream to help systems
+       without funopen.
+       
+       * keylist.c: Use estream in place of stdio functions.
+       * gpgsm.c (open_es_fwrite): New.
+       (main): Use it for the list commands.
+       * server.c (data_line_cookie_functions): New.
+       (data_line_cookie_write, data_line_cookie_close): New.
+       (do_listkeys): Use estream.
+
+       * certdump.c (gpgsm_print_serial): Changed to use estream.
+       (gpgsm_print_time): Ditto.
+       (pretty_es_print_sexp): New.
+       (gpgsm_es_print_name): New.
+       (print_dn_part): New arg STREAM.  Changed all callers.
+       (print_dn_parts): Ditto.
+       * certchain.c (gpgsm_validate_chain): Changed FP to type
+       estream_t.
+       (do_list, unknown_criticals, allowed_ca, check_cert_policy) 
+       (is_cert_still_valid): Ditto.
+
+       * export.c (gpgsm_export): New arg STREAM.
+       (do_putc, do_fputs): New.
+       (print_short_info): Allow printing to optional STREAM.
+       * server.c (cmd_export): Use stream.
+       * base64.c (do_putc, do_fputs): New.
+       (base64_writer_cb, base64_finish_write): Let them cope with an
+       alternate output function.
+       (plain_writer_cb): New.
+       (gpgsm_create_writer): New arg STREAM and call plain_writer_cb for
+       binary output to an estream.  Changed call callers.
+
+2007-01-31  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c (main): Let --gen-key print a more informative error
+       message.
+
+2007-01-25  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (gpgsm_LDADD): Add LIBICONV.  Noted by Billy Halsey.
+
+2007-01-05  Werner Koch  <wk@g10code.com>
+
+       * certchain.c (unknown_criticals): Add subjectAltName.
+
+2006-12-21  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c: Comment mtrace feature.
+
+2006-12-21  Marcus Brinkmann  <marcus@g10code.de>
+
+       * certchain.c (gpgsm_basic_cert_check): Release SUBJECT.
+
+       * encrypt.c (encrypt_dek): Release S_CIPH.
+
+2006-12-20  Marcus Brinkmann  <marcus@g10code.de>
+
+       * server.c (gpgsm_server): Release CTRL->server_local.
+
+       * base64.c: Add new members READER and WRITER in union U2.
+       (gpgsm_create_reader): Initialise CTX->u2.reader.
+       (gpgsm_destroy_reader): Invoke ksba_reader_release.  Return early
+       if CTX is NULL.
+       (gpgsm_create_writer): Initialise CTX->u2.writer.
+       (gpgsm_destroy_writer): Invoke ksba_writer_release.  Return early
+       if CTX is NULL.
+
+2006-12-18  Marcus Brinkmann  <marcus@g10code.de>
+
+       * fingerprint.c (gpgsm_get_fingerprint): Close MD.
+
+2006-11-24  Werner Koch  <wk@g10code.com>
+
+       * certdump.c (parse_dn_part): Take '#' as a special character only
+       at the beginning of a string.
+
+2006-11-21  Werner Koch  <wk@g10code.com>
+
+       * certdump.c (my_funopen_hook_ret_t): New.
+       (format_name_writer): Use it for the return value.
+
+2006-11-14  Werner Koch  <wk@g10code.com>
+
+       * server.c (skip_options): Skip leading spaces.
+       (has_option): Honor "--".
+       (cmd_export): Add option --data to do an inline export.  Skip all
+       options.
+
+       * certdump.c (gpgsm_fpr_and_name_for_status): New.
+       * verify.c (gpgsm_verify): Use it to print correct status messages.
+
+2006-11-11  Werner Koch  <wk@g10code.com>
+
+       * server.c (skip_options): New.
+
+2006-10-24  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Makefile.am (AM_CFLAGS): Add $(LIBASSUAN_CFLAGS).
+
+2006-10-23  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c (main): Remap common cipher algo names to their OIDs.
+       (main): New command --gpgconf-test.
+
+2006-10-20  Werner Koch  <wk@g10code.com>
+
+       * keydb.c (classify_user_id): Parse keygrip for the '&' identifier.
+
+2006-10-18  Werner Koch  <wk@g10code.com>
+
+       * keylist.c (list_cert_raw): Also test for GPG_ERR_NO_VALUE when
+       testing for GPG_ERR_NO_DATA.
+       * certlist.c (cert_usage_p, gpgsm_find_cert): Ditto.
+       * certchain.c (check_cert_policy): Ditto.
+
+       * keylist.c (list_cert_std, list_cert_raw): Print "none" for no
+       chain length available.
+
+2006-10-17  Werner Koch  <wk@g10code.com>
+
+       * gpgsm.c: No need for pth.h.  
+       (main): or to init it. It used to be hack for W32.
+
+       * sign.c (gpgsm_get_default_cert): Changed to return only
+       certificates usable for signing.
+
+2006-10-16  Werner Koch  <wk@g10code.com>
+
+       * certchain.c (already_asked_marktrusted) 
+       (set_already_asked_marktrusted): New.
+       (gpgsm_validate_chain) <not trusted>: Keep track of certificates
+       we already asked for.
+
+2006-10-11  Werner Koch  <wk@g10code.com>
+
+       * certreqgen.c (proc_parameters, create_request): Allow for
+       creation directly from a card.
+       * call-agent.c (gpgsm_agent_readkey): New arg FROMCARD.
+       (gpgsm_scd_pksign): New.
+
+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().
        * 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