2010-08-03 Marcus Brinkmann <marcus@g10code.de>
[gpgme.git] / src / ChangeLog
index e672836800a3f7bcf6371dbda884baa023548b18..73588ab0994958307736794d1b9b286f3dc93846 100644 (file)
@@ -1,3 +1,109 @@
+2010-08-03  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme-tool.c (result_encrypt_to_xml, result_sign_to_xml)
+       (result_verify_to_xml, result_import_to_xml)
+       (result_genkey_to_xml): Check vigorously for null pointers.
+
+       * w32-io.c (GPGCEDEV_IOCTL_ASSIGN_RVID): New macro.
+       (_gpgme_io_spawn): Use ASSIGN_RVID.
+
+2010-06-11  Marcus Brinkmann  <marcus@g10code.de>
+
+       * w32-io.c (_gpgme_io_spawn): Remove debug printf.
+
+2010-06-10  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme-tool.c (gpgme_server): Use special hack for Windows CE to
+       get at stdin and stdout.
+
+       * engine-gpgsm.c (gpgsm_new): Translate returned achild_fds back
+       to child_fds.
+
+       * debug.h (TRACE_SUC6): New macro.
+       * w32-io.c (MAX_SLAFD): New macro.
+       (fd_table): New static variable.
+       (new_fd, release_fd): New functions.
+       (fd_to_handle, handle_to_fd, handle_to_socket): Remove macros.
+       (MAX_READERS, MAX_WRITERS): Increase to 64.
+       (notify_table): Increase to MAX_SLAFD.
+       (struct reader_context_s, struct writer_context_s): Add member
+       file_sock.
+       (reader, writer): Use file_hd vs file_sock to decide if socket
+       operations to use.  Remove auto-detect mode.
+       (create_reader, create_writer): Set file_sock.  Unblock pending
+       thread only if this is a pipe fd.
+       (_gpgme_io_pipe): Allocate fds from table and return slot indices
+       instead of windows handles.  This allows to properly handle RVIDs.
+       (_gpgme_io_close): Handle dup'ed file descriptors.
+       (build_commandline) [HAVE_W32_SYSTEM]: Use RVID from fd table now.
+       (_gpgme_io_spawn): Use fd table now.
+       (_gpgme_io_fd2str): Use RVID from fd table now.
+       (_gpgme_io_dup): Implement using fd table.
+       (_gpgme_io_socket): Allocate fds from table.
+       (_gpgme_io_connect): Use fd from table.
+
+       * w32-glib-io.c (find_channel): Check that the slot is used.
+
+2010-06-09  Marcus Brinkmann  <marcus@g10code.de>
+
+       * w32-io.c [HAVE_W32CE_SYSTEM]: Include assuan.h and winioctl.h.
+       (GPGCEDEV_IOCTL_UNBLOCK) [HAVE_W32CE_SYSTEM]: Define.
+       (set_synchronize) [HAVE_W32CE_SYSTEM]: Stub it out.
+       (is_socket): Allow to return -1 for auto-detect (old behaviour).
+       (is_socket) [HAVE_W32CE_SYSTEM]: Return -1.
+       (reader): Handle auto-detect case.  Handle ctx->stop_me before
+       checking for EOF.
+       (destroy_reader) [HAVE_W32CE_SYSTEM]: Unblock a pending reader.
+       (writer): Handle auto-detect case.  Handle ctx->stop_me with
+       ERROR_BUSY.
+       (destroy_writer) [HAVE_W32CE_SYSTEM]: Unblock a pending writer.
+       (_gpgme_io_pipe) [HAVE_W32CE_SYSTEM]: Implement in terms of a
+       half-pipe.
+       (build_commandline) [HAVE_W32CE_SYSTEM]: New function.
+       (_gpgme_io_spawn) [HAVE_W32CE_SYSTEM]: Implement it differently
+       for this platform.
+       (_gpgme_io_fd2str) [HAVE_W32CE_SYSTEM]: Implement it for RVIDs.
+       (_gpgme_io_dup) [HAVE_W32CE_SYSTEM]: Stub it out.
+
+       * gpgme-tool.c (result_add_timestamp): Add missing NULL argument.
+       (result_sign_to_xml): Protect against NULL fingerprint.
+       (struct server): New members input_fd, input_filename,
+       input_stream output_fd, output_filename, output_stream,
+       message_filename, message_stream.
+       (server_reset_fds): Deallocate those.
+       (server_parse_fd): New function.
+       (server_data_obj): Take optional filename argument and direction
+       argument.  Also take new argument to return a filestream that
+       needs to be closed after destroying the data object.
+       Change all callers, too.
+       (input_notify, output_notify): Removed.
+       (cmd_input, cmd_output): New functions.
+       (gpgme_server): Do not register input and output notifier.
+       (register_commands): Use cmd_input and cmd_output.
+       (cmd_message): Rewritten to use server_parse_fd.
+       (cmd_delete, cmd_keylist): Fix inverted option check.
+       (main) [HAVE_W32CE_SYSTEM]: Sleep a bit to work around bug in ssh.
+
+       * genkey.c (gpgme_op_genkey): Return err with TRACE_ERR.
+
+2010-05-12  Marcus Brinkmann  <marcus@g10code.de>
+
+       * conversion.c (_gpgme_timegm) [HAVE_W32_SYSTEM]: New static
+       function.
+       (_gpgme_parse_timestamp) [HAVE_W32_SYSTEM]: Use it.
+
+       * gpgme-tool.c (main): Protect call to setlocale with
+       HAVE_SETLOCALE.
+
+       * Makefile.am (system_components): Remove custom cppflags from
+       RCCOMPILE (because gpg-error adds -idirafter that makes RC bail.
+       [HAVE_W32CE_SYSTEM]: Add w32-ce.h and w32-ce.c, clear
+       libexec_PROGRAMS.
+       * w32-ce.h, w32-ce.c: New files.
+
+       * priv-io.h: Include <sys/types.h>
+       * util.h: Likewise.
+
 2010-05-11  Marcus Brinkmann  <marcus@g10code.de>
 
        * w32-util.c: Include ath.h