Implemented the --gen-key command as we can't use the gpgsm-gencert.sh under Windows.
[gnupg.git] / agent / ChangeLog
index 9c57ad4..653bcd0 100644 (file)
@@ -1,3 +1,591 @@
+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
+       instead of 21 bytes long; do not fill KEY_GRIP_RAW[20] with NUL
+       byte - KEY_GRIP_RAW is a raw binary string anyway.
+
+2006-02-09  Werner Koch  <wk@g10code.com>
+
+       * call-scd.c (struct scd_local_s): New field next_local.
+       (scd_local_list): New.
+       (start_scd): Put new local into list.
+       (agent_reset_scd): Remove it from the list.
+       (agent_scd_check_aliveness): Here is the actual reason why we need
+       all this stuff.
+       (agent_reset_scd): Send the new command RESTART instead of RESET.
+
+2005-12-16  Werner Koch  <wk@g10code.com>
+
+       * minip12.c (cram_octet_string): New
+       (p12_parse): Use it for NDEFed bags.
+       (parse_bag_data): Ditto.
+       (string_to_key, set_key_iv, crypt_block): New arg SALTLEN.
+       (p12_build): Use old value 8 for new arg.
+       (parse_bag_encrypted_data, parse_bag_data): Allow for salts of 8
+       to 16 bytes.  Add new arg R_CONSUMED.
+
+2005-11-24  Werner Koch  <wk@g10code.com>
+
+       * minip12.c (p12_parse): Fixed for case that the key object comes
+       prior to the certificate.
+
+2005-10-19  Werner Koch  <wk@g10code.com>
+
+       * divert-scd.c (getpin_cb): Hack to use it for a keypad message.
+
+       * call-scd.c (inq_needpin): Reworked to support the new KEYPADINFO.
+
+       * query.c (start_pinentry): Keep track of the owner.
+       (popup_message_thread, agent_popup_message_start) 
+       (agent_popup_message_stop, agent_reset_query): New.
+       * command.c (start_command_handler): Make sure a popup window gets
+       closed.
+
+2005-10-08  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Makefile.am (gpg_protect_tool_LDADD): Add ../gl/libgnu.a.
+       (gpg_preset_passphrase_LDADD, t_common_ldadd): Likewise.
+       (gpg_agent_LDADD): Add ../gl/libgnu.a after ../common/libcommon.a.
+
+2005-09-16  Werner Koch  <wk@g10code.com>
+
+       * minip12.c (build_key_sequence, build_cert_sequence): Fixed
+       padding.
+
+2005-09-15  Moritz Schulte  <moritz@g10code.com>
+
+       * t-protect.c (test_agent_protect): Implemented.
+       (main): Disable use of secure memory.
+
+2005-09-09  Werner Koch  <wk@g10code.com>
+
+       * minip12.c (p12_build): Oops, array needs to be larger for the
+       certificate.
+       (build_cert_bag): Fixed yesterdays change.
+
+       * command-ssh.c (card_key_available): Let the card handler decide
+       whether the card is supported here.  Also get a short serial
+       number to return from the card handler.
+
+2005-09-08  Werner Koch  <wk@g10code.com>
+
+       * minip12.c (build_cert_bag): Use a non constructed object.
+       i.e. 0x80 and not 0xa0.
+
+2005-08-16  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c (main): Use a default file name for --write-env-file.
+
+2005-07-25  Werner Koch  <wk@g10code.com>
+
+       * findkey.c (agent_public_key_from_file): Fixed array assignment.
+       This was the cause for random segvs.
+
+2005-06-29  Werner Koch  <wk@g10code.com>
+
+       * command-ssh.c (data_sign): Removed empty statement.
+
+2005-06-21  Werner Koch  <wk@g10code.com>
+
+       * minip12.c (create_final): Cast size_t to ulong for printf. 
+       (build_key_bag, build_cert_bag, build_cert_sequence): Ditto.
+
+2005-06-16  Werner Koch  <wk@g10code.com>
+
+       * protect-tool.c (make_advanced): Makde RESULT a plain char.
+       * call-scd.c (unescape_status_string): Need to cast unsigned char*
+       for strcpy.
+       (agent_card_pksign): Made arg R_BUF an unsigned char**.
+       * divert-scd.c (divert_pksign): Made SIGVAL unsigned char*.
+       (encode_md_for_card): Initialize R_VAL and R_LEN.
+       * genkey.c (store_key): Made BUF unsigned.
+       * protect.c (do_encryption): Ditto.
+       (do_encryption): Made arg PROTBEGIN unsigned. Initialize RESULT
+       and RESULTLEN even on error.
+       (merge_lists): Need to cast unsigned char * for strcpy. Initialize 
+       RESULTand RESULTLEN even on error.
+       (agent_unprotect): Likewise for strtoul.
+       (make_shadow_info): Made P and INFO plain char.
+       (agent_shadow_key): Made P plain char.
+
+2005-06-15  Werner Koch  <wk@g10code.com>
+
+       * query.c (agent_get_passphrase): Made HEXSTRING a char*.
+       * command-ssh.c (ssh_key_grip): Made arg BUFFER unsigned.
+       (ssh_key_grip): Simplified.
+       (data_sign): Initialize variables with the definition.
+       (ssh_convert_key_to_blob): Make sure that BLOB and BLOB_SIZE
+       are set to NULL on error.  Cool, gcc-4 detects uninitialized stuff
+       beyond function boundaries; well it can't know that we do error
+       proper error handling so that this was not a real error.
+       (file_to_buffer): Likewise for BUFFER and BUFFER_N.
+       (data_sign): Likewise for SIG and SIG_N.
+       (stream_read_byte): Set B to a value even on error.
+       * command.c (cmd_genkey): Changed VALUE to char.
+       (cmd_readkey): Cast arg for gcry_sexp_sprint.
+       * agent.h (struct server_control_s): Made KEYGRIP unsigned.
+
+2005-06-13  Werner Koch  <wk@g10code.com>
+
+       * command-ssh.c (start_command_handler_ssh): Reset the SCD.
+
+2005-06-09  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c (create_socket_name): New option --max-cache-ttl-ssh.
+       * cache.c (housekeeping): Use it.
+       (agent_put_cache): Use a switch to get the default ttl so that it
+       is easier to add more cases.
+
+2005-06-06  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c: New option --default-cache-ttl-ssh.
+       * agent.h (cache_mode_t): New.
+       * pksign.c (agent_pksign_do): New arg CACHE_MODE to replace the
+       ARG IGNORE_CACHE. Changed all callers.
+       (agent_pksign): Ditto.
+       * findkey.c (agent_key_from_file): Ditto. Canged all callers.
+       (unprotect): Ditto.
+       * command-ssh.c (data_sign): Use CACHE_MODE_SSH.
+       * cache.c (agent_get_cache): New arg CACHE_MODE.
+       (agent_put_cache): Ditto.  Store it in the cache.
+
+       * query.c (agent_query_dump_state, dump_mutex_state): New.
+       (unlock_pinentry): Reset the global context before releasing the
+       mutex.
+       * gpg-agent.c (handle_signal): Dump query.c info on SIGUSR1.
+
+       * call-scd.c (agent_scd_check_aliveness): Always do a waitpid and
+       add a timeout to the locking.
+
+2005-06-03  Werner Koch  <wk@g10code.com>
+
+       * command.c (cmd_updatestartuptty): New.
+
+       * gpg-agent.c: New option --write-env-file.
+       
+       * gpg-agent.c (handle_connections): Make sure that the signals we
+       are handling are not blocked.Block signals while creating new
+       threads.
+
+2005-06-02  Werner Koch  <wk@g10code.com>
+
+       * call-scd.c (agent_scd_dump_state, dump_mutex_state): New.
+       * gpg-agent.c (handle_signal): Print it on SIGUSR1.
+       (handle_connections): Include the file descriptor into the
+       threadnames.
+
 2005-06-01  Werner Koch  <wk@g10code.com>
 
        * gpg-agent.c: Include setenv.h.
@@ -1276,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