Marcus Brinkmann [Mon, 9 Nov 2009 21:17:58 +0000 (21:17 +0000)]
2009-11-09 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_new): Close server side FDs.
Marcus Brinkmann [Fri, 6 Nov 2009 00:44:44 +0000 (00:44 +0000)]
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.
Marcus Brinkmann [Fri, 6 Nov 2009 00:12:59 +0000 (00:12 +0000)]
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.
Marcus Brinkmann [Thu, 5 Nov 2009 12:10:04 +0000 (12:10 +0000)]
2009-11-05 Marcus Brinkmann <marcus@g10code.de>
* 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.
Marcus Brinkmann [Thu, 5 Nov 2009 02:39:31 +0000 (02:39 +0000)]
2009-11-05 Marcus Brinkmann <marcus@g10code.de>
* 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.
Marcus Brinkmann [Thu, 5 Nov 2009 02:17:07 +0000 (02:17 +0000)]
2009-11-05 Marcus Brinkmann <marcus@g10code.de>
* 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.
Marcus Brinkmann [Wed, 4 Nov 2009 18:13:44 +0000 (18:13 +0000)]
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).
Werner Koch [Wed, 4 Nov 2009 10:43:42 +0000 (10:43 +0000)]
Adjust for changed assuan_register_command.
Werner Koch [Tue, 3 Nov 2009 20:27:35 +0000 (20:27 +0000)]
Prepare for a new protocol.
Comment clarification.
Marcus Brinkmann [Tue, 3 Nov 2009 19:15:35 +0000 (19:15 +0000)]
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.
Marcus Brinkmann [Mon, 2 Nov 2009 17:18:48 +0000 (17:18 +0000)]
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.
Marcus Brinkmann [Mon, 2 Nov 2009 17:06:14 +0000 (17:06 +0000)]
2009-11-02 Marcus Brinkmann <marcus@g10code.de>
* opassuan.c (gpgme_op_assuan_transact): Fix return value.
Marcus Brinkmann [Fri, 30 Oct 2009 14:21:08 +0000 (14:21 +0000)]
2009-10-30 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Check for argp.h and error_t.
src/
2009-10-30 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (noinst_PROGRAMS): New target gpgme-tool.
(gpgme_tool_LDADD): New variable.
* gpgme-tool.c: New file.
* ops.h (_gpgme_sig_notation_clearm _gpgme_signers_clear): New
prototypes.
* gpgme.c (gpgme_set_protocol): Allow GPGME_PROTOCOL_GPGCONF (when
had that gone missing?).
(_gpgme_sig_notation_clear): New function without debug output.
(gpgme_release): Call it and _gpgme_signers_clear.
* signers.c (_gpgme_signers_clear): New function without debug output.
* g13.c (gpgme_op_vfs_mount): Add debug output.
* assuan-support.c (my_spawn): Allow fd_child_list to be NULL.
* conversion.c (_gpgme_encode_percent_string): Fix infinite loop.
* debug.h: Put tag in front of debug lines, should make for nicer
output.
* engine-assuan.c (llass_new): Use our new system hooks for libassuan.
* engine-g13.c (g13_new): Remove redundant assuan context allocation.
* version.c (gpgme_check_version_internal): Delay debug output
until after gpgme_check_version was called.
Marcus Brinkmann [Fri, 30 Oct 2009 14:13:42 +0000 (14:13 +0000)]
Some additions.
Marcus Brinkmann [Wed, 28 Oct 2009 16:39:19 +0000 (16:39 +0000)]
2009-10-28 Marcus Brinkmann <marcus@g10code.de>
* signers.c, encrypt-sign.c, encrypt.c, delete.c, keylist.c,
edit.c, import.c, export.c: Fix last change in debug output.
Marcus Brinkmann [Tue, 27 Oct 2009 19:23:56 +0000 (19:23 +0000)]
2009-10-27 Marcus Brinkmann <marcus@g10code.de>
* edit.c (gpgme_op_edit_start, gpgme_op_edit)
(gpgme_op_card_edit_start, gpgme_op_card_edit): Add debug output.
* encrypt-sign.c (gpgme_op_encrypt_sign_start)
(gpgme_op_encrypt_sign): Likewise.
* encrypt.c (gpgme_op_encrypt_start, gpgme_op_encrypt)
(gpgme_op_encrypt_result): Likewise.
* export.c (gpgme_op_export_start, gpgme_op_export)
(gpgme_op_export_ext_start, gpgme_op_export_ext)
(gpgme_op_export_keys_start, gpgme_op_export_keys): Likewise.
* genkey.c (gpgme_op_genkey_start, gpgme_op_genkey)
(gpgme_op_genkey_result): Likewise.
* getauditlog.c (gpgme_op_getauditlog_start)
(gpgme_op_getauditlog): Likewise.
* import.c (gpgme_op_import_result, gpgme_op_import_start)
(gpgme_op_import): Likewise.
* keylist.c (gpgme_op_keylist_result, keylist_colon_handler)
(gpgme_op_keylist_start, gpgme_op_keylist_ext_start)
(gpgme_op_keylist_next, gpgme_op_keylist_end, gpgme_get_key): Likewise.
* opassuan.c (gpgme_op_assuan_transact_start)
(gpgme_op_assuan_transact_ext, gpgme_op_assuan_result)
(gpgme_op_assuan_transact): Likewise.
* signers.c (gpgme_signers_add, gpgme_signers_clear): Likewise.
* trustlist.c (gpgme_op_trustlist_start)
(gpgme_op_trustlist_next, gpgme_op_trustlist_end): Likewise.
* verify.c (gpgme_op_verify_start, gpgme_op_verify)
(gpgme_op_verify_result): Likewise.
Marcus Brinkmann [Mon, 26 Oct 2009 18:52:32 +0000 (18:52 +0000)]
2009-10-26 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (NEED_GPG_VERSION_DEFAULT): Bump to 1.4.0 as 1.3.0
was development versions only.
tests/
2009-10-26 Marcus Brinkmann <marcus@g10code.de>
* opassuan/t-command.c: Update to new interface.
src/
2009-10-26 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h.in (struct gpgme_io_event_done_data)
(gpgme_io_event_done_data_t): New types.
(struct _gpgme_op_assuan_result): Deprecate the err member.
(gpgme_op_assuan_result): Deprecate (for now).
(gpgme_op_assuan_transact_ext): New prototype.
(gpgme_op_assuan_transact): Deprecate.
(struct _gpgme_op_g13_result): Replace with ...
(struct _gpgme_op_vfs_mount_result): ... this.
(gpgme_op_g13_mount): Replace with ...
(gpgme_op_vfs_mount): ... this.
* gpgme.def (gpgme_op_assuan_transact_ext, gpgme_wait_ext)
(gpgme_op_vfs_mount_result, gpgme_op_vfs_mount): New.
(gpgme_op_g13_mount): Remove.
* libgpgme.vers: Likewise.
* engine-backend.h (struct engine_ops): Remove RESULT_CB and
RESULT_CB_VALUE args in opassuan_transact member. Add CANCEL_OP
member.
* ops.h (_gpgme_cancel_with_err, _gpgme_wait_on_condition): Add
OP_ERR argument.
(_gpgme_wait_one_ext): New prototype.
* context.h (ctx_op_data_id_t): Add OPDATA_VFS_MOUNT.
* engine-g13.c (g13_cancel_op): New function.
(parse_status): Remove declaration.
(g13_assuan_simple_command): Do nothing with status lines for now.
(status_handler): Update opaque value access.
(_gpgme_engine_ops_g13): Add new cancel_op member.
* gpgme.c (_gpgme_cancel_with_err): Add new parameter OP_ERR.
Handle operational errors.
(gpgme_cancel, gpgme_io_read, gpgme_io_write): Add debug output.
* data.c (_gpgme_data_inbound_handler)
(_gpgme_data_outbound_handler): Adjust opaque value access.
* engine-gpg.c (command_handler, status_handler)
(colon_line_handler): Likewise.
* engine-gpgsm.c (status_handler): Likewise.
* engine-gpg.c (_gpgme_engine_ops_gpg): Add cancel_op member.
* engine-gpgsm.c (_gpgme_engine_ops_gpgsm): Likewise.
* g13.c: Rewritten (and will be rewritten again).
* engine.h (_gpgme_engine_op_assuan_transact): Remove result_cb
and result_cb_value parameters from prototype.
(_gpgme_engine_cancel_op): New prototype.
* engine.c (engine_ops) [! ENABLE_ASSUAN]: Add missing comma.
(_gpgme_engine_op_assuan_transact): Remove result_cb and
result_cb_value parameter.
(_gpgme_engine_cancel_op): New function.
* wait.h (_gpgme_run_io_cb): Add new argument OP_ERR.
(struct io_cb_data): New struct to pass opaque data and get a
op_err return value. Needed because we can't modify I/O callback
handler signature because it is exposed to the user.
* wait.c (_gpgme_run_io_cb): Add OP_ERR parameter. Handle
operational errors.
* wait-user.c (_gpgme_user_io_cb_handler): Handle operational
errors.
* wait-private.c (_gpgme_wait_on_condition): New argument to
retrieve the operational result. Handle operational errors in
session based protocols.
(_gpgme_wait_one_ext): New function.
(_gpgme_wait_one): Pass argument in invocation of
_gpgme_wait_on_condition.
* wait-global.c (struct ctx_list_item): Add member OP_ERR.
(ctx_done): New argument OP_ERR.
(ctx_wait): New argument OP_ERR.
(gpgme_wait_ext): New function based on gpgme_wait but handling
operational errors.
(gpgme_wait): Implement in term of gpgme_wait_ext.
* keylist.c (gpgme_op_keylist_next): Pass argument in invocation
of _gpgme_wait_on_condition.
* trustlist.c (gpgme_op_trustlist_next): Pass argument in
invocation of _gpgme_wait_on_condition.
* engine-assuan.c (struct engine_llass): Replace members RESULT_CB
and RESULT_CB_VALUE by LAST_OP_ERR.
(_gpgme_engine_assuan_last_op_err): Add this hack function.
(llass_cancel_op): New function.
(_gpgme_engine_llass_ops): Add cancel_op member.
(llass_status_handler): Update opaque value access.
(llass_transact): Remove RESULT_CB and RESULT_CB_VALUE arguments.
* opassuan.c: Move compat hacks to the end of file.
(opassuan_start): Do not set OPD->result.err.
Do not pass RESULT_Cb and CTX to _gpgme_engine_op_assuan_transact.
(gpgme_op_assuan_transact_ext): New function.
Marcus Brinkmann [Mon, 26 Oct 2009 17:38:39 +0000 (17:38 +0000)]
2009-10-26 Marcus Brinkmann <marcus@g10code.de>
* debug.h (DEBUG_GLOBAL): New debug level.
* conversion.c (gnupg_errors, _gpgme_map_gnupg_error): Removed.
* data-user.c (gpgme_data_new_from_cbs): Add debug output.
* data-fd.c (gpgme_data_new_from_fd): Likewise.
* data-stream.c (gpgme_data_new_from_stream): Likewise.
* decrypt.c (gpgme_op_decrypt_result, gpgme_op_decrypt_start)
(gpgme_op_decrypt): Likewise.
* delete.c (gpgme_op_delete_start, gpgme_op_delete): Likewise.
* decrypt-verify.c (gpgme_op_decrypt_verify_start)
(gpgme_op_decrypt_verify): Likewise.
* sign.c (gpgme_op_sign_result): Fix debug message.
* data-mem.c (gpgme_data_new): Improve debug output.
* verify.c (parse_trust): Use atoi instead of
_gpgme_map_gnupg_error.
* decrypt.c (_gpgme_decrypt_status_handler): Likewise.
Marcus Brinkmann [Thu, 22 Oct 2009 16:44:07 +0000 (16:44 +0000)]
2009-10-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add support for G13.
src/
2009-10-22 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am: Remove @NETLIBS@ from LIBADDs.
(g13_components): New variable.
(main_sources): Add $(g13_components).
* g13.c, engine-g13.c: New files.
* engine.c (engine_ops): Check for assuan for assuan engine, add
g13 engine.
* util.h (_gpgme_get_g13_path, _gpgme_encode_percent_string): New
prototypes.
* conversion.c (_gpgme_encode_percent_string): New function.
* gpgme.h.in (gpgme_protocol_t): Add GPGME_PROTOCOL_G13.
(struct _gpgme_op_g13_result, gpgme_g13_result_t): New types.
(gpgme_op_g13_mount): New function.
* gpgme.def, libgpgme.vers: Add gpgme_op_g13_mount.
* gpgme.c (gpgme_set_protocol): Allow GPGME_PROTOCOL_G13.
(gpgme_get_protocol_name): Add GPGME_PROTOCOL_G13.
* posix-util.c (_gpgme_get_g13_path): New function.
* w32-util.c (_gpgme_get_g13_path): New function.
* engine-backend.h (_gpgme_engine_ops_g13): New declaration.
Marcus Brinkmann [Tue, 20 Oct 2009 16:05:21 +0000 (16:05 +0000)]
Really add file.
Marcus Brinkmann [Tue, 20 Oct 2009 16:04:06 +0000 (16:04 +0000)]
2009-10-20 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (AC_CONFIG_FILES): Remove assuan/Makefile.
Marcus Brinkmann [Tue, 20 Oct 2009 15:55:01 +0000 (15:55 +0000)]
Fix version number.
Marcus Brinkmann [Tue, 20 Oct 2009 15:54:34 +0000 (15:54 +0000)]
Add item on libassuan.
Marcus Brinkmann [Tue, 20 Oct 2009 15:54:01 +0000 (15:54 +0000)]
2009-10-20 Marcus Brinkmann <marcus@g10code.de>
* gpgme-config.in (netlibs): Remove.
(assuan_cflags, assuan_libs): Add.
Marcus Brinkmann [Tue, 20 Oct 2009 15:39:15 +0000 (15:39 +0000)]
2009-10-20 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Replace internal libassuan by external libassuan.
* m4/libassuan.m4: New file.
* Makefile.am (assuan): Remove variable.
(SUBDIRS): Remove ${assuan}.
* assuan/: Removed.
src/
2009-10-20 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (assuan_cppflags, assuan_libobjs): Removed.
(gpgsm_components): Move engine-assuan.c to ...
(assuan_components): ... this new variable.
(main_sources): Add this new variable.
(AM_CPPFLAGS): Remove $(assuan_cppflags).
(AM_CFLAGS): Add @LIBASSUAN_CFLAGS@.
(libgpgme_la_DEPENDENCIES, libgpgme_pth_la_DEPENDENCIES)
(libgpgme_glib_la_DEPENDENCIES, libgpgme_qt_la_DEPENDENCIES)
(libgpgme_pthread_la_DEPENDENCIES): Remove $(assuan_libobjs).
(libgpgme_la_LIBADD, libgpgme_pth_la_LIBADD)
(libgpgme_glib_la_LIBADD, libgpgme_qt_la_LIBADD))
(libgpgme_pthread_la_LIBADD): Replace $(assuan_libobjs) by
@LIBASSUAN_LIBS@.
* priv-io.h [!HAVE_W32_SYSTEM]: Declare _gpgme_io_recvmsg,
_gpgme_io_sendmsg, _gpgme_io_waitpid.
* engine-backend.h: Define with [ENABLE_ASSUAN] instead
of [ENABLE_GPGSM].
* posix-io.c (_gpgme_io_waitpid): Make non-static.
* util.h (ENABLE_ASSUAN): Declar _gpgme_assuan_system_hooks,
_gpgme_assuan_malloc_hooks, _gpgme_assuan_log_cb.
* engine-gpgsm.c: Don't map assuan error codes. Use
assuan_release instead of assuan_disconnect.
(map_assuan_error): Remove function.
(gpgsm_new): Use new assuan context interface.
* engine-assuan.c: Use assuan_release instead of
assuan_disconnect.
(llass_new): Use new assuan context interface.
Werner Koch [Thu, 15 Oct 2009 20:54:25 +0000 (20:54 +0000)]
Add new debug helper
Werner Koch [Wed, 7 Oct 2009 11:17:57 +0000 (11:17 +0000)]
Fix last change for Windows.
Werner Koch [Thu, 6 Aug 2009 19:09:10 +0000 (19:09 +0000)]
Better detection for signature creation failure.
Werner Koch [Thu, 6 Aug 2009 17:17:18 +0000 (17:17 +0000)]
Fix detection of invalid signer keys.
Support the new INV_SGNR status code.
Werner Koch [Wed, 8 Jul 2009 11:49:18 +0000 (11:49 +0000)]
Add issing file.
Werner Koch [Tue, 7 Jul 2009 14:33:10 +0000 (14:33 +0000)]
Inmplement import from keys for GPGSM.
Add option --cms to run-keylist test program.
Werner Koch [Tue, 7 Jul 2009 14:17:39 +0000 (14:17 +0000)]
Move gpg test programs to the top test directory.
Werner Koch [Tue, 7 Jul 2009 12:39:39 +0000 (12:39 +0000)]
Typo fix.
Werner Koch [Tue, 7 Jul 2009 12:38:18 +0000 (12:38 +0000)]
* engine-gpgsm.c (gpgsm_import): Return an error for unknown data
encodings.
Marcus Brinkmann [Mon, 22 Jun 2009 14:50:17 +0000 (14:50 +0000)]
2009-06-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add AC_TYPE_UINTPTR_T.
* assuan/assuan.h [_ASSUAN_IN_GPGME_BUILD_ASSUAN]: Declare
_gpgme_io_connect.
src/
2009-06-22 Marcus Brinkmann <marcus@g10code.de>
* debug.h: Everywhere, use %p instead of 0x%x to print pointer.
[HAVE_STDINT_H]: Include <stdint.h>.
(_TRACE, TRACE, TRACE0, TRACE1, TRACE2, TRACE3, TRACE6): Cast tag
to (uintptr_t) before casting it to (void*) to silence GCC
warning.
* gpgme.h.in (_GPGME_DEPRECATED_OUTSIDE_GPGME): New macro.
* sign.c (_GPGME_IN_GPGME): Define it.
* keylist.c (_GPGME_IN_GPGME): Define it.
* debug.c (_gpgme_debug_begin, _gpgme_debug_add): Handle error in
vasprintf and asprintf.
* priv-io.h: Include <sys/socket.h>. Declare _gpgme_io_connect.
tests/
2009-06-22 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-support.h (passphrase_cb): Implement write() according to
the book to silence compiler warning.
* gpgsm/t-support.h (passphrase_cb): Likewise.
Marcus Brinkmann [Fri, 19 Jun 2009 02:04:24 +0000 (02:04 +0000)]
2009-06-18 Marcus Brinkmann <marcus@g10code.de>
Released GPGME 1.2.0.
Marcus Brinkmann [Thu, 18 Jun 2009 17:18:41 +0000 (17:18 +0000)]
Fix last change, how did that happen?
Marcus Brinkmann [Thu, 18 Jun 2009 17:16:47 +0000 (17:16 +0000)]
2009-06-18 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (my_version): Set to 1.2.0.
(LIBGPGME_LT_CURRENT, LIBGPGME_LT_AGE): Bump.
(LIBGPGME_LT_REVISION): Reset.
Marcus Brinkmann [Thu, 18 Jun 2009 17:04:12 +0000 (17:04 +0000)]
2009-06-18 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h.in (GPGME_CONF_PATHNAME): Revert last change, it's
back! (GPA still uses it...).
Marcus Brinkmann [Thu, 18 Jun 2009 16:51:56 +0000 (16:51 +0000)]
2009-06-18 Marcus Brinkmann <marcus@g10code.de>
* gpgme.def: Fix stupid typo.
* w32-io.c (_gpgme_io_pipe): Add missing declaration.
Marcus Brinkmann [Thu, 18 Jun 2009 13:41:48 +0000 (13:41 +0000)]
2009-06-18 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h.in (GPGME_CONF_PATHNAME): Remove obsolete macro.
* w32-io.c (_gpgme_io_pipe): Allocate reader/writer thread right
away.
(_gpgme_io_read, _gpgme_io_write, _gpgme_io_select)
(_gpgme_io_dup): Never allocate threads here.
(find_writer, find_reader): Check return value of thread creation
function.
Marcus Brinkmann [Thu, 18 Jun 2009 12:38:55 +0000 (12:38 +0000)]
2009-06-18 Marcus Brinkmann <marcus@g10code.de>
* context.h (CTX_OP_DATA_MAGIC): New macro.
(struct ctx_op_data): New member MAGIC.
* op-support.c (_gpgme_op_data_lookup): Initialize magic.
* gpgme.c (gpgme_result_unref, gpgme_result_ref): Check magic.
Marcus Brinkmann [Wed, 17 Jun 2009 13:42:52 +0000 (13:42 +0000)]
2009-06-16 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_result_unref): Hot fix to release a lock.
Werner Koch [Tue, 16 Jun 2009 15:42:37 +0000 (15:42 +0000)]
Add support for gpg --fetch-keys.
Marcus Brinkmann [Tue, 16 Jun 2009 14:43:38 +0000 (14:43 +0000)]
doc/
2009-06-16 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Result Management): New section.
src/
2009-06-16 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (result_ref_lock): New global variable.
(gpgme_result_ref, gpgme_result_unref): use it.
Werner Koch [Tue, 16 Jun 2009 11:42:21 +0000 (11:42 +0000)]
Add new functions to import and export keys specified by gpgme_key_t.
Allow exporting keys to a keyserver.
Marcus Brinkmann [Mon, 15 Jun 2009 17:05:47 +0000 (17:05 +0000)]
2009-06-15 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h.in (gpgme_result_ref, gpgme_result_unref): Add
prototypes.
* gpgme.def, libgpgme.vers (gpgme_result_ref, gpgme_result_unref):
Add these.
* context.h (struct ctx_op_data): Add member "references".
* gpgme.c (gpgme_result_ref, gpgme_result_unref): New functions.
(_gpgme_release_result): Use gpgme_result_unref.
* op-support.c (_gpgme_op_data_lookup): Initialize references.
Werner Koch [Fri, 12 Jun 2009 16:58:45 +0000 (16:58 +0000)]
Improved W32 SetForegroundWindow hacks.
Werner Koch [Tue, 9 Jun 2009 18:59:45 +0000 (18:59 +0000)]
Fix possible assert in the card edit.
Werner Koch [Tue, 9 Jun 2009 16:01:02 +0000 (16:01 +0000)]
Add gpgme_io_write and gpgme_io_read.
Minor cleanups.
Werner Koch [Tue, 9 Jun 2009 12:44:35 +0000 (12:44 +0000)]
Do not distribute gpgme.h.
Werner Koch [Tue, 9 Jun 2009 12:13:28 +0000 (12:13 +0000)]
Define error code.
Marcus Brinkmann [Thu, 28 May 2009 15:16:01 +0000 (15:16 +0000)]
doc/
2009-05-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Library Version Check): Document selftest error.
(Creating Contexts): Likewise.
src/
2009-05-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h.in (gpgme_check_version_internal): New prototype.
(gpgme_check_version): New macro, overriding function of the same
name.
* libgpgme.vers, gpgme.def: Add gpgme_check_version_internal.o
* context.h (_gpgme_selftest): New variable declaration.
* version.c: Include "context.h".
(gpgme_check_version): Set _gpgme_selftest on success.
(gpgme_check_version_internal): New function.
* gpgme.c (_gpgme_selftest): Define it.
(gpgme_new): Check the selftest result.
Marcus Brinkmann [Mon, 18 May 2009 17:38:31 +0000 (17:38 +0000)]
doc/
2009-05-18 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Encrypting a Plaintext): Document
GPGME_ENCRYPT_NO_ENCRYPT_TO.
src/
2009-05-18 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h.in (gpgme_encrypt_flags_t): Add
GPGME_ENCRYPT_NO_ENCRYPT_TO.
* engine-gpg.c (gpg_encrypt): Pass --no-encrypt-to to gpg if
GPGME_ENCRYPT_NO_ENCRYPT_TO flag is set.
Werner Koch [Thu, 14 May 2009 07:40:51 +0000 (07:40 +0000)]
* gpgme.h.in (gpgme_status_code_t): Explicitly initialize for
better maintainability and to help debugging.
Marcus Brinkmann [Tue, 5 May 2009 17:19:17 +0000 (17:19 +0000)]
2009-05-05 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Engine Information): Replace path by file_name.
Marcus Brinkmann [Tue, 5 May 2009 17:03:33 +0000 (17:03 +0000)]
2009-05-05 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add infrastructure for compile time check of
_FILE_OFFSET_BITS.
src/
2009-05-05 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h.in: Add compile time check for _FILE_OFFSET_BITS.
Moritz Schulte [Sun, 19 Apr 2009 18:03:49 +0000 (18:03 +0000)]
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Specify --with-gpg.
* gpg/Makefile.am (EXTRA_DIST): Replaced mkdemodirs with mkdemodirs.in.
(mkdemodirs): New target.
(clean-local): Added command for removing mkdemodirs script.
(./Alpha/Secret.gpg): Added dependency on mkdemodirs.
* gpg/mkdemodirs: Renamed to ...
* gpg/mkdemodirs.in: ... here.
* gpg/mkdemodirs.in (GPG): Derive value from @GPG@ instead of hard-coding "gpg".
Marcus Brinkmann [Wed, 15 Apr 2009 12:04:21 +0000 (12:04 +0000)]
2009-04-15 Marcus Brinkmann <marcus@g10code.de>
* posix-io.c (_gpgme_io_socket, _gpgme_io_connect): New functions.
* w32-io.c (_gpgme_io_connect): Fix stupid error.
Marcus Brinkmann [Wed, 8 Apr 2009 18:53:57 +0000 (18:53 +0000)]
assuan/
2009-04-08 Marcus Brinkmann <marcus@g10code.de>
* assuan.h (_gpgme_io_socket): New prototype.
(_ASSUAN_CUSTOM_IO, _assuan_custom_close, _assuan_custom_read)
(_assuan_custom_write, _assuan_custom_pipe, _assuan_custom_socket)
(_assuan_custom_connect): New macros.
* assuan-socket.c (_assuan_close, _assuan_sock_new)
(_assuan_sock_connect) [_ASSUAN_CUSTOM_IO]: Use custom I/O function.
* assuan-buffer.c (assuan_read_line): Do not handle EAGAIN anymore.
* assuan-client.c (_assuan_read_from_server): Likewise.
* assuan-handler.c (process_next): Likewise
* assuan-inquire.c (assuan_inquire): Likewise.
src/
2009-04-08 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c (giochannel_table): New members used, fd, socket.
(find_channel): Drop CREATE argument.
(new_dummy_channel_from_fd, new_channel_from_fd)
(new_channel_from_socket): New functions.
(_gpgm_io_fd2str): Implement for sockets.
(_gpgme_io_write, _gpgme_io_read): Translate EAGAIN errors
correctly.
(_gpgme_io_pipe): Fix for new channel bookkeeping.
(_gpgme_io_close, _gpgme_io_dup): Likewise.
(wsa2errno, _gpgme_io_socket, _gpgme_io_connect): New.
* w32-io.c (MAX_READERS, MAX_WRITERS): Bump up to 40.
(wsa2errno, _gpgme_io_socket, _gpgme_io_connect): New.
* w32-qt-io.cpp (_gpgme_io_socket, _gpgme_io_connect): New stubs.
* version.c [HAVE_W32_SYSTEM]: Include "windows.h.
(do_subsystem_inits) [HAVE_W32_SYSTEM]: Call WSAStartup.
* engine-assuan.c (llass_status_handler): Ignore EAGAIN errors.
Marcus Brinkmann [Mon, 23 Mar 2009 22:23:25 +0000 (22:23 +0000)]
2009-03-23 Marcus Brinkmann <marcus@g10code.de>
* assuan.h: Add prefix macros for _assuan_close and _assuan_usleep.
Werner Koch [Wed, 18 Mar 2009 11:19:29 +0000 (11:19 +0000)]
Add GPGME_KEYLIST_MODE_EPHEMERAL.
Werner Koch [Fri, 13 Mar 2009 14:19:55 +0000 (14:19 +0000)]
Fix locale problem, e.g. for et_ET.
Marcus Brinkmann [Fri, 6 Mar 2009 22:29:49 +0000 (22:29 +0000)]
assuan/
2009-03-06 Marcus Brinkmann <marcus@g10code.de>
* assuan/: Update to libassuan SVN 2009-03-06.
src/
2009-03-06 Marcus Brinkmann <marcus@g10code.de>
* version.c (do_subsystem_inits): Do not set assuan log level.
* debug.c (debug_init): Likewise.
Werner Koch [Tue, 24 Feb 2009 15:13:01 +0000 (15:13 +0000)]
Chnaged the op-assuan interface.
Werner Koch [Wed, 4 Feb 2009 16:48:25 +0000 (16:48 +0000)]
Fix spawn prototype for w32 glib and qt versions.
Werner Koch [Wed, 4 Feb 2009 09:51:43 +0000 (09:51 +0000)]
Provide inforation about smartcards.
Werner Koch [Mon, 26 Jan 2009 10:21:10 +0000 (10:21 +0000)]
First take on the low-level assuan interface.
Werner Koch [Mon, 19 Jan 2009 14:44:13 +0000 (14:44 +0000)]
Renamed rungpg.c to engine-gpg.c for conistency.
Marcus Brinkmann [Mon, 8 Dec 2008 19:28:36 +0000 (19:28 +0000)]
2008-12-08 Marcus Brinkmann <marcus@g10code.de>
Release GPGME 1.1.8.
* configure.ac: Bump API revision.
Marcus Brinkmann [Wed, 3 Dec 2008 14:27:52 +0000 (14:27 +0000)]
2008-12-03 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (INCLUDES): Fix path to include file.
* gpg/Makefile.am (INCLUDES), gpgsm/Makefile.am (INCLUDES): Likewise.
Marcus Brinkmann [Wed, 3 Dec 2008 14:24:03 +0000 (14:24 +0000)]
2008-12-03 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (status-table.h): Use $(builddir) to find gpgme.h.
Werner Koch [Fri, 28 Nov 2008 10:32:12 +0000 (10:32 +0000)]
Fix doc bug.
Moritz Schulte [Sun, 23 Nov 2008 18:09:57 +0000 (18:09 +0000)]
2008-11-08 Moritz <moritz@gnu.org>
* gpgme.lisp (size-t): Wrong call to defctype: function accepts
optional, not keyword argument.
(ssize-t): Likewise.
(off-t): Likewise.
(gpgme-data-t, gpgme-ctx-t): Likewise.
(gpgme-error-t): Likewise.
(gpgme-error-no-signal-t): Likewise.
(gpgme-err-code-t): Likewise.
(gpgme-err-source-t): Likewise.
(gpgme-sig-notation-t, gpgme-engine-info-t): Likewise.
(gpgme-subkey-t): Likewise.
(gpgme-key-sig-t): Likewise.
(gpgme-user-id-t): Likewise.
(gpgme-key-t): Likewise.
(gpgme-data-cbs-t): Likewise.
(gpgme-invalid-key-t): Likewise.
(gpgme-op-encrypt-result-t): Likewise.
(gpgme-recipient-t): Likewise.
(gpgme-op-decrypt-result-t): Likewise.
(gpgme-new-signature-t): Likewise.
(gpgme-op-sign-result-t): Likewise.
(gpgme-signature-t): Likewise.
(gpgme-op-verify-result-t): Likewise.
(gpgme-import-status-t): Likewise.
(gpgme-op-import-result-t): Likewise.
(gpgme-op-genkey-result-t): Likewise.
(gpgme-op-keylist-result-t): Likewise.
Werner Koch [Tue, 18 Nov 2008 11:12:36 +0000 (11:12 +0000)]
Fix SIGPIPE ignoring regression.
Fix unsupported algorithm detection.
Marcus Brinkmann [Mon, 3 Nov 2008 17:24:09 +0000 (17:24 +0000)]
008-11-03 Marcus Brinkmann <marcus@g10code.com>
* configure.ac: Replace gpgme paths with src.
* gpgme: Move to ...
* src: ... this new directory.
assuan/
2008-11-03 Marcus Brinkmann <marcus@g10code.com>
* Makefile.am (INCLUDES): Replace gpgme path with src.
tests/
2008-11-03 Marcus Brinkmann <marcus@g10code.com>
* gpgsm/Makefile.am (INCLUDES, LDADD): Replace gpgme path with src.
* gpg/Makefile.am (INCLUDES, LDADD, t_thread1_LDADD): Likewise.
* Makefile.am (LDADD): Likewise.
Marcus Brinkmann [Thu, 30 Oct 2008 15:08:44 +0000 (15:08 +0000)]
assuan/
2008-10-30 Marcus Brinkmann <marcus@g10code.de>
* assuan-pipe-connect.c: Fix prototype for _gpgme_io_spawn. Cast
second argument in its invocation to silence gcc warning.
gpgme/
2008-10-30 Marcus Brinkmann <marcus@g10code.de>
* wait-private.c (_gpgme_wait_on_condition): Remove unused
variable IDX.
* wait-global.c: Include ops.h to silence gcc warning.
(_gpgme_wait_global_event_cb): Pass error value directly.
* wait-user.c: Include ops.h to silence gcc warning.
* posix-io.c (_gpgme_io_spawn): Make ARGV argument const to
silence gcc warning. Cast argument to execv to silence warning.
* w32-io.c (_gpgme_io_spawn): Likewise.
* priv-io.h (_gpgme_io_spawn): Likewise for prototype.
Werner Koch [Thu, 30 Oct 2008 14:41:23 +0000 (14:41 +0000)]
use validated mode.
Werner Koch [Thu, 30 Oct 2008 13:23:42 +0000 (13:23 +0000)]
new debug helper program
Werner Koch [Fri, 24 Oct 2008 14:07:14 +0000 (14:07 +0000)]
Fix last change.
Marcus Brinkmann [Thu, 23 Oct 2008 10:51:31 +0000 (10:51 +0000)]
2008-10-23 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (gpg_keylist_preprocess): Convert percent escaped
string to C coded string.
Werner Koch [Mon, 20 Oct 2008 15:59:19 +0000 (15:59 +0000)]
Fix bug #818.
Use gpgme.h.in instead of in-place editing gpgme.h.
Marcus Brinkmann [Fri, 17 Oct 2008 23:10:26 +0000 (23:10 +0000)]
2008-10-18 Marcus Brinkmann <marcus@g10code.com>
* w32-util.c (find_program_in_registry): Don't define.
(_gpgme_get_gpg_path, _gpgme_get_gpgsm_path)
(_gpgme_get_gpgconf_path): Do not check for fooProgram in the
registry anymore. It is now no longer possible to overwrite the
default location in that way.
Marcus Brinkmann [Fri, 17 Oct 2008 21:03:00 +0000 (21:03 +0000)]
Post-release changes.
Marcus Brinkmann [Fri, 17 Oct 2008 18:57:49 +0000 (18:57 +0000)]
2008-10-17 Marcus Brinkmann <marcus@g10code.com>
Release GPGME 1.1.7.
* configure.ac (LIBGPGME_LT_REVISION): Bump for release.
Werner Koch [Fri, 17 Oct 2008 11:15:48 +0000 (11:15 +0000)]
Fix for mingw32 bug.
Marcus Brinkmann [Tue, 23 Sep 2008 10:52:09 +0000 (10:52 +0000)]
2008-09-23 Marcus Brinkmann <marcus@g10code.com>
* gpgme.c (gpgme_sig_notation_clear): Clear CTX->sig_notations.
Submitted by "Daniel Mueller" <daniel@danm.de>
Moritz Schulte [Fri, 19 Sep 2008 14:15:51 +0000 (14:15 +0000)]
2008-09-19 Moritz <moritz@gnu.org>
* configure.ac: Remove bogus "esac".
Marcus Brinkmann [Tue, 16 Sep 2008 15:30:44 +0000 (15:30 +0000)]
2008-09-16 Marcus Brinkmann <marcus@g10code.com>
* configure.ac (_XOPEN_SOURCE) [apple-darwin]: Define it.
Marcus Brinkmann [Tue, 16 Sep 2008 15:23:23 +0000 (15:23 +0000)]
2008-09-16 Marcus Brinkmann <marcus@g10code.com>
* rungpg.c (gpg_new): Don't use errno with ttyname_r.
Marcus Brinkmann [Mon, 11 Aug 2008 17:23:45 +0000 (17:23 +0000)]
2008-08-11 Marcus Brinkmann <marcus@g10code.com>
* rungpg.c (gpg_cancel): Remove cmd fd before status fd.
* gpgme.c (_gpgme_cancel_with_err): New function.
(gpgme_cancel): Reimplement in terms of _gpgme_cancel_with_err.
* wait-private.c (_gpgme_wait_on_condition): Use
_gpgme_cancel_with_err.
* wait-user.c (_gpgme_user_io_cb_handler): Likewise.
* wait-global.c (_gpgme_wait_global_event_cb, gpgme_wait): Likewise.
Marcus Brinkmann [Fri, 8 Aug 2008 17:53:22 +0000 (17:53 +0000)]
2008-08-08 Marcus Brinkmann <marcus@g10code.com>
* rungpg.c (command_handler): Remove I/O callback on error, too.
Werner Koch [Thu, 17 Jul 2008 17:09:39 +0000 (17:09 +0000)]
Add a module overview diagram.
Werner Koch [Fri, 4 Jul 2008 15:46:01 +0000 (15:46 +0000)]
Update automake scripts.
Minor doc changes.
Marcus Brinkmann [Sun, 29 Jun 2008 18:41:19 +0000 (18:41 +0000)]
2008-06-29 Marcus Brinkmann <marcus@ulysses.g10code.com>
* gpgme.c (gpgme_cancel_async): Remove unused variable.
Marcus Brinkmann [Fri, 27 Jun 2008 16:14:57 +0000 (16:14 +0000)]
2008-06-27 Marcus Brinkmann <marcus@g10code.de>
* libgpgme.vers: Add gpgme_cancel_async.
* gpgme.def: Likewise.
Marcus Brinkmann [Fri, 27 Jun 2008 16:08:35 +0000 (16:08 +0000)]
Add gpgme_cancel_async
Marcus Brinkmann [Fri, 27 Jun 2008 16:07:33 +0000 (16:07 +0000)]
2008-06-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Cancellation): Document gpgme_cancel_async.
gpgme/
2008-06-27 Marcus Brinkmann <marcus@g10code.de>
* context.h: Include "sema.h".
(struct gpgme_context): New members lock and canceled.
* gpgme.c (gpgme_new): Initialize lock.
(gpgme_release): Destroy lock.
(gpgme_cancel_async): New function.
* op-support.c (_gpgme_op_reset): Reset the canceled flag.
* wait-global.c (gpgme_wait): Check cancel flag before processing
any I/O callbacks.
* wait-private.c (_gpgme_wait_on_condition): Likewise.
* wait-user.c (_gpgme_user_io_cb_handler): Likewise.
Werner Koch [Thu, 26 Jun 2008 14:38:39 +0000 (14:38 +0000)]
Fix incompatibility with non-recent mingw runtimes.
Marcus Brinkmann [Wed, 25 Jun 2008 16:52:31 +0000 (16:52 +0000)]
assuan/
2008-06-25 Marcus Brinkmann <marcus@g10code.de>
* assuan-pipe-connect.c (struct spawn_fd_item_s): Add new members.
(HANDLE_TRANSLATION): New macro.
(pipe_connect_gpgme): Adjust caller of _gpgme_io_spawn.
[HANDLE_TRANSLATION]: Return translated handles.
gpgme/
2008-06-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme-w32spawn.c: New file.
* Makefile.am (libexec_PROGRAMS) [HAVE_W32_SYSTEM]: New variable
with gpgme-w32spawn.
* engine-gpgsm.c (gpgsm_new): Use server translated handles.
(gpgsm_set_locale): Return early if locale value is NULL.
* util.h (_gpgme_mkstemp)
(_gpgme_get_w32spawn_path) [HAVE_W32_SYSTEM]: New function
prototypes.
* w32-util.c: Include <stdint.h>, <sys/stat.h> and <unistd.h>.
(letters, mkstemp, _gpgme_mkstemp, _gpgme_get_w32spawn_path): New
functions.
* rungpg.c (gpg_decrypt, gpg_encrypt, gpg_encrypt_sign)
(gpg_genkey, gpg_import, gpg_verify, gpg_sign): Pass data over
special filename FD rather than stdin.
(struct arg_and_data_s): Add member ARG_LOCP.
(struct fd_data_map_s): Add member ARG_LOC.
(struct engine_gpg): Add member ARG_LOC to status and colon.
(_add_arg, add_arg_with_locp): New function.
(add_arg_ext): Reimplement in terms of _add_arg.
(gpg_new): Remember argument location for status FD.
(build_argv): Set argument location if requested. Also set
argument location of fd_data_map for data items.
(start): Adjust caller of _gpgme_io_spawn.
* priv-io.h (struct spawn_fd_item_s): Add members peer_name and
arg_loc.
(_gpgme_io_spawn): Remove parent fd list argument.
* posix-io.c (get_max_fds): New function.
(_gpgme_io_dup): Add tracing.
(_gpgme_io_spawn): Remove parent fd list. Change meaning of child
fd list to contain all child fds that should be inherited. Close
all other file descriptors after fork.
* w32-io.c, w32-glib-io.c, w32-qt-io.c(_gpgme_io_spawn): Remove
parent fd list. Change meaning of child fd list to contain all
child fds that should be inherited. Do not inherit any file
descriptors, but DuplicateHandle them. Spawn process through
wrapper process. Provide wrapper process with a temporary file
containing handle translation data. Return translated handle
names.
* w32-io.c (reader): Add more tracing output.
(_gpgme_io_read): Likewise.
* engine-gpgconf.c (gpgconf_read): Adjust caller of
_gpgme_io_spawn.
* version.c (_gpgme_get_program_version): Likewise.