* mainproc.c (check_sig_and_print): Get the uid validity before printing
[gnupg.git] / agent / ChangeLog
index 94fb002..10f4d45 100644 (file)
+2003-07-31  Werner Koch  <wk@gnupg.org>
+
+       * Makefile.am (gpg_agent_LDADD): Added INTLLIBS.
+       (gpg_protect_tool_SOURCES): Added simple-pwquery.[ch]
+
+2003-07-27  Werner Koch  <wk@gnupg.org>
+
+       Adjusted for gcry_mpi_print and gcry_mpi_scan API change.
+
+2003-07-15  Werner Koch  <wk@gnupg.org>
+
+       * simple-pwquery.c, simple-pwquery.h:  Moved to ../common.
+       * Makefile.am (gpg_protect_tool_LDADD): Add simple-pwquery.o.
+       Removed it from xx_SOURCES.
+
+2003-07-04  Werner Koch  <wk@gnupg.org>
+
+       * gpg-agent.c (handle_connections): Kludge to allow use of Pth 1
+       and 2.
+
+2003-06-30  Werner Koch  <wk@gnupg.org>
+
+       * call-scd.c (learn_status_cb): Store the serialno in PARM.
+
+2003-06-26  Werner Koch  <wk@gnupg.org>
+
+       * call-scd.c (agent_card_serialno): Don't do a RESET anymore.
+
+2003-06-25  Werner Koch  <wk@gnupg.org>
+
+       * command.c (cmd_scd): New.
+       * call-scd.c (agent_card_scd): New.
+       * divert-scd.c (divert_generic_cmd): New
+
+       * call-scd.c (agent_card_learn): New callback args SINFO.
+       (learn_status_cb): Pass all other status lines to the sinfo
+       callback.
+       * learncard.c (release_sinfo, sinfo_cb): New.
+       (agent_handle_learn): Pass the new cb to the learn function and
+       pass the collected information back to the client's assuan
+       connection.
+
+       * gpg-agent.c (main): Moved pth_init before gcry_check_version.
+
+2003-06-24  Werner Koch  <wk@gnupg.org>
+
+       * gpg-agent.c (handle_connections): Adjusted for Pth 2.0
+
+       Adjusted for changes in the libgcrypt API. Some more fixes for the
+       libgpg-error stuff.  
+
+2003-06-04  Werner Koch  <wk@gnupg.org>
+
+       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.
+
+       * agent.h: Include gpg-error.h and errno.h
+       * Makefile.am: Link with libgpg-error
+
+       * query.c: assuan.h is now a system header.
+       * genkey.c (agent_genkey): Fixed silly use of xmalloc by
+       xtrymalloc.
+
+2003-04-29  Werner Koch  <wk@gnupg.org>
+
+       * command.c (register_commands): Adjusted for new Assuan semantics.
+
+       * Makefile.am: Don't override LDFLAGS.
+
+2002-12-04  Werner Koch  <wk@gnupg.org>
+
+       * gpg-agent.c: New variable config_filename.
+       (parse_rereadable_options): New.
+       (main): Use it here.  Add setting of default values, set
+       config_filename.
+       (reread_configuration): Filled with actual code.
+
+2002-12-03  Werner Koch  <wk@gnupg.org>
+
+       * protect-tool.c (read_key): Don't run make_canonical on a NULL
+       buffer.
+
+       * command.c (parse_hexstring): New.
+       (cmd_sethash): Use it.
+       (parse_keygrip): New.
+       (cmd_havekey, cmd_sigkey): Use it.
+       (cmd_passwd): New.
+       * genkey.c (agent_protect_and_store): New.
+       (store_key): Add arg FORCE.
+       (agent_genkey): Pass false to this force of store_key.
+
+2002-11-13  Werner Koch  <wk@gnupg.org>
+
+       * gpg-agent.c (main): Switch all messages to utf-8.
+
+       * simple-pwquery.c (agent_send_all_options): Use $GPG_TTY and
+       stdin with ttyname.
+
+       * cache.c (new_data): Uiih - /sizeof d/sizeof *d/.
+
+2002-11-10  Werner Koch  <wk@gnupg.org>
+
+       * command.c (option_handler): Fix keep_tty check.
+
+2002-11-06  Werner Koch  <wk@gnupg.org>
+
+       * gpg-agent.c (main): Make sure we have a default ttyname.
+       * command.c (option_handler): Check opt.keep_tty here
+       * query.c (start_pinentry): but not anymore here.
+
+2002-11-05  Werner Koch  <wk@gnupg.org>
+
+       * agent.h (opt,server_control_s): Move display and lc_ variables
+       to the control struct so that they are per connection.
+       * gpg-agent.c (agent_init_default_ctrl): New.
+       (main): Assign those command line options to new default_* variables.
+       Reset DISPLAY in server mode so that tehre is no implicit default.
+       * command.c (start_command_handler): Initialize and deinitialize
+       the control values.
+       (option_handler): Work on the ctrl values and not on the opt.
+       * query.c (start_pinentry): New argument CTRL to set the display
+       connection specific.  Changed all callers to pass this value.
+       (agent_askpin,agent_get_passphrase,agent_get_confirmation): Add
+       CTRL arg and pass it ot start_pinentry.
+       * command.c (cmd_get_passphrase): Pass CTRL argument.
+       * trustlist.c (agent_marktrusted):  Add CTRL argument  
+       * command.c (cmd_marktrusted): Pass CTRL argument
+       * divert-scd.c (ask_for_card):  Add CTRL arg. 
+       (divert_pksign,divert_pkdecrypt): Ditto.  Changed caller.
+       (getpin_cb): Use OPAQUE to pass the CTRL variable.  Changed both 
+       users.
+       * findkey.c (unprotect): Add CTRL arg.
+       (agent_key_from_file): Ditto.
+
+       * query.c (unlock_pinentry): Disconnect the pinentry so that we
+       start a new one for each request.  This is required to support
+       clients with different environments (e.g. X magic cookies).
+
+2002-09-05  Neal H. Walfield  <neal@cs.uml.edu>
+
+       * gpg-agent.c (main) [USE_GNU_PTH]: No need to call
+       assuan_set_io_func as assuan is smart.
+
+2002-09-25  Werner Koch  <wk@gnupg.org>
+
+       * gpg-agent.c (handle_signal): Flush cache on SIGHUP.
+       * cache.c (agent_flush_cache): New.
+
+       * gpg-agent.c, agent.h: Add --keep-display and --keep-tty.
+       * query.c (start_pinentry): Implement them.  The option passing
+       needs more thoughts.
+
+2002-09-09  Werner Koch  <wk@gnupg.org>
+
+       * gpg-agent.c (create_private_keys_directory)
+       (create_directories): New.
+       (main): Try to create a home directory.
+
+2002-09-04  Neal H. Walfield  <neal@g10code.de>
+
+       * gpg-agent.c (main): Use sigaction, not signal.
+
+2002-09-03  Neal H. Walfield  <neal@g10code.de>
+
+       * findkey.c: Include <fcntl.h>.
+       (agent_write_private_key): Prefer POSIX compatibity, open and
+       fdopen, over the simplicity of GNU extensions, fopen(file, "x").
+
+2002-08-22  Werner Koch  <wk@gnupg.org>
+
+       * query.c (agent_askpin): Provide the default desc text depending
+       on the pininfo.  Do the basic PIN verification only when
+       min_digits is set.
+
+2002-08-21  Werner Koch  <wk@gnupg.org>
+
+       * query.c (agent_askpin): Hack to show the right default prompt.
+       (agent_get_passphrase): Ditto.
+
+       * trans.c: Removed and replaced all usages with standard _()
+
+       * divert-scd.c (getpin_cb): Pass a more descritive text to the
+       pinentry.
+
+       * Makefile.am: Renamed the binary protect-tool to gpg-protect-tool.
+       * protect-tool.c: Removed the note about internal use only.
+
+       * gpg-agent.c (main): New option --daemon so that the program is
+       not accidently started in the background.
+
+2002-08-16  Werner Koch  <wk@gnupg.org>
+
+       * call-scd.c (learn_status_cb): Handle CERTINFO status.
+       (agent_card_learn): Add args for certinfo cb.
+       * learncard.c (release_certinfo,certinfo_cb): New.
+       (send_cert_back): New. With factored out code from ..
+       (agent_handle_learn): here.  Return certinfo stuff.
+
+2002-07-26  Werner Koch  <wk@gnupg.org>
+
+       * gpg-agent.c (main): New option --ignore-cache-for-signing.
+       * command.c (option_handler): New server option
+       use-cache-for-signing defaulting to true.
+       (cmd_pksign): handle global and per session option.
+       * findkey.c (agent_key_from_file, unprotect): New arg
+       ignore_cache.  Changed all callers.
+       * pksign.c (agent_pksign): Likewise.
+
+2002-06-29  Werner Koch  <wk@gnupg.org>
+
+       * query.c (start_pinentry): Use GNUPG_DERAULT_PINENTRY.
+       * call-scd.c (start_scd): Use GNUPG_DEFAULT_SCDAEMON.
+
+2002-06-28  Werner Koch  <wk@gnupg.org>
+
+       * protect-tool.c (export_p12_file): New.
+       (main): New command --p12-export.
+       * minip12.c (create_final,p12_build,compute_tag_length): New.
+       (store_tag_length): New.
+
+2002-06-27  Werner Koch  <wk@gnupg.org>
+
+       * minip12.c (crypt_block): Renamed from decrypt_block, add arg to
+       allow encryption.
+
+       * Makefile.am (pkglib_PROGRAMS): Put protect-tool there.
+
+       * findkey.c (agent_write_private_key,agent_key_from_file)
+       (agent_key_available): Use GNUPG_PRIVATE_KEYS_DIR constant.
+       * gpg-agent.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
+
+       * protect-tool.c (store_private_key): New.
+       (import_p12_file): Store the new file if requested.
+       (main): New options --force and --store.
+
+       * gpg-agent.c (main): Set a global flag when running detached.
+       * query.c (start_pinentry): Pass the list of FD to keep in the
+       child when not running detached.
+       * call-scd.c (start_scd): Ditto.
+
+2002-06-26  Werner Koch  <wk@gnupg.org>
+
+       * command.c (cmd_istrusted, cmd_listtrusted, cmd_marktrusted)
+       (cmd_pksign, cmd_pkdecrypt, cmd_genkey, cmd_get_passphrase)
+       (cmd_learn): Print an error message for a failed operation.
+
+       * simple-pwquery.c, simple-pwquery.h: New.
+       * protect-tool. (get_passphrase): New, used to get a passphrase
+       from the agent if none was given on the command line.
+
+2002-06-25  Werner Koch  <wk@gnupg.org>
+
+       * protect-tool.c (rsa_key_check): New.
+       (import_p12_file): New.
+       (main): New command --p12-import.
+       * minip12.c, minip12.h: New.
+
+2002-06-24  Werner Koch  <wk@gnupg.org>
+
+       * protect-tool.c (read_file): New.
+       (read_key): Factored most code out to read_file.
+
+2002-06-17  Werner Koch  <wk@gnupg.org>
+
+       * agent.h: Add a callback function to the pin_entry_info structure.
+       * query.c (agent_askpin): Use the callback to check for a correct
+       PIN.  Removed the start_err_text argument because it is not
+       anymore needed; changed callers.
+       * findkey.c (unprotect): Replace our own check loop by a callback.
+       (try_unprotect_cb): New.
+       * genkey.c (reenter_compare_cb): New.
+       (agent_genkey): Use this callback here.  Fixed setting of the pi2
+       variable and a segv in case of an empty PIN.
+
+       * divert-scd.c (getpin_cb): Removed some unused stuff and
+       explained what we still have to change.
+
+2002-06-12  Werner Koch  <wk@gnupg.org>
+
+       * gpg-agent.c (main): New option --disable-pth.
+
+2002-06-11  Werner Koch  <wk@gnupg.org>
+
+       * protect-tool.c: Add command --show-keygrip
+       (show_keygrip): New.
+
+2002-05-23  Werner Koch  <wk@gnupg.org>
+
+       * call-scd.c: Seirialized all scdaeom access when using Pth.
+
+       * cache.c: Made the cache Pth-thread-safe.
+       (agent_unlock_cache_entry): New.
+       * findkey.c (unprotect): Unlock the returned cache value.
+       * command.c (cmd_get_passphrase): Ditto.
+
+       * gpg-agent.c (main): Register pth_read/write with Assuan.
+
+2002-05-22  Werner Koch  <wk@gnupg.org>
+
+       * query.c: Serialized all pinentry access when using Pth.
+
+       * gpg-agent.c (handle_signal,start_connection_thread)
+       (handle_connections): New
+       (main): Use the new Pth stuff to allow concurrent connections.
+       * command.c (start_command_handler): Add new arg FD so that the
+       fucntion can also be used for an already connected socket.
+       * Makefile.am: Link with Pth.
+
+2002-05-14  Werner Koch  <wk@gnupg.org>
+
+       * cache.c (housekeeping, agent_put_cache): Use our time() wrapper.
+
+2002-04-26  Werner Koch  <wk@gnupg.org>
+
+       * cache.c (agent_put_cache): Reinitialize the creation time and
+       the ttl when reusing a slot.
+
+       * call-scd.c (start_scd): Print debug messages only with debug
+       flags set.
+       * query.c (start_pinentry): Ditto.
+
+2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
+
+       * agent.h (agent_get_confirmation): Replace paramter prompt with
+       two parameters ok and cancel.
+       * query.c (agent_get_confirmation): Likewise.  Implement this.
+       * trustlist.c (agent_marktrusted): Fix invocation of
+       agent_get_confirmation.
+       * divert-scd.c (ask_for_card): Likewise.
+
+2002-04-24  Marcus Brinkmann  <marcus@g10code.de>
+
+       * agent.h (struct opt): Add members display, ttyname, ttytype,
+       lc_ctype, and lc_messages.
+       * gpg-agent.c (enum cmd_and_opt_values): Add oDisplay, oTTYname,
+       oTTYtype, oLCctype, and LCmessages.
+       (main): Handle these options.
+       * command.c (option_handler): New function.
+       (register_commands): Register option handler.
+       * query.c (start_pinentry): Pass the various display and tty
+       options to the pinentry.
+
+2002-04-05  Werner Koch  <wk@gnupg.org>
+
+       * protect-tool.c (show_file): New.  Used as default action.
+
+2002-03-28  Werner Koch  <wk@gnupg.org>
+
+       * divert-scd.c (encode_md_for_card): Don't do the pkcs-1 padding,
+       the scdaemon should take care of it.
+       (ask_for_card): Hack to not display the trailing zero.
+
+2002-03-11  Werner Koch  <wk@gnupg.org>
+
+       * learncard.c (kpinfo_cb): Remove the content restrictions from
+       the keyID.
+
+2002-03-06  Werner Koch  <wk@gnupg.org>
+
+       * learncard.c: New.
+       * divert-scd.c (ask_for_card): The serial number is binary so
+       convert it to hex here.
+       * findkey.c (agent_write_private_key): New.
+       * genkey.c (store_key): And use it here.
+       
+       * pkdecrypt.c (agent_pkdecrypt): Changed the way the diversion is done.
+       * divert-scd.c (divert_pkdecrypt): Changed interface and
+       implemented it.
+
 2002-03-05  Werner Koch  <wk@gnupg.org>
 
        * call-scd.c (inq_needpin): New.
        (agent_card_pksign): Add getpin_cb args.
+       (agent_card_pkdecrypt): New.
 
 2002-03-04  Werner Koch  <wk@gnupg.org>
 
        * pksign.c (agent_pksign): Changed how the diversion is done.
-       * divert-scd.c (divert_pksign): Change interface and implemented it.
+       * divert-scd.c (divert_pksign): Changed interface and implemented it.
        (encode_md_for_card): New.
        * call-scd.c (agent_card_pksign): New.