gpgme.git
14 years ago2009-10-26 Marcus Brinkmann <marcus@g10code.de>
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.

14 years ago2009-10-26 Marcus Brinkmann <marcus@g10code.de>
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.

14 years ago2009-10-22 Marcus Brinkmann <marcus@g10code.de>
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.

14 years agoReally add file.
Marcus Brinkmann [Tue, 20 Oct 2009 16:05:21 +0000 (16:05 +0000)]
Really add file.

14 years ago2009-10-20 Marcus Brinkmann <marcus@g10code.de>
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.

14 years agoFix version number.
Marcus Brinkmann [Tue, 20 Oct 2009 15:55:01 +0000 (15:55 +0000)]
Fix version number.

14 years agoAdd item on libassuan.
Marcus Brinkmann [Tue, 20 Oct 2009 15:54:34 +0000 (15:54 +0000)]
Add item on libassuan.

14 years ago2009-10-20 Marcus Brinkmann <marcus@g10code.de>
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.

14 years ago2009-10-20 Marcus Brinkmann <marcus@g10code.de>
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.

14 years agoAdd new debug helper
Werner Koch [Thu, 15 Oct 2009 20:54:25 +0000 (20:54 +0000)]
Add new debug helper

14 years agoFix last change for Windows.
Werner Koch [Wed, 7 Oct 2009 11:17:57 +0000 (11:17 +0000)]
Fix last change for Windows.

14 years agoBetter detection for signature creation failure.
Werner Koch [Thu, 6 Aug 2009 19:09:10 +0000 (19:09 +0000)]
Better detection for signature creation failure.

14 years agoFix detection of invalid signer keys.
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.

14 years agoAdd issing file.
Werner Koch [Wed, 8 Jul 2009 11:49:18 +0000 (11:49 +0000)]
Add issing file.

14 years agoInmplement import from keys for GPGSM.
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.

14 years agoMove gpg test programs to the top test directory.
Werner Koch [Tue, 7 Jul 2009 14:17:39 +0000 (14:17 +0000)]
Move gpg test programs to the top test directory.

14 years agoTypo fix.
Werner Koch [Tue, 7 Jul 2009 12:39:39 +0000 (12:39 +0000)]
Typo fix.

14 years ago* engine-gpgsm.c (gpgsm_import): Return an error for unknown data
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.

14 years ago2009-06-22 Marcus Brinkmann <marcus@g10code.de>
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.

14 years ago2009-06-18 Marcus Brinkmann <marcus@g10code.de>
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.

14 years agoFix last change, how did that happen?
Marcus Brinkmann [Thu, 18 Jun 2009 17:18:41 +0000 (17:18 +0000)]
Fix last change, how did that happen?

14 years ago2009-06-18 Marcus Brinkmann <marcus@g10code.de>
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.

14 years ago2009-06-18 Marcus Brinkmann <marcus@g10code.de>
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...).

14 years ago2009-06-18 Marcus Brinkmann <marcus@g10code.de>
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.

14 years ago2009-06-18 Marcus Brinkmann <marcus@g10code.de>
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.

14 years ago2009-06-18 Marcus Brinkmann <marcus@g10code.de>
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.

14 years ago2009-06-16 Marcus Brinkmann <marcus@g10code.de>
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.

14 years agoAdd support for gpg --fetch-keys.
Werner Koch [Tue, 16 Jun 2009 15:42:37 +0000 (15:42 +0000)]
Add support for gpg --fetch-keys.

14 years agodoc/
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.

14 years agoAdd new functions to import and export keys specified by gpgme_key_t.
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.

14 years ago2009-06-15 Marcus Brinkmann <marcus@g10code.de>
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.

14 years agoImproved W32 SetForegroundWindow hacks.
Werner Koch [Fri, 12 Jun 2009 16:58:45 +0000 (16:58 +0000)]
Improved W32 SetForegroundWindow hacks.

14 years agoFix possible assert in the card edit.
Werner Koch [Tue, 9 Jun 2009 18:59:45 +0000 (18:59 +0000)]
Fix possible assert in the card edit.

14 years agoAdd gpgme_io_write and gpgme_io_read.
Werner Koch [Tue, 9 Jun 2009 16:01:02 +0000 (16:01 +0000)]
Add gpgme_io_write and gpgme_io_read.
Minor cleanups.

14 years agoDo not distribute gpgme.h.
Werner Koch [Tue, 9 Jun 2009 12:44:35 +0000 (12:44 +0000)]
Do not distribute gpgme.h.

14 years agoDefine error code.
Werner Koch [Tue, 9 Jun 2009 12:13:28 +0000 (12:13 +0000)]
Define error code.

14 years agodoc/
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.

15 years agodoc/
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.

15 years ago* gpgme.h.in (gpgme_status_code_t): Explicitly initialize for
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.

15 years ago2009-05-05 Marcus Brinkmann <marcus@g10code.de>
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.

15 years ago2009-05-05 Marcus Brinkmann <marcus@g10code.de>
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.

15 years ago* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Specify --with-gpg.
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".

15 years ago2009-04-15 Marcus Brinkmann <marcus@g10code.de>
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.

15 years agoassuan/
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.

15 years ago2009-03-23 Marcus Brinkmann <marcus@g10code.de>
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.

15 years agoAdd GPGME_KEYLIST_MODE_EPHEMERAL.
Werner Koch [Wed, 18 Mar 2009 11:19:29 +0000 (11:19 +0000)]
Add GPGME_KEYLIST_MODE_EPHEMERAL.

15 years agoFix locale problem, e.g. for et_ET.
Werner Koch [Fri, 13 Mar 2009 14:19:55 +0000 (14:19 +0000)]
Fix locale problem, e.g. for et_ET.

15 years agoassuan/
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.

15 years agoChnaged the op-assuan interface.
Werner Koch [Tue, 24 Feb 2009 15:13:01 +0000 (15:13 +0000)]
Chnaged the op-assuan interface.

15 years agoFix spawn prototype for w32 glib and qt versions.
Werner Koch [Wed, 4 Feb 2009 16:48:25 +0000 (16:48 +0000)]
Fix spawn prototype for w32 glib and qt versions.

15 years agoProvide inforation about smartcards.
Werner Koch [Wed, 4 Feb 2009 09:51:43 +0000 (09:51 +0000)]
Provide inforation about smartcards.

15 years agoFirst take on the low-level assuan interface.
Werner Koch [Mon, 26 Jan 2009 10:21:10 +0000 (10:21 +0000)]
First take on the low-level assuan interface.

15 years agoRenamed rungpg.c to engine-gpg.c for conistency.
Werner Koch [Mon, 19 Jan 2009 14:44:13 +0000 (14:44 +0000)]
Renamed rungpg.c to engine-gpg.c for conistency.

15 years ago2008-12-08 Marcus Brinkmann <marcus@g10code.de> gpgme-1.1.8
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.

15 years ago2008-12-03 Marcus Brinkmann <marcus@g10code.de>
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.

15 years ago2008-12-03 Marcus Brinkmann <marcus@g10code.de>
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.

15 years agoFix doc bug.
Werner Koch [Fri, 28 Nov 2008 10:32:12 +0000 (10:32 +0000)]
Fix doc bug.

15 years ago2008-11-08 Moritz <moritz@gnu.org>
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.

15 years agoFix SIGPIPE ignoring regression.
Werner Koch [Tue, 18 Nov 2008 11:12:36 +0000 (11:12 +0000)]
Fix SIGPIPE ignoring regression.
Fix unsupported algorithm detection.

15 years ago008-11-03 Marcus Brinkmann <marcus@g10code.com>
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.

15 years agoassuan/
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.

15 years agouse validated mode.
Werner Koch [Thu, 30 Oct 2008 14:41:23 +0000 (14:41 +0000)]
use validated mode.

15 years agonew debug helper program
Werner Koch [Thu, 30 Oct 2008 13:23:42 +0000 (13:23 +0000)]
new debug helper program

15 years agoFix last change.
Werner Koch [Fri, 24 Oct 2008 14:07:14 +0000 (14:07 +0000)]
Fix last change.

15 years ago2008-10-23 Marcus Brinkmann <marcus@g10code.de>
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.

15 years agoFix bug #818.
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.

15 years ago2008-10-18 Marcus Brinkmann <marcus@g10code.com>
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.

15 years agoPost-release changes.
Marcus Brinkmann [Fri, 17 Oct 2008 21:03:00 +0000 (21:03 +0000)]
Post-release changes.

15 years ago2008-10-17 Marcus Brinkmann <marcus@g10code.com>
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.

15 years agoFix for mingw32 bug.
Werner Koch [Fri, 17 Oct 2008 11:15:48 +0000 (11:15 +0000)]
Fix for mingw32 bug.

15 years ago2008-09-23 Marcus Brinkmann <marcus@g10code.com>
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>

15 years ago2008-09-19 Moritz <moritz@gnu.org>
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".

15 years ago2008-09-16 Marcus Brinkmann <marcus@g10code.com>
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.

15 years ago2008-09-16 Marcus Brinkmann <marcus@g10code.com>
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.

15 years ago2008-08-11 Marcus Brinkmann <marcus@g10code.com>
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.

15 years ago2008-08-08 Marcus Brinkmann <marcus@g10code.com>
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.

15 years agoAdd a module overview diagram.
Werner Koch [Thu, 17 Jul 2008 17:09:39 +0000 (17:09 +0000)]
Add a module overview diagram.

15 years agoUpdate automake scripts.
Werner Koch [Fri, 4 Jul 2008 15:46:01 +0000 (15:46 +0000)]
Update automake scripts.
Minor doc changes.

15 years ago2008-06-29 Marcus Brinkmann <marcus@ulysses.g10code.com>
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.

15 years ago2008-06-27 Marcus Brinkmann <marcus@g10code.de>
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.

15 years agoAdd gpgme_cancel_async
Marcus Brinkmann [Fri, 27 Jun 2008 16:08:35 +0000 (16:08 +0000)]
Add gpgme_cancel_async

15 years ago2008-06-27 Marcus Brinkmann <marcus@g10code.de>
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.

15 years agoFix incompatibility with non-recent mingw runtimes.
Werner Koch [Thu, 26 Jun 2008 14:38:39 +0000 (14:38 +0000)]
Fix incompatibility with non-recent mingw runtimes.

15 years agoassuan/
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.

15 years agoUpdated example.
Werner Koch [Wed, 25 Jun 2008 01:44:50 +0000 (01:44 +0000)]
Updated example.

15 years agoUpdated the example.
Werner Koch [Fri, 20 Jun 2008 10:40:52 +0000 (10:40 +0000)]
Updated the example.

15 years agoFix parsing of long lines.
Werner Koch [Fri, 20 Jun 2008 09:53:54 +0000 (09:53 +0000)]
Fix parsing of long lines.

15 years agoAdd example.
Werner Koch [Thu, 19 Jun 2008 18:38:28 +0000 (18:38 +0000)]
Add example.
Update gpgconf test.

15 years agoAdd new types to the gpgconf interface.
Werner Koch [Thu, 19 Jun 2008 17:37:31 +0000 (17:37 +0000)]
Add new types to the gpgconf interface.
Fix a parsing bug in gpgconf interface.

15 years agoAdd missing file.
Werner Koch [Thu, 5 Jun 2008 10:56:40 +0000 (10:56 +0000)]
Add missing file.

15 years agoInclude the GnuPG UI Server specification.
Werner Koch [Wed, 4 Jun 2008 14:14:38 +0000 (14:14 +0000)]
Include the GnuPG UI Server specification.
Change the license of the manual to GPLv3+.

16 years agoFixed a gpgconf problem under Windows.
Werner Koch [Fri, 9 May 2008 08:26:28 +0000 (08:26 +0000)]
Fixed a gpgconf problem under Windows.

16 years agoSupport --locate-keys feature of gpg.
Werner Koch [Wed, 7 May 2008 15:41:14 +0000 (15:41 +0000)]
Support --locate-keys feature of gpg.

16 years agoAllow for engine version lines with a suffix.
Werner Koch [Tue, 6 May 2008 08:13:39 +0000 (08:13 +0000)]
Allow for engine version lines with a suffix.

16 years agoFixed a bug reading from gpgconf.
Werner Koch [Mon, 28 Apr 2008 18:42:56 +0000 (18:42 +0000)]
Fixed a bug reading  from gpgconf.

16 years ago2008-04-22 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Tue, 22 Apr 2008 11:20:50 +0000 (11:20 +0000)]
2008-04-22  Marcus Brinkmann  <marcus@g10code.de>

* w32-qt-io.cpp, kdpipeiodevice.cpp: New versions from Frank
Osterfeld, implement blocking select.

16 years agodoc/
Marcus Brinkmann [Tue, 11 Mar 2008 16:05:40 +0000 (16:05 +0000)]
doc/
2008-03-11  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (File Based Data Buffers): Document the need for
blocking operations.
(Callback Based Data Buffers): Likewise.

gpgme/
2008-03-11  Marcus Brinkmann  <marcus@g10code.de>

* data.c (gpgme_data_read, gpgme_data_write): Retry on EINTR.

16 years ago2008-03-06 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Thu, 6 Mar 2008 14:54:11 +0000 (14:54 +0000)]
2008-03-06  Marcus Brinkmann  <marcus@g10code.de>

* key.c (_gpgme_key_add_sig): Terminate UID in case SRC is NULL.
Reported by Marc Mutz.

16 years ago2008-03-05 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 5 Mar 2008 19:58:41 +0000 (19:58 +0000)]
2008-03-05  Marcus Brinkmann  <marcus@g10code.de>

* decrypt.c (release_op_data): Release OPD->result.recipients.
* encrypt.c (release_op_data): Release invalid_recipient.

16 years ago2008-03-05 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 5 Mar 2008 12:00:57 +0000 (12:00 +0000)]
2008-03-05  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (Library Version Check): Rename snippet function to
init_gpgme.
(I/O Callback Example): Call it here.