2007-08-22 Marcus Brinkmann <marcus@g10code.de>
[gpgme.git] / gpgme / ChangeLog
index 2d04c3c..29f496d 100644 (file)
@@ -1,3 +1,139 @@
+2007-08-22  Marcus Brinkmann  <marcus@g10code.de>
+
+       * w32-io.c (_gpgme_io_write): Return early if COUNT is zero.
+       (writer): Remove superfluous check.
+
+2007-08-20  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme.h: Move include of gpg-error.h out of extern "C".
+
+2007-08-07  Werner Koch  <wk@g10code.com>
+
+       * gpgme.h (struct _gpgme_signature): Add member CHAIN_MODEL.
+       * verify.c (parse_trust): Set Chain_MODEL.
+
+2007-08-02  Werner Koch  <wk@g10code.com>
+
+       * w32-glib-io.c (_gpgme_io_spawn): Use DETACHED_PROCESS flag.
+       * w32-io.c (_gpgme_io_spawn): Ditto.
+       (_gpgme_io_write): Map ERROR_NO_DATA to EPIPE.
+       * debug.c (_gpgme_debug): Enable assuan logging.
+       (_gpgme_debug_subsystem_init): New.  * version.c
+       (do_subsystem_inits): Disable assuan logging and initialize de
+       debug system.
+       (gpgme_check_version): Do not trace before the subsystems are
+       initialized.
+
+2007-07-17  Marcus Brinkmann  <marcus@g10code.de>
+
+       * debug.c: Include <errno.h> and "debug.h".
+       (_gpgme_debug): Save and restore ERRNO.
+       (TOHEX): New macro.
+       (_gpgme_debug_buffer): New function.
+       * conversion.c, data-compat.c, data-mem.c, data.c, engine-gpgsm.c,
+       gpgme.c, keylist.c, posix-io.c, rungpg.c, sign.c, version.c,
+       w32-io.c, wait.c: Replace DEBUG macros by TRACE_* variants.  In
+       most of these files, add many more tracepoints.
+
+2007-07-16  Marcus Brinkmann  <marcus@g10code.de>
+
+       * engine-gpgsm.c (status_handler): Do not send BYE here.
+
+       * w32-io.c (struct reader_context_s, struct writer_context_s): New
+       members REFCOUNT.
+       (create_reader, create_writer): Initialize C->refcount to 1.
+       (destroy_reader, destroy_writer): Only destroy if C->refcount
+       drops to 0.
+       (find_reader, find_writer, kill_reader, kill_writer): Beautify.
+       * priv-io.h (_gpgme_io_dup): New prototype.
+       * posix-io.c (_gpgme_io_dup): New function. 
+       * w32-io.c (_gpgme_io_dup): Likewise.
+       * w32-glib-io.c (_gpgme_io_dup): Likewise.
+       * engine-gpgsm.c (start): Reverting to version 2007-07-10.
+
+2007-07-13  Marcus Brinkmann  <marcus@g10code.de>
+
+       * data-user.c (user_read, user_write, user_seek): Set errno and
+       return -1 instead returning the error code directly.
+       * data-compat.c (old_user_seek): Likewise.
+       * gpgme.c (gpgme_sig_notation_add): Return error properly.
+
+       * Revert the "close_notify_handler" returns int stuff.  Always
+       close in the _gpgme_io_close implementations.
+       * engine-gpgsm.c (status_handler): Try to terminate the connection
+       in case of error.
+       * w32-io.c (_gpgme_io_read): Return C->error_code in ERRNO.
+       (_gpgme_io_write): Likewise.
+       
+       * priv-io.h (_gpgme_io_set_close_notify): Change type of HANDLER
+       to _gpgme_close_notify_handler.
+       (_gpgme_close_notify_handler): New type.
+       (_gpgme_io_dup): Remove prototype.
+       * posix-io.c (notify_table, _gpgme_io_set_close_notify): Change
+       type of HANDLER to _gpgme_close_notify_handler_t.
+       (_gpgme_io_close): Do not close the FD if handler returns 0.
+       (_gpgme_io_dup): Remove function.
+       * w32-io.c (notify_table, _gpgme_io_set_close_notify,
+       _gpgme_io_close): Change type of HANDLER to
+       _gpgme_close_notify_handler_t.
+       (_gpgme_io_close): Do not close the FD if handler returns 0.
+       (_gpgme_io_dup): Remove function.
+       * w32-glib-io.c (_gpgme_io_dup): Remove function.
+       (_gpgme_io_set_close_notify, notify_table): Change type of HANDLER
+       to _gpgme_close_notify_handler_t.
+       (_gpgme_io_close): Do not close the FD if handler returns 0.
+       * rungpg.c (close_notify_handler): Change return type to int,
+       return 1.
+       * engine-gpgsm.c (close_notify_handler): Change return type to
+       int, return 0 for status FD and 1 for all other FDs.
+       (start): Do not duplicate the status FD.
+
+2007-07-12  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Makefile.am: Replace implicite rule by suffix rule.  Add
+       SUFFIXES for that.
+
+2007-07-12  Werner Koch  <wk@g10code.com>
+
+       * version.c (do_subsystem_inits) [W32]: Make sure that the socket
+       system has been started.
+
+2007-07-10  Marcus Brinkmann  <marcus@g10code.de>
+
+       * priv-io.h (_gpgme_io_dup): New prototype.
+       * posix-io.c (_gpgme_io_dup): New function. 
+       * w32-io.c (_gpgme_io_dup): Likewise.
+       * w32-glib-io.c (_gpgme_io_dup): Likewise.
+       * engine-gpgsm.c (start): Use _gpgme_dup() instead of dup().
+
+2007-07-08  Marcus Brinkmann  <marcus@g10code.de>
+
+       * engine-gpgsm.c [HAVE_W32_SYSTEM]: Enable the bunch of the file.
+       * funopen.c (funopen): Rename to _gpgme_funopen.
+
+2007-04-30  Marcus Brinkmann  <marcus@g10code.de>
+
+       * engine-gpgsm.c (gpgsm_new): Fix error handling for ttyname_r.
+       * rungpg.c (gpg_new): Likewise.
+       Submitted by Stephen Tether.
+
+2007-02-26  Werner Koch  <wk@g10code.com>
+
+       * verify.c (op_data_t): New element PLAINTEXT_SEEN.
+       (_gpgme_verify_status_handler): Return an error if more than one
+       plaintext has been seen.
+       (parse_error): New arg SET_STATUS. Also detect it based on an
+       ERROR status (gpg > 1.4.6).
+
+2007-01-26  Werner Koch  <wk@g10code.com>
+
+       * w32-io.c (build_commandline): Fixed stupid quoting bug.
+       * w32-glib-io.c (build_commandline): Ditto.
+
+       * rungpg.c (gpg_set_locale): Avoid dangling pointer after free.
+
+       * gpgme-config.in: New options --get-gpg and --get-gpgsm.
+
 2007-01-18  Marcus Brinkmann  <marcus@g10code.de>
 
        * data.h (_gpgme_data_get_fd): Add prototype.
        * data.c (gpgme_data_rewind): Allow to rewind data_type_none.
 
 
- Copyright 2001, 2002, 2003, 2004, 2005 g10 Code GmbH
+ Copyright 2001,2002,2003,2004,2005,2006,2007 g10 Code GmbH
 
  This file is free software; as a special exception the author gives
  unlimited permission to copy and/or distribute it, with or without