Commit Graph

1993 Commits

Author SHA1 Message Date
Marcus Brinkmann
c8e934b276 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.
2009-10-26 18:52:32 +00:00
Marcus Brinkmann
ca67902311 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.
2009-10-26 17:38:39 +00:00
Marcus Brinkmann
a6f3857128 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.
2009-10-22 16:44:07 +00:00
Marcus Brinkmann
9e2397571d Really add file. 2009-10-20 16:05:21 +00:00
Marcus Brinkmann
93f7269a0f 2009-10-20 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (AC_CONFIG_FILES): Remove assuan/Makefile.
2009-10-20 16:04:06 +00:00
Marcus Brinkmann
ba99f16240 Fix version number. 2009-10-20 15:55:01 +00:00
Marcus Brinkmann
890e8b5955 Add item on libassuan. 2009-10-20 15:54:34 +00:00
Marcus Brinkmann
06d5e93367 2009-10-20 Marcus Brinkmann <marcus@g10code.de>
* gpgme-config.in (netlibs): Remove.
	(assuan_cflags, assuan_libs): Add.
2009-10-20 15:54:01 +00:00
Marcus Brinkmann
e782b1ab06 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.
2009-10-20 15:39:15 +00:00
Werner Koch
06e22ca339 Add new debug helper 2009-10-15 20:54:25 +00:00
Werner Koch
aa747b1575 Fix last change for Windows. 2009-10-07 11:17:57 +00:00
Werner Koch
35b25decde Better detection for signature creation failure. 2009-08-06 19:09:10 +00:00
Werner Koch
0fcf3ee915 Fix detection of invalid signer keys.
Support the new INV_SGNR status code.
2009-08-06 17:17:18 +00:00
Werner Koch
54719f4937 Add issing file. 2009-07-08 11:49:18 +00:00
Werner Koch
b996b0540a Inmplement import from keys for GPGSM.
Add option --cms to run-keylist test program.
2009-07-07 14:33:10 +00:00
Werner Koch
43427b0c91 Move gpg test programs to the top test directory. 2009-07-07 14:17:39 +00:00
Werner Koch
dab2485755 Typo fix. 2009-07-07 12:39:39 +00:00
Werner Koch
3bd2d76417 * engine-gpgsm.c (gpgsm_import): Return an error for unknown data
encodings.
2009-07-07 12:38:18 +00:00
Marcus Brinkmann
1c454aee81 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.
2009-06-22 14:50:17 +00:00
Marcus Brinkmann
b207a32d4d 2009-06-18 Marcus Brinkmann <marcus@g10code.de>
Released GPGME 1.2.0.
2009-06-19 02:04:24 +00:00
Marcus Brinkmann
226b8d0a29 Fix last change, how did that happen? 2009-06-18 17:18:41 +00:00
Marcus Brinkmann
abb000da8e 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.
2009-06-18 17:16:47 +00:00
Marcus Brinkmann
70323bb33a 2009-06-18 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h.in (GPGME_CONF_PATHNAME): Revert last change, it's
	back! (GPA still uses it...).
2009-06-18 17:04:12 +00:00
Marcus Brinkmann
e6ff9579ba 2009-06-18 Marcus Brinkmann <marcus@g10code.de>
* gpgme.def: Fix stupid typo.
	* w32-io.c (_gpgme_io_pipe): Add missing declaration.
2009-06-18 16:51:56 +00:00
Marcus Brinkmann
0d77c1a3aa 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.
2009-06-18 13:41:48 +00:00
Marcus Brinkmann
3ab899f41c 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.
2009-06-18 12:38:55 +00:00
Marcus Brinkmann
9c17b3343b 2009-06-16 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_result_unref): Hot fix to release a lock.
2009-06-17 13:42:52 +00:00
Werner Koch
bebd9cbe29 Add support for gpg --fetch-keys. 2009-06-16 15:42:37 +00:00
Marcus Brinkmann
3320cc1742 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.
2009-06-16 14:43:38 +00:00
Werner Koch
b872605941 Add new functions to import and export keys specified by gpgme_key_t.
Allow  exporting keys to a keyserver.
2009-06-16 11:42:21 +00:00
Marcus Brinkmann
59eecf421e 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.
2009-06-15 17:05:47 +00:00
Werner Koch
148f51bb3e Improved W32 SetForegroundWindow hacks. 2009-06-12 16:58:45 +00:00
Werner Koch
f4e35be325 Fix possible assert in the card edit. 2009-06-09 18:59:45 +00:00
Werner Koch
caf36ce1ce Add gpgme_io_write and gpgme_io_read.
Minor cleanups.
2009-06-09 16:01:02 +00:00
Werner Koch
621ffc14ae Do not distribute gpgme.h. 2009-06-09 12:44:35 +00:00
Werner Koch
4280710f33 Define error code. 2009-06-09 12:13:28 +00:00
Marcus Brinkmann
bdb7bcf938 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.
2009-05-28 15:16:01 +00:00
Marcus Brinkmann
2c5d801fc4 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.
2009-05-18 17:38:31 +00:00
Werner Koch
63ebab659e * gpgme.h.in (gpgme_status_code_t): Explicitly initialize for
better maintainability and to help debugging.
2009-05-14 07:40:51 +00:00
Marcus Brinkmann
6e27621062 2009-05-05 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Engine Information): Replace path by file_name.
2009-05-05 17:19:17 +00:00
Marcus Brinkmann
065a0a3f6d 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.
2009-05-05 17:03:33 +00:00
Moritz Schulte
edf19bbf8f * 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".
2009-04-19 18:03:49 +00:00
Marcus Brinkmann
2dce8370e7 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.
2009-04-15 12:04:21 +00:00
Marcus Brinkmann
d255b4bec9 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.
2009-04-08 18:53:57 +00:00
Marcus Brinkmann
6f8aa0e29d 2009-03-23 Marcus Brinkmann <marcus@g10code.de>
* assuan.h: Add prefix macros for _assuan_close and _assuan_usleep.
2009-03-23 22:23:25 +00:00
Werner Koch
aceb60d4dd Add GPGME_KEYLIST_MODE_EPHEMERAL. 2009-03-18 11:19:29 +00:00
Werner Koch
f8b80c55f4 Fix locale problem, e.g. for et_ET. 2009-03-13 14:19:55 +00:00
Marcus Brinkmann
9ace1d5642 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.
2009-03-06 22:29:49 +00:00
Werner Koch
f0dccac380 Chnaged the op-assuan interface. 2009-02-24 15:13:01 +00:00
Werner Koch
d118b5a2ee Fix spawn prototype for w32 glib and qt versions. 2009-02-04 16:48:25 +00:00