2009-11-10 Marcus Brinkmann <marcus@g10code.de>
[gpgme.git] / src / ChangeLog
index 0f50c5c969e32f50971df409ad8a9f7ffdda4e24..d7af1d6c0d4d59cb4b95f6d4dcc1665ad2e3efe0 100644 (file)
@@ -1,5 +1,162 @@
+2009-11-10  Marcus Brinkmann  <marcus@g10code.de>
+
+       * op-support.c (_gpgme_op_reset): Instead of last change, only set
+       sub protocol if it is not the default.
+
+2009-11-10  Werner Koch  <wk@g10code.com>
+
+       * op-support.c (_gpgme_op_reset): Ignore GPG_ERR_NOT_IMPLEMENTED
+       while setting the sub protocol.
+
+       * engine-uiserver.c (uiserver_new): Pass fdpassing flag to
+       assuan_socket_connect.
+       (set_recipients): Replace fingerprint by user id.
+
+       * engine-gpgsm.c (set_recipients): Fix non-terminating loop in
+       case of a missing key.
+
+2009-11-10  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme.c (gpgme_new): Set default sub protocol.
+       * gpgme-tool.c: Implement get sub protocol.
+
+       * gpgme.h.in (gpgme_get_sub_protocol): Add prototype.
+       * gpgme.def, libgpgme.vers: Add gpgme_get_sub_protocol.
+       * context.h (struct gpgme_context): New member sub_protocol.
+       * gpgme.c (gpgme_set_sub_protocol): Set CTX->sub_protocol.
+       (gpgme_get_sub_protocol): New function.
+       * op-support.c (_gpgme_op_reset): Set sub protocol.
+
+       * Makefile.am (uiserver_components): New variable.
+       (main_sources): Add it.
+       * ops.h, key.c (_gpgme_key_append_name): Take CONVERT argument,
+       implement it.  Adjust callers.
+       (gpgme_key_from_uid): New function.
+       * gpgme.h.in (gpgme_protocol_t): Add GPGME_PROTOCOL_DEFAULT.
+       (gpgme_encrypt_flags_t): Add GPGME_ENCRYPT_PREPARE,
+       GPGME_ENCRYPT_EXPECT_SIGN.
+       (gpgme_set_sub_protocol, gpgme_key_from_uid): New functions.
+       * libgpgme.vers, gpgme.def: Add new functions.
+       * gpgme.c (gpgme_set_protocol): Add UIServer protocol.
+       (gpgme_set_sub_protocol): New function.
+       (gpgme_get_protocol_name): Add UIServer and default protocol.
+       * assuan-support.c: Return correct error values, implement
+       socketpair for POSIX.
+       * priv-io.h, posix-io.c, w32-io.c, w32-glib-io.c,
+       w32-qt-io.cpp (_gpgme_io_spawn): Add ATFORK and ATFORKVALUE
+       arguments.  Implement it for POSIX.  Adjust all callers.
+       * engine.h, engine-backend.h (_gpgme_engine_set_protocol)
+       (_gpgme_engine_op_decrypt_verify): New prototypes.  Adjust all
+       users.
+       * engine.c (engine_ops, gpgme_get_engine_info): Add UIServer
+       engine.
+       (_gpgme_engine_set_protocol, _gpgme_engine_op_decrypt_verify): New
+       function.
+       * decrypt-verify.c (decrypt_verify_start): Call
+       _gpgme_engine_op_decrypt_verify.
+       * util.h, posix-util.c,
+       w32-util.c (_gpgme_get_uiserver_socket_path): New function.
+       * engine-gpgsm.c (gpgsm_set_fd): Fix _gpgme_io_pipe invocation.
+       * gpgme-tool.c: Some support for UIServer protocol.
+       * engine-uiserver.c: New file.
+
+2009-11-09  Marcus Brinkmann  <marcus@g10code.de>
+
+       * engine-gpgsm.c (gpgsm_new): Close server side FDs.
+
+2009-11-06  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme-tool.c (struct gpgme_tool): New members write_data and
+       write_data_hook.
+       (gt_write_data): New function.
+       (gt_result): Output vfs_mount result.
+       (server_write_data): New function.
+       (gpgme_server): Initialize write_data members.
+
+2009-11-05  Marcus Brinkmann  <marcus@g10code.de>
+
+       * engine-g13.c (struct engine_g13): Remove members RESULT_CB and
+       RESULT_CB_VALUE.
+       (g13_assuan_simple_command, status_handler): Don't use those anymore.
+       (g13_transact): Remove them from argument list, too.
+       * vfs-mount.c (_gpgme_vfs_mount_status_handler): New function.
+       (_gpgme_op_vfs_mount): Pass it to transact.
+
+       * engine-assuan.c (llass_new): Update use of assuan_socket_connect.
+       * engine-gpgsm.c (gpgsm_new): Update use of assuan_pipe_connect.
+       * engine-g13.c (g13_new): Likewise.
+
+       * priv-io.h (IOSPAWN_FLAG_NOCLOSE): New flag.
+       * w32-io.c (_gpgme_io_spawn): Implement this flag.
+       * posix-io.c (_gpgme_io_spawn): Likewise.
+       * w32-glib-io.c (_gpgme_io_spawn): Likewise.
+       * assuan-support.c (my_spawn): Set this flag.
+
+       * decrypt.c (gpgme_op_decrypt_start): Fix use of debug macro.
+       * decrypt-verify.c (gpgme_op_decrypt_verify_start): Likewise.
+       * delete.c (gpgme_op_delete_start): Likewise.
+       * edit.c (gpgme_op_edit_start, gpgme_op_card_edit_start):
+       Likewise.
+       * encrypt.c (gpgme_op_encrypt_start): Likewise.
+       * encrypt-sign.c (gpgme_op_encrypt_sign_start): Likewise.
+       * export.c (gpgme_op_export_start, gpgme_op_export_ext_start)
+       (gpgme_op_export_keys_start, gpgme_op_export_keys): Likewise.
+       * genkey.c (gpgme_op_genkey_start): Likewise.
+       * getauditlog.c (gpgme_op_getauditlog_start): Likewise.
+       * import.c (gpgme_op_import_start, gpgme_op_import_keys_start):
+       Likewise.
+       * opassuan.c (gpgme_op_assuan_transact_start): Likewise.
+       * sign.c (gpgme_op_sign_start): Likewise.
+       * verify.c (gpgme_op_verify_start): Likewise.
+       * vfs-create.c (gpgme_op_vfs_create): Likewise.
+       * vfs-mount.c (gpgme_op_vfs_mount): Likewise.
+
+2009-11-04  Marcus Brinkmann  <marcus@g10code.de>
+
+       * ath.h (ath_self): New prototype.  Include <stdint.h>
+       * ath.c, ath-pth.c, ath-pthread.c (ath_self): New function.
+       * debug.h: Rewrite most macros to beautify debug output.
+       (_gpgme_debug_buffer): Remove tagname and tag argument.
+       (_gpgme_debug_frame_begin, _gpgme_debug_frame_end): New prototypes.
+       * debug.c: Include <time.h>.  Don't include assuan.h.
+       (frame_nr, FRAME_NR): New thread-specific variable and macro.
+       (debug_init): Do not initialize assuan.  Call _gpgme_debug after
+       initialization instead using printf directly.
+       (_gpgme_debug): Do not call debug_init (we now ensure proper
+       initialization by user).  Add timestamp and thread/process ID.
+       (_gpgme_debug_buffer): Do not take tagname and tag argument.
+       (_gpgme_debug_frame_begin, _gpgme_debug_frame_end): New functions.
+       * version.c (gpgme_check_version_internal, gpgme_check_version):
+       Fix debug string.  Do not initialize assuan.
+       * posix-io.c (get_max_fds): Use 0 not NULL (nicer debug output).
+
+2009-11-04  Werner Koch  <wk@g10code.com>
+
+       * gpgme-tool.c (register_commands): Add HELP feature.
+
+2009-11-03  Werner Koch  <wk@g10code.com>
+
+       * gpgme.h.in (GPGME_PROTOCOL_UISERVER): New.
+
+2009-11-03  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Makefile.am (main_sources): Change g13.c to vfs-mount.c.  Add
+       vfs-create.c
+       * vfs-create.c: New file.
+       * g13.c: Renamed to ...
+       * vfs-mount.c: ... this new file.
+       * gpgme.h.in (gpgme_op_vfs_create): New prototype.
+       * gpgme.def, libgpgme.vers: Add gpgme_op_vfs_create.
+       * gpgme-tool.c (gt_vfs_create, cmd_vfs_create): New functions.
+       (register_commands): Add VFS_CREATE and CREAET.
+
 2009-11-02  Marcus Brinkmann  <marcus@g10code.de>
 
+       * debug.h (_gpgme_debug_buffer): Make TAG argument const const.
+       * debug.c (_gpgme_debug_buffer): Likewise.
+       * gpgme-tool.c (input_notify, output_notify): Adjust type to new
+       assuan interface.
+       * decrypt.c (gpgme_op_decrypt_result): Remove unused variable.
        * opassuan.c (gpgme_op_assuan_transact): Fix return value.
 
 2009-10-30  Marcus Brinkmann  <marcus@g10code.de>