Implemented the --gen-key command as we can't use the gpgsm-gencert.sh under Windows.
[gnupg.git] / agent / ChangeLog
index ed4c8a4..653bcd0 100644 (file)
@@ -1,3 +1,415 @@
+2007-06-21  Werner Koch  <wk@g10code.com>
+
+       * agent.h (ctrl_t): Remove.  It is now declared in ../common/util.h. 
+
+       * gpg-agent.c (check_for_running_agent): New arg SILENT.  Changed
+       all callers.
+       (create_server_socket): If the standard socket is in use check
+       whether a agent is running and avoid starting another one.
+
+2007-06-18  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpg-agent.c (main): Percent escape pathname in --gpgconf-list
+       output.
+
+2007-06-18  Werner Koch  <wk@g10code.com>
+
+       * w32main.c (build_argv): New.
+       (WinMain): Use it.
+
+       * command.c (cmd_killagent) [W32]: New.
+       (cmd_getinfo): New.
+       * gpg-agent.c (get_agent_ssh_socket_name): New.
+       (no_force_standard_socket) New.
+       (create_server_socket): Use it.
+       * Makefile.am (gpg_agent_res_ldflags): Pass windows option to ld.
+
+2007-06-14  Werner Koch  <wk@g10code.com>
+
+       * protect-tool.c (main): Setup default socket name for
+       simple-pwquery.
+       (MAP_SPWQ_ERROR_IMPL): New.  Use map_spwq_error for spqw related
+       error codes.
+       * preset-passphrase.c (main): Setup default socket name for
+       simple-pwquery.
+       (map_spwq_error): Remove.
+       (MAP_SPWQ_ERROR_IMPL): New.  
+
+       * call-pinentry.c (start_pinentry): Use gnupg_module_name.
+       * call-scd.c (start_scd): Ditto.
+
+2007-06-12  Werner Koch  <wk@g10code.com>
+
+       * taskbar.c: New.
+
+       * trustlist.c (read_one_trustfile): Replace GNUPG_SYSCONFDIR by a
+       function call.
+       (read_trustfiles): Ditto.
+
+       * gpg-agent.c (main): Replace some calls by init_common_subsystems.
+       * preset-passphrase.c (main): Ditto.
+       * protect-tool.c (main): Ditto.
+
+2007-06-11  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (common_libs): Use libcommonstd macro.
+       (commonpth_libs): Use libcommonpth macro.
+
+       * protect-tool.c (main) [W32]: Call pth_init.
+
+       * preset-passphrase.c (main) [W32]: Repalce the explicit Winsocket
+       init by a call to pth_init.
+
+       * trustlist.c (initialize_module_trustlist): New.
+       * gpg-agent.c (main): Call it.
+
+       * call-pinentry.c (initialize_module_query): Rename to
+       initialize_module_call_pinentry.
+
+       * minip12.c: Remove iconv.h. Add utf8conf.h.  Changed all iconv
+       calss to use these jnlib wrappers.
+
+2007-06-06  Werner Koch  <wk@g10code.com>
+
+       * minip12.c (enum): Rename CONTEXT to ASNCONTEXT as winnt.h
+       defines such a symbol to access the process context.
+
+       * call-pinentry.c (dump_mutex_state) [W32]: Handle the W32Pth case.
+       * call-scd.c (dump_mutex_state): Ditto.
+
+       * protect-tool.c (i18n_init): Remove.
+       * preset-passphrase.c (i18n_init): Remove.
+       * gpg-agent.c (i18n_init): Remove.
+
+2007-05-19  Marcus Brinkmann  <marcus@g10code.de>
+
+       * protect-tool.c (get_passphrase): Free ORIG_CODESET on error.
+
+2007-05-14  Werner Koch  <wk@g10code.com>
+
+       * protect.c (make_shadow_info): Replace sprintf by smklen.
+
+2007-04-20  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c (my_gcry_logger, my_gcry_outofcore_handler): Removed.
+       (main): Call the setup_libgcrypt_logging helper.
+       * protect-tool.c (my_gcry_logger): Removed.
+       (main): Call the setup_libgcrypt_logging helper.
+       
+2007-04-03  Werner Koch  <wk@g10code.com>
+
+       * trustlist.c (read_trustfiles): Take a missing trustlist as an
+       empty one.
+
+2007-03-20  Werner Koch  <wk@g10code.com>
+
+       * protect-tool.c: New option --p12-charset. 
+       * minip12.c (p12_build): Implement it.
+
+2007-03-19  Werner Koch  <wk@g10code.com>
+
+       * minip12.c: Include iconv.h.
+       (decrypt_block): New.
+       (parse_bag_encrypted_data, parse_bag_data): Use it here.
+       (bag_data_p, bag_decrypted_data_p): New helpers.
+
+2007-03-06  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c (main) <gpgconf>: Add entries for all ttl options.
+
+2007-02-20  Werner Koch  <wk@g10code.com>
+
+       * call-pinentry.c (start_pinentry): Fix for OS X to allow loading
+       of the bundle.  Tested by Benjamin Donnachie.
+
+2007-02-14  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c: New option --pinentry-touch-file.
+       (get_agent_socket_name): New.
+       * agent.h (opt):  Add pinentry_touch_file.
+       * call-pinentry.c (start_pinentry): Send new option to the
+       pinentry.
+
+2007-01-31  Moritz Schulte  <moritz@g10code.com>  (wk)
+
+       * command-ssh.c (stream_read_string): Initialize LENGTH to zero.
+       (start_command_handler_ssh): Use es_fgetc/es_ungetc to check if
+       EOF has been reached before trying to process another request.
+
+2007-01-31  Werner Koch  <wk@g10code.com>
+
+       * command-ssh.c (start_command_handler_ssh): 
+
+       * Makefile.am (t_common_ldadd): Add LIBICONV.
+
+2007-01-25  Werner Koch  <wk@g10code.com>
+
+       * genkey.c (check_passphrase_constraints): Get ngettext call right
+       and use UTF-8 aware strlen.
+
+       * protect-tool.c (get_passphrase): New arg OPT_CHECK.
+       (get_new_passphrase): Enable OPT_CHECK on the first call.
+       * command.c (cmd_get_passphrase): Implement option --check.
+
+2007-01-24  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c (MIN_PASSPHRASE_LEN): New
+       (parse_rereadable_options): New option  --min-passphrase-len.
+       * genkey.c (check_passphrase_constraints): New.
+       (agent_genkey, agent_protect_and_store): Call new function.  Fix
+       memory leak.
+
+       * call-pinentry.c (agent_askpin): Allow translation of the displayed
+       error message.
+       (agent_popup_message_start): Remove arg CANCEL_BTN.
+       (popup_message_thread): Use --one-button option.
+
+       * command.c (cmd_passwd): Now that we don't distinguish between
+       assuan and regular error codes we can jump to the end on error.
+
+2006-12-07  David Shaw  <dshaw@jabberwocky.com>
+
+       * Makefile.am: Link to iconv for jnlib dependency.
+
+2006-11-20  Werner Koch  <wk@g10code.com>
+
+       * call-pinentry.c (agent_popup_message_stop): Use SIGKILL.
+       * call-scd.c (inq_needpin): Implement POPUPKEYPADPROMPT and
+       DISMISSKEYPADPROMPT.
+
+2006-11-15  Werner Koch  <wk@g10code.com>
+
+       * protect.c (make_shadow_info): Cast printf arg to unsigned int.
+       * minip12.c (parse_bag_encrypted_data): Ditto.
+       (parse_bag_data, p12_parse): Ditto.
+       * command-ssh.c (ssh_identity_register): Changed buffer_n to
+       size_t.
+
+       * agent.h (struct server_control_s): New field thread_startup.
+       * command.c (start_command_handler): Moved CTRL init code to ..
+       * gpg-agent.c (start_connection_thread): .. here.
+       (agent_deinit_default_ctrl): New.
+       (agent_init_default_ctrl): Made static.
+       (handle_connections): Allocate CTRL and pass it pth_spawn.
+       * command-ssh.c (start_command_handler_ssh): Moved CTRL init code
+       to ..
+       * gpg-agent.c (start_connection_thread_ssh): .. here.
+
+2006-11-14  Werner Koch  <wk@g10code.com>
+
+       * command.c (bump_key_eventcounter): New.
+       (bump_card_eventcounter): New.
+       (cmd_geteventcounter): New command.
+       * gpg-agent.c (handle_signal): Call bump_card_eventcounter.
+       * findkey.c (agent_write_private_key): Call bump_key_eventcounter.
+       * trustlist.c (agent_reload_trustlist): Ditto.
+
+       * command.c (post_cmd_notify, io_monitor): New.
+       (register_commands, start_command_handler): Register them.
+
+2006-11-09  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c (main): In detached mode connect standard
+       descriptors to /dev/null.
+
+       * trustlist.c (read_trustfiles): Make sure not to pass a zero size
+       to realloc as the C standards says that this behaves like free.
+
+2006-11-06  Werner Koch  <wk@g10code.com>
+
+       * protect-tool.c (my_strusage): Fixed typo.
+
+2006-10-23  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c (main): New command --gpgconf-test.
+
+       * minip12.c (parse_bag_encrypted_data, parse_bag_data): Allow for
+       a salt of 20 bytes.
+
+2006-10-20  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (t_common_ldadd): Use GPG_ERROR_LIBS instead -o just -l
+
+2006-10-19  Werner Koch  <wk@g10code.com>
+
+       * findkey.c (unprotect): Use it to avoid unnecessary calls to
+       agent_askpin.
+       * call-pinentry.c (pinentry_active_p): New.
+
+2006-10-17  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (gpg_agent_LDADD): Link to libcommonpth.
+       (gpg_agent_CFLAGS): New.  This allows to only link this with Pth.
+
+2006-10-16  Werner Koch  <wk@g10code.com>
+
+       * call-pinentry.c (agent_get_confirmation): Map Cancel code here too.
+       * trustlist.c (agent_marktrusted): Return Cancel instead of
+       Not_Confirmed for the first question.
+
+2006-10-12  Werner Koch  <wk@g10code.com>
+
+       * protect-tool.c (get_passphrase): Fix if !HAVE_LANGINFO_CODESET.
+
+2006-10-06  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (AM_CFLAGS): Use PTH version of libassuan.
+       (gpg_agent_LDADD): Ditto.
+
+       * divert-scd.c (divert_pksign): Use PKAUTH for the TLS algo.
+
+2006-10-05  Werner Koch  <wk@g10code.com>
+
+       * command.c (has_option_name): New.
+       (cmd_sethash): New --hash option.
+       * pksign.c (do_encode_raw_pkcs1): New.
+       (agent_pksign_do): Use it here for the TLS algo.
+       * agent.h (GCRY_MD_USER_TLS_MD5SHA1): New.
+       * divert-scd.c (pksign): Add case for tls-md5sha1.
+       
+       * divert-scd.c (encode_md_for_card): Check that the algo is valid.
+
+2006-10-04  Werner Koch  <wk@g10code.com>
+
+       * call-pinentry.c (agent_get_passphrase): Changed to return the
+       unencoded passphrase.
+       (agent_askpin, agent_get_passphrase, agent_get_confirmation): Need
+       to map the cancel error.
+       * command.c (send_back_passphrase): New.
+       (cmd_get_passphrase): Use it here.  Also implement --data option.
+       (skip_options): New.
+
+2006-09-26  Werner Koch  <wk@g10code.com>
+
+       * learncard.c (agent_handle_learn): Send back the keypair
+       information.
+
+2006-09-25  Werner Koch  <wk@g10code.com>
+
+       * trustlist.c (read_one_trustfile): Allow extra flags.
+       (struct trustitem_s): Replaced KEYFLAGS by a FLAGS struct.
+       Changed all code to use this.
+       (agent_istrusted): New arg CTRL. Changed all callers.  Send back
+       flags.
+       * command.c (agent_write_status): New.
+
+2006-09-20  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am: Changes to allow parallel make runs.
+
+2006-09-15  Werner Koch  <wk@g10code.com>
+
+       * trustlist.c: Entirely rewritten.
+       (agent_trustlist_housekeeping): Removed and removed all calls.
+
+2006-09-14  Werner Koch  <wk@g10code.com>
+
+       Replaced all call gpg_error_from_errno(errno) by
+       gpg_error_from_syserror().
+
+       * call-pinentry.c (start_pinentry): Replaced pipe_connect2 by
+       pipe_connect_ext.
+       * call-scd.c (start_scd): Ditto.
+       * command.c (start_command_handler): Replaced
+       init_connected_socket_server by init_socket_server_ext.
+
+2006-09-13  Werner Koch  <wk@g10code.com>
+
+       * preset-passphrase.c (main) [W32]: Check for WSAStartup error.
+
+2006-09-08  Werner Koch  <wk@g10code.com>
+
+       * call-scd.c: Add signal.h as we are referencing SIGUSR2.
+
+2006-09-06  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Makefile.am (AM_CFLAGS): Add $(GPG_ERR_CFLAGS).
+       (gpg_agent_LDADD): Replace -lgpg-error with $(GPG_ERROR_LIBS).
+
+2006-09-06  Werner Koch  <wk@g10code.com>
+
+       * query.c: Renamed to ..
+       * call-pinentry.c: .. this.
+
+       * agent.h (out_of_core): Removed.
+       (CTRL): Removed and changed everywhere to ctrl_t.
+
+       Replaced all Assuan error codes by libgpg-error codes.  Removed
+       all map_to_assuan_status and map_assuan_err.
+       
+       * gpg-agent.c (main): Call assuan_set_assuan_err_source to have Assuan
+       switch to gpg-error codes.
+       * command.c (set_error): Adjusted.
+
+2006-09-04  Werner Koch  <wk@g10code.com>
+
+       * command.c (percent_plus_unescape): New.
+       (cmd_get_val, cmd_putval): New.
+
+2006-08-29  Werner Koch  <wk@g10code.com>
+
+       * command-ssh.c (stream_read_mpi): Sanity check for early
+       detecting of too large keys.
+       * gpg-agent.c (my_gcry_outofcore_handler): New.
+       (main): Register it.
+       (main): No allocate 32k secure memory (was 16k).
+
+2006-07-31  Werner Koch  <wk@g10code.com>
+
+       * preset-passphrase.c (make_hexstring): For consistency use
+       xtrymalloc and changed caller to use xfree.  Fixed function
+       comment.
+
+2006-07-29  Marcus Brinkmann  <marcus@g10code.de>
+
+       * preset-passphrase.c (preset_passphrase): Do not strip off last
+       character of passphrase.
+       (make_hexstring): New function.
+       * command.c (cmd_preset_passphrase): Use parse_hexstring to syntax
+       check passphrase argument.  Truncate passphrase at delimiter.
+
+2006-07-24  Werner Koch  <wk@g10code.com>
+
+       * minip12.c (build_key_bag): New args SHA1HASH and
+       KEYIDSTR. Append bag Attributes if these args are given.
+       (build_cert_sequence): ditto.
+       (p12_build): Calculate certificate hash and pass to build
+       functions.
+
+2006-07-21  Werner Koch  <wk@g10code.com>
+
+       * minip12.c (oid_pkcs_12_keyBag): New.
+       (parse_bag_encrypted_data): New arg R_RESULT. Support keybags and
+       return the key object. 
+       (p12_parse): Take new arg into account.  Free RESULT on error.
+
+2006-06-26  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c (handle_signal): Print info for SIGUSR2 only in
+       verbose mode.
+
+2006-06-22  Werner Koch  <wk@g10code.com>
+
+       * command-ssh.c (make_cstring): Use memcpy instead of strncpy.
+       (ssh_receive_mpint_list, sexp_key_extract, data_sign): Use
+       xtrycalloc instead of xtrymalloc followed by memset.
+
+2006-06-20  Werner Koch  <wk@g10code.com>
+
+       * minip12.c (create_final): New arg PW. Add code to calculate the
+       MAC.
+
+2006-06-09  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Makefile.am (gpg_agent_LDADD): Add $(NETLIBS).
+       (gpg_protect_tool_LDADD): Likewise.
+       (gpg_preset_passphrase_LDADD): Likewise.
+
+2006-04-09  Moritz Schulte  <moritz@g10code.com>
+
+       * command-ssh.c (ssh_request_process): Removed FIXME mentioning a
+       possible DoS attack.
+
 2006-04-01  Moritz Schulte  <moritz@g10code.com>
 
        * command-ssh.c (ssh_identity_register): Make KEY_GRIP_RAW be 20
@@ -1452,7 +1864,8 @@ Fri Aug 18 14:27:14 CEST 2000  Werner Koch  <wk@openit.de>
        * Makefile.am: New.
 
 
- Copyright 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003, 2004, 2005,
+          2007 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