Commit Graph

267 Commits

Author SHA1 Message Date
Werner Koch
5df596d6ec Post release version bump.
--
2013-05-28 12:17:45 +02:00
Werner Koch
009e26a989 Release 1.4.2.
* configure.ac: Set LT version to C21/A10/R0.
2013-05-28 11:09:07 +02:00
Werner Koch
6d0d8e7ba0 Make definition of off_t robust against misbehaving w32 toolchains.
* configure.ac (NEED__FILE_OFFSET_BITS): Change to define gpgme_off_t
and gpgme_ssize_t.
(API__OFF_T, API__SSIZE_T): New ac_subst.
* src/gpgme.h.in: Replace all ssize_t and off_t by ac_subst macros.
* src/assuan-support.c, src/ath-pthread.c, src/ath.c, src/ath.h
* src/data-compat.c, src/data-fd.c, src/data-mem.c, src/data-stream.c
* src/data-user.c, src/data.c, src/data.h, src/engine-gpgsm.c
* src/engine-uiserver.c, src/gpgme-tool.c, src/gpgme.c: Replace off_t
by gpgme_off_t and sszie_t by gpgme_ssize_t.
* src/ath-pthread.c, src/ath.h: Include gpgme.h.
--

For a detailed description, see the gpgme.texi diff.
2013-05-16 17:48:50 +02:00
Werner Koch
de30df9ce3 Post release version bump.
--
2013-05-01 14:27:08 +02:00
Werner Koch
5075c0da7c Release 1.4.1.
* configure.ac: Bump LT version to C20/A9/R1.
2013-05-01 14:16:21 +02:00
Werner Koch
ef5b4ae37d Disable fd-passing for Apple.
* configure.ac: Disable fd-passing by default for Apple.
--

We have not yet tracked down the problem, thus we revert to the
pre-1.4 behaviour for Apple.

GnuPG-bug-id: 1483
2013-05-01 13:47:41 +02:00
Werner Koch
867b950b93 Fix for i686-w64-mingw32.
* configure.ac (NEED__FILE_OFFSET_BITS): Do not define under Windows.
2013-04-29 09:58:57 +02:00
Werner Koch
68221577b7 Post release version number bump.
--
2013-02-26 18:32:08 +01:00
Werner Koch
ef5cd38123 Release 1.4.0.
* configure.ac: Bump LT version to C20/A9/R0.
2013-02-26 18:02:10 +01:00
Werner Koch
5090f6f246 Enable FD passing and thus building of the UI-server.
* configure.ac: Make --enable-fd-passing the default.
* src/engine-uiserver.c (_gpgme_engine_ops_uiserver): Syntax fix.
2013-02-26 17:26:44 +01:00
Werner Koch
cdae524b28 w32: Hacks for building with 32 bit mingw64.
* configure.ac (INSERT__TYPEDEFS_FOR_GPGME_H): Add hacks for 32 bit
mingw64.
* src/util.h [W32]: Include winsock2.h before windows to make mingw64
happy.
* src/w32-util.c (_WIN32_IE): Need to use 5.1 for mingw64.
--

It is not clear to me what mingw64 wants to achieve with their POSIX
hacks. In particular the off64_t stuff looks quite strange given that
Windows has a pretty stable API for close to 2 decades.  Thus I can't
say whether it will really work when build with that toolchain.
2013-02-26 17:10:45 +01:00
Werner Koch
787b5f14b9 Improve missing libgpg-error reporting in configure.
* configure.ac (NEED_GPG_ERROR_VERSION): New.  Improve reporting for
missing libgpg-error.
2013-02-26 17:10:43 +01:00
Werner Koch
d8b46c919f Change the various version numbers to the new scheme.
* configure.ac: Rename my_foo variables to mym4_foo variables to make
clear that they are processed by m4.
(VERSION_NUMBER): New ac_subst.
(AH_BOTTOM): Add CRIGHTBLURB macro.
(BUILD_REVISION, BUILD_FILEVERSION, BUILD_TIMESTAMP): Change them to
work similar to libgpg-error et al.
* src/versioninfo.rc.in: Remove use of BUILD_NUMBER and get it in line
with gpg-error et al.
* src/version.c (cright_blurb): New.
(gpgme_check_version_internal): Add magic to display the above
information.
* tests/t-version.c (main): Add option --verbose.
2013-02-26 17:10:18 +01:00
Werner Koch
fdcd5736e6 Update helper scripts.
* configure.ac: Use AC_CONFIG_AUX_DIR.  Remove args from
AM_INIT_AUTOMAKE.  Replace AM_CONFIG_HEADER by AC_CONFIG_HEADER.
* compile, config.guess, config.sub, depcomp, install-sh, ltmain.sh
* mkinstalldirs, texinfo.texi: Move to build-aux/ and update from
gnulib (c042abf).
* build-aux/mdate-sh, build-aux/missing: Install via automake -a -c.
Update autogen.sh for changed config dir.
* autogen.sh: Adjust for scripts dir change.  Update W32 toolprefix
list.
2013-02-26 16:14:52 +01:00
Werner Koch
967e043ac4 Remove included gitlog-to-changelog.
* build-aux/gitlog-to-changelog: Remove.
* configure.ac (GITLOG_TO_CHANGELOG): Default to just
gitlog-to-changelog.
2013-02-25 14:40:36 +01:00
Werner Koch
9c5733b89f Declare next version to be 1.4.0
--
2013-02-12 14:06:07 +01:00
Werner Koch
f48f75b1e8 Add macro GPGME_VERSION_NUMBER.
* src/gpgme.h.in (GPGME_VERSION_NUMBER): New.
* configure.ac (my_version_major, my_version_minor)
(my_version_micro): New m4 macros.
(my_version): Build from new m4 macros.
(VERSION_NUMBER): New ac_subst.
2013-02-12 14:02:08 +01:00
Werner Koch
322552a88d Improve parsing of the GIT revision number.
* configure.ac (git_revision): Use git rev-parse.
2012-11-16 13:50:58 +01:00
Werner Koch
c97d067f27 Make local variables configure hack more robust
* configure.ac (emacs_local_vars_begin): Use extra m4 quoting so that
newer Emscasen won't take it up as Local Variables for this file.
2012-10-24 16:51:47 +02:00
Werner Koch
12a0c93433 Fix ttyname problem on Android.
* configure.ac: Define macro and conditional HAVE_ANDROID_SYSTEM.
* m4/gnupg-ttyname.m4: Force use of replacement on Android.
* src/ttyname_r.c: Ditto.
--

Android's bionic lib has no working ttyname_r() nor ttyname().  Using
them anyway will print

  FIX ME! implement ttyname_r() bionic/libc/bionic/stubs.c:466

Thus we force the use of our replacement code which simply return
"/dev/tty".
2012-10-24 16:44:34 +02:00
Werner Koch
4751a0e1bc Post release updates.
--
2012-05-02 11:30:57 +02:00
Werner Koch
9c8608f702 Release 1.3.2.
* configure.ac: Bump LT version to C19/A8/R1.

* configure.ac (GITLOG_TO_CHANGELOG): Define.
* Makefile.am (gen-ChangeLog): Use it.
2012-05-02 11:18:24 +02:00
Werner Koch
2f304957f5 Fix Solaris problems with ttyname_r.
* m4/gnupg-ttyname.m4: New.  Based on ttyname_r from gnulib.
* src/ttyname_r.c (_gpgme_ttyname_r): Rename from ttyname_r.
Implement hacks required for Solaris and possible other non-fully
Posix systems.
* src/util.h: Include unistd.h.  Redefine ttyname_r depending on
REPLACE_TTYNAME_R and put it into the gpgme name space.
--

Unfortunately we cant not use the ttyname_r replacement from gnulib
because we want to keep GPGME LGPLv2+.
2012-01-19 18:43:10 +01:00
Werner Koch
c96778297f Try to make configure.ac a bit smaller.
* configure.ac: Move header checks.
2012-01-19 16:05:31 +01:00
Werner Koch
574b087e84 For W32 use a build number instead of abbreviated commit id.
We would need to use a shortened commit id so that it fits into an 16
bit Windows variable.  Further it is a random number and not something
increasing.  Thus a build number made up from the day of the year and
the hour is much more useful to describe a build number for a specific
revision.
* configure.ac [W32]: Replace BUILD_REVISION by BUILD_NUMBER.
* src/versioninfo.rc.in: Ditto.
2012-01-19 16:04:19 +01:00
Werner Koch
a0149630ce Adjust configure.ac for modern autoconf.
* configure.ac: Minor cleanups.
2012-01-19 15:57:09 +01:00
Marcus Brinkmann
3ddf4c3d40 Remove support for libgpgme-pth. 2011-10-25 18:59:26 +02:00
Marcus Brinkmann
86a439d1d1 Post-release. 2011-07-04 20:45:15 +02:00
Marcus Brinkmann
547aca0b24 Release 1.3.1 2011-06-16 14:38:59 +02:00
Marcus Brinkmann
f1ea0d9e38 Remove complus (10 years unused). 2011-05-06 13:28:11 +02:00
Werner Koch
7929e89093 Require autoconf 1.11
This is because AM_SUBST_NOTMAKE is only offically supported since
this version of automake.
2011-04-14 19:23:04 +02:00
Werner Koch
3bd6538bf5 Add an AC_SUBST_NOTMAKE
Without that the multiline INSERT__TYPEDEFS_FOR_GPGME_H would be
expanded in the Makefiles and mess them up.
2011-04-06 20:57:23 +02:00
Werner Koch
cdefec02b3 gpgme-config cleanups and --host option
gpgme-config.in: Add option --host.  Change options --cflags and
--libs to collapse duplicate include and lib dirs.  Try to put extra
libs at the end.

Note that gpgme.m4 has not yet been extended.
2011-04-06 20:10:45 +02:00
Werner Koch
7e547d87d2 Insert platform dependent typedefs into gpgme.h
We already modify gpgme.h per playform and thus we can also get rid of
some #ifdefs.  The change does not change anything for current
platforms but should do the right think for W64.

Note that as per MS specs ssize_t is to be defined as LONG_PTR which
translates to a long on 32 bit platforms and to __int64 on 64 bit
Windows platforms.  We already used long in the past.  There seems to
be a problem with some versions of mingw32 which includes a ssize_t
type typedefed to int.  O(n 32 bit W32 platforms int and long are
identically.
2011-04-06 13:45:15 +02:00
Marcus Brinkmann
129741d2f7 Fix Windows port (spawn and assuan engine).
2011-02-02  Marcus Brinkmann  <mb@g10code.com>

        * configure.ac (NEED_LIBASSUAN_VERSION): Bump to 2.0.2 for system hooks.

src/
2011-02-02  Marcus Brinkmann  <mb@g10code.com>

        * assuan-support.c (my_socket, my_connect): New functions.
        (_gpgme_assuan_system_hooks): Add my_Socket, my_connect.
        * priv-io.h (_gpgme_io_socket): New prototype.
        * w32-io.c (pid_to_handle, handle_to_oid, fd_to_handle): Remove macros.
        (is_socket): Remove function.
        (_gpgme_io_spawn) [HAVE_W32CE_SYSTEM]: Remove some dead code.
        (_gpgme_io_spawn): Translate handles before DuplicateHandle them.
2011-02-02 14:11:18 +01:00
Werner Koch
1feea09619 Shorten git revision id 2011-01-03 16:47:41 +01:00
Werner Koch
5fd3ef55d0 Add a git revision number 2010-12-30 16:21:45 +01:00
Werner Koch
21eb91ae3a More include guards.
Provide access for Wince.
Install dummy sehmap.h
2010-11-03 09:56:27 +00:00
Werner Koch
987993a38d First take on changes to allow building with MSC for W32CE.
Fixed regression in plain W32 build.
2010-11-02 16:27:46 +00:00
Werner Koch
a8cf3688ed Change for gpg-error change. 2010-08-19 13:41:05 +00:00
Marcus Brinkmann
8d27defa02 2010-05-12 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Check for setlocale.

src/
2010-05-12  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme-tool.c (main): Protect call to setlocale with
	HAVE_SETLOCALE.
2010-05-12 17:40:08 +00:00
Werner Koch
441dd8b5d2 Better detection of a missing libassuan 2010-05-07 23:22:38 +00:00
Marcus Brinkmann
be3a828e70 2010-05-07 Marcus Brinkmann <marcus@g10code.de>
* engine-g13.c, gpgme.c, engine-gpgsm.c, engine-gpg.c,
	op-support.c, engine-assuan.c, gpgme-tool.c: Include <locale.h>
	only if available with HAVE_LOCALE_H and conditionalize use of
	LC_CTYPE on its definition.
	* engine-gpgconf.c: Do not include <locale.h>.
2010-05-07 01:32:54 +00:00
Marcus Brinkmann
8203ccefe4 2010-05-06 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Detect Windows CE.
	(HAVE_W32CE_SYSTEM): New symbol and automake conditional.
	* ltmain.sh, m4/libtool.m4: Patch so that it works for Windows CE.
2010-05-06 14:49:43 +00:00
Marcus Brinkmann
749325d6c1 2010-05-06 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Require libgpg-error 1.8.

src/
2010-05-06  Marcus Brinkmann  <marcus@g10code.de>

	* sign.c, data-user.c, conversion.c, debug.c, verify.c, data.c,
	decrypt.c, delete.c, assuan-support.c, import.c, engine-gpgsm.c,
	data-mem.c, op-support.c, w32-io.c, w32-util.c, data-compat.c: Use
	gpg_error_from_syserror instead gpg_error_from_errno, and use
	gpg_err_set_errno to set error number.
	* setenv.c: Include <gpg-error.h> and define __set_errno to use
	gpg_err_set_errno.
	* gpgme-tool.c (ARGP_ERR_UNKNOWN): Define to EDEADLOCK (which is
	mapped in Windows CE) instead of E2BIG (which is not).
	(gt_import_keys): Initialize err.
2010-05-06 13:39:55 +00:00
Werner Koch
a684c13c55 Make generated header file read-only in an emacs buffer. 2010-03-15 12:04:53 +00:00
Marcus Brinkmann
75116f9dab Post-release fixup. 2010-01-11 12:42:59 +00:00
Marcus Brinkmann
20b19496a8 2010-01-11 Marcus Brinkmann <marcus@g10code.de>
Release 1.3.0.
2010-01-11 12:30:22 +00:00
Werner Koch
97c5d4d312 Add an API to change passphrases. Currently only implemented for
GPGSM.  Requires GnuPG 2.1
2010-01-05 17:36:53 +00:00
Marcus Brinkmann
7eb555370f 2009-12-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Do not use echo -n.  Test for __thread.

src/
2009-12-22  Marcus Brinkmann  <marcus@g10code.de>

	* debug.c: Test for TLS, not __GNUC__
2009-12-22 13:00:30 +00:00
Marcus Brinkmann
bc7e0f6339 2009-12-17 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Make largefile check more robust.
2009-12-17 17:36:20 +00:00
Werner Koch
31844d30cd Test on sgid process 2009-12-10 09:49:47 +00:00
Marcus Brinkmann
0a80f62089 2009-12-08 Marcus Brinkmann <marcus@g10code.de>
Update to libtool 2.2.6a.
	* configure.ac: Invoke AC_CONFIG_MACRO_DIR.
	(AC_LIBTOOL_WIN32_DLL, AC_LIBTOOL_RC): Replace by ...
	(LT_PREREQ, LT_INIT, LT_LANG): ... these.
	* config.guess, config.sub, install-sh, ltmain.sh, m4/libtool.m4:
	Updated to libtool 2.2.6a.
	* m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.m4,
	m4/lt~obsolete.m4: New files from libtool 2.2.6a.

src/
2009-12-08  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (LTRCCOMPILE): Refactor with ...
	(RCCOMPILE): ... this new macro.
	(SUFFIXES): Add .lo.
	(gpgme_res_ldflag): Removed.
	(gpgme_res): Use libtool object file name here.
	(libgpgme_la_LDFLAGS): Remove gpgme_res_ldflag usage.
2009-12-08 21:38:22 +00:00
Marcus Brinkmann
96cf17b159 2009-11-10 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Activate UIServer if FD passing is enabled and
	Assuan is available.

m4/
2009-11-10  Marcus Brinkmann  <marcus@g10code.de>

	* libassuan.m4: Fix LIBASSUAN_VERSION.

src/
2009-11-10  Marcus Brinkmann  <marcus@g10code.de>

	* 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-10 09:07:19 +00:00
Marcus Brinkmann
9d3fdd8c96 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.
2009-10-30 14:21:08 +00:00
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
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
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
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
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
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
Werner Koch
d951cb713f First take on the low-level assuan interface. 2009-01-26 10:21:10 +00:00
Marcus Brinkmann
21eaf417dc 2008-12-08 Marcus Brinkmann <marcus@g10code.de>
Release GPGME 1.1.8.

	* configure.ac: Bump API revision.
2008-12-08 19:28:36 +00:00
Marcus Brinkmann
66d0fa1973 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.
2008-11-03 17:24:09 +00:00
Werner Koch
eae8d3830c Fix bug #818.
Use gpgme.h.in instead of in-place editing gpgme.h.
2008-10-20 15:59:19 +00:00
Marcus Brinkmann
759d969528 Post-release changes. 2008-10-17 21:03:00 +00:00
Marcus Brinkmann
166a5593ad 2008-10-17 Marcus Brinkmann <marcus@g10code.com>
Release GPGME 1.1.7.

	* configure.ac (LIBGPGME_LT_REVISION): Bump for release.
2008-10-17 18:57:49 +00:00
Moritz Schulte
a8be6e0da3 2008-09-19 Moritz <moritz@gnu.org>
* configure.ac: Remove bogus "esac".
2008-09-19 14:15:51 +00:00
Marcus Brinkmann
cf5100d27c 2008-09-16 Marcus Brinkmann <marcus@g10code.com>
* configure.ac (_XOPEN_SOURCE) [apple-darwin]: Define it.
2008-09-16 15:30:44 +00:00
Werner Koch
914ace7a37 Fixed a bug reading from gpgconf. 2008-04-28 18:42:56 +00:00
Marcus Brinkmann
2ac285d691 2008-01-30 14:17:26 +00:00
Marcus Brinkmann
afbb4ca9d6 Post-release dance. 2008-01-04 15:10:49 +00:00
Marcus Brinkmann
64502919a1 Prepare for release. 2008-01-04 14:34:08 +00:00
Marcus Brinkmann
19025d7918 2008-01-04 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Support gpgconf.

gpgme/
2008-01-04  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (gpgconf_components): New variable.
	(main_sources): Add gpgconf.c.
	* gpgme.h (gpgme_protocol_t): New protocol GPGME_PROTOCOL_GPGCONF.
	(gpgme_conf_level_t, gpgme_conf_type_t, gpgme_conf_arg_t)
	(gpgme_conf_opt_t, gpgme_conf_comp_t, gpgme_conf_arg_new)
	(gpgme_conf_arg_release, gpgme_conf_opt_change)
	(gpgme_conf_release, gpgme_op_conf_load, gpgme_op_conf_save): New
	types.
	* gpgconf.c, engine-gpgconf.c: New files.
	* engine.h: (_gpgme_engine_op_conf_load,
	(_gpgme_engine_op_conf_save): New prototypes.
	* op-support.c (_gpgme_op_reset): Ignore not implemented locale
	function.
	* posix-util.c (_gpgme_get_gpgconf_path): New function.
	* w32-util.c (_gpgme_get_gpgconf_path): New function.
	* engine-gpgsm.c:
	(_gpgme_engine_ops_gpgsm): Add stubs for conf_load and conf_save.
	* rungpg.c:
	(_gpgme_engine_ops_gpg): Add stubs for conf_load and conf_save.
	* gpgme.def: Add new gpgconf related interfaces.
	* libgpgme.vers: Likewise.
	* util.h (_gpgme_get_gpgconf_path): New prototype.
	* gpgme.h (gpgme_protocol_t): Add GPGME_PROTOCOL_GPGCONF.
	* engine-backend.h (_gpgme_engine_ops_gpgconf): New prototype.
	(struct engine_ops): Add members for conf_load and conf_save.
	* engine.c (engine_ops): Add _gpgme_engine_ops_gpgconf.
	(_gpgme_engine_op_conf_load,
	(_gpgme_engine_op_conf_save): New functions.
	(gpgme_get_engine_info): Allow protocol GPGME_PROTOCOL_GPGCONF.

tests/
2008-01-04  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (TESTS_ENVIRONMENT): Use absolute path for
	GNUPGHOME.
	* gpg/Makefile.am (TESTS_ENVIRONMENT): Use absolute path for
	GNUPGHOME.
	* gpgsm/Makefile.am (TESTS_ENVIRONMENT): Use absolute path for
	GNUPGHOME.
	* gpg/Makefile.am (TESTS): Add t-gpgconf.
	t-gpgconf.c: New file.
2008-01-04 14:31:15 +00:00
Werner Koch
496fa48ffd Bumbed version number (still svn, though) 2007-09-17 13:24:14 +00:00
Werner Koch
68f6c70711 Fixed a W32bug in rungpg.c 2007-09-17 10:21:20 +00:00
Marcus Brinkmann
414212ea5e 2007-09-07 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Work around for missing Qt cross compilation support.
	Check for glib and qt only on w32 targets.
gpgme/
2007-09-07  Marcus Brinkmann  <marcus@g10code.de>

	* w32-qt-io.cpp (_gpgme_io_spawn): Fix several cast errors and typos.
	* w32-io.c (_gpgme_io_write): Use TRACE_SYSRES instead of TRACE_SYS.
	(libgpgme_qt_la_LIBADD): Add QT4_CORE_LIBS, not QT4_CORE_LIB.
2007-09-07 19:38:50 +00:00
Marcus Brinkmann
becf580f61 2007-09-07 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Check for C++, Qt and support --enable-w32-qt.
	* m4/pkg.m4: New file.

gpgme/
2007-09-07  Marcus Brinkmann  <marcus@g10code.de>

	* kdpipeiodevice.h, kdpipeiodevice.cpp, moc_kdpipeiodevice.cpp,
	kdpipeiodevice.moc, w32-qt-io.c: New files.
	* Makefile.am (ltlib_gpgme_extra): Rename to ltlib_gpgme_glib.
	(ltlib_gpgme_qt): New variable.
	(lib_LTLIBRARIES): Add $(ltlib_gpgme_qt).
	(libgpgme_qt_la_SOURCES): New variable.
	(AM_CPPFLAGS): Add @QT4_CORE_INCLUDES@
	(AM_CFLAGS): Add @QT4_CORE_CFLAGS@.
	(libgpgme_qt_la_LDFLAGS, libgpgme_qt_la_DEPENDENCIES)
	(libgpgme_qt_la_LIBADD): New variables.
	* sema.h (struct critsect_s): Rename "private" to "priv" to make
	C++ users happy.  Change users.
	* posix-sema.c (_gpgme_sema_cs_enter, _gpgme_sema_cs_leave)
	(_gpgme_sema_cs_destroy): Likewise.
	* w32-sema.c (critsect_init, _gpgme_sema_cs_enter)
	(_gpgme_sema_cs_leave, _gpgme_sema_cs_destroy): Likewise.
	* w32-glib-io.c (gpgme_get_giochannel): Change return type to
	void*.
	(gpgme_get_fdptr): New function.
	* w32-io.c (gpgme_get_fdptr): New function
	* gpgme.def: Add gpgme_get_fdptr.
2007-09-06 22:41:11 +00:00
Marcus Brinkmann
597e0283e2 Fix last change. 2007-08-22 11:10:42 +00:00
Marcus Brinkmann
9490cb1bc5 2007-08-21 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (--enable-w32-glib): Use --enableval, not
	--withval.
2007-08-21 15:09:59 +00:00
Marcus Brinkmann
4718b14e18 Post-release fixup. 2007-07-09 13:45:06 +00:00
Marcus Brinkmann
3ceac8604d 2007-07-09 Marcus Brinkmann <marcus@g10code.de>
Released 1.1.5.

	* configure.ac (LIBGPGME_LT_REVISION): Bump for release.
2007-07-09 13:07:51 +00:00
Marcus Brinkmann
5b8e76a533 2007-07-08 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (GPGSM_DEFAULT) [*-mingw32*]: Initialize it.
	(HAVE_ASSUAN_H): Set to 1 if we have it.
	(funopen): Use AC_REPLACE_FUNCS.
	(USE_DESCRIPTOR_PASSING): Define to 1 if we have it.  Do not
	define it at all if we don't.
	(NETLIBS) [have_w32_system]: Add -lws2_32.
	(DIRSEP_C, DIRSEP_S, EXPSEP_C, EXPSEP_S, PATHSEP_S)
	[HAVE_DOSISH_SYSTEM]: Remove definitions.

	* assuan/assuan.h (_assuan_funopen): Define to _gpgme_funopen.
	* assuan/funopen.c: Move to ../gpgme/funopen.c.
	* assuan/Makefile.am (libassuan_la_SOURCES): Remove funopen.c.

assuan/
2007-07-08  Marcus Brinkmann  <marcus@g10code.de>

	* assuan-defs.h (struct assuan_context_s): Have partial peercred
	structure even if HAVE_W32_SYSTEM, and have full peercred
	structure only if HAVE_SO_PEERCRED.
	* assuan-connect.c (assuan_get_peercred) [!HAVE_SO_PEERCRED]: Do
	not try to set PID, UID and GID.

gpgme/
2007-07-08  Marcus Brinkmann  <marcus@g10code.de>

	* engine-gpgsm.c [HAVE_W32_SYSTEM]: Enable the bunch of the file.
	* funopen.c (funopen): Rename to _gpgme_funopen.
2007-07-08 15:46:10 +00:00
Marcus Brinkmann
1639030a88 2007-07-04 Marcus Brinkmann <marcus@g10code.de>
* autogen.sh: Use = not == in test.
2007-07-04 20:02:38 +00:00
Werner Koch
c8a3156192 Post release updates 2007-03-05 11:18:47 +00:00
Werner Koch
a103cf2bf1 Preparing a new release 2007-03-05 10:56:31 +00:00
Marcus Brinkmann
69346c7aad 2007-01-29 Marcus Brinkmann <marcus@g10code.de>
* Released 1.1.3.

        * configure.ac (LIBGPGME_LT_REVISION): Bump for release.
2007-01-29 20:53:59 +00:00
Werner Koch
d6a2521246 /
* configure.ac: Changed gpg and gpgsm version checks to work with
	arbitrary names of the gpg binary. New option --disable-gpg-test
	and --disable-gpgsm-test.
gpgme/
	* w32-io.c (build_commandline): Fixed stupid quoting bug.
	* w32-glib-io.c (build_commandline): Ditto.

	* rungpg.c (gpg_set_locale): Avoid dangling pointer after free.

	* gpgme-config.in: New options --get-gpg and --get-gpgsm.
2007-01-26 12:08:12 +00:00
Werner Koch
cc5190ffc1 /
* configure.ac (NEED_GPG_VERSION,
	(NEED_GPGSM_VERSION): Must define after it may have been changed
	by an option.

	* configure.ac: Require gpg-error 1.4 due to the use of
	gpg_error_from_syserror.
	(HAVE_ASSUAN_H): New.

gpgme/

	* ttyname_r.c (ttyname_r) [W32]: Return a dummy name.

	* version.c (do_subsystem_inits): Do assuan init only if building
	with Assuan.
	* setenv.c: Include assuan-def.h only if building with Assuan
	support.

	* op-support.c (_gpgme_op_reset): Set LC_MESSAGES only if
	if defined.
	* engine-gpgsm.c (gpgsm_set_locale): Ditto.
	* rungpg.c (gpg_set_locale): Ditto.
2007-01-10 10:18:05 +00:00
Werner Koch
fca9d331d2 Fixes for building without gpgsm and for W32 2007-01-08 12:05:07 +00:00
Marcus Brinkmann
2a139abd8e 2007-01-05 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add options --with-gpg-version and
	--with-gpgsm-version to allow overriding the minimum version
	requirements.
2007-01-05 17:16:03 +00:00
Marcus Brinkmann
13d2e5d1c7 2006-12-17 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Fix two typos in last change.

gpgme/
2006-12-17  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.c (gpgme_set_protocol): Shut down the engine when
	switching protocols.
	(gpgme_ctx_set_engine_info): Likewise for engine info.
	* engine.h (_gpgme_engine_reset): New function prototype.
	* engine.c (_gpgme_engine_reset): New function.
	* engine-backend.h (struct engine_ops): New member RESET.
	* rungpg.c (_gpgme_engine_ops_gpg): Add NULL for reset function.
	* engine-gpgsm.c (_gpgme_engine_ops_gpgsm)
	[USE_DESCRIPTOR_PASSING]: Add gpgsm_reset for reset.
	(_gpgme_engine_ops_gpgsm) [!USE_DESCRIPTOR_PASSING]: Add NULL for
	reset function.
	(gpgsm_reset) [USE_DESCRIPTOR_PASSING]: New function.
	* op-support.c (_gpgme_op_reset): Try to use the engine's reset
	function if available.
	* engine-gpgsm.c (gpgsm_new): Move code to dup status_fd to ...
	(start): ... here.
	* posix-io.c (_gpgme_io_recvmsg, _gpgme_io_sendmsg): New functions.
2006-12-17 21:12:40 +00:00
Marcus Brinkmann
cb960f1e96 2006-12-03 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Use descriptor passing only if --enable-fd-passing
	is provided.
2006-12-03 02:00:43 +00:00
Marcus Brinkmann
7cce8f4bb2 2006-12-03 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add check for use of descriptor passing.
2006-12-02 23:58:35 +00:00
Marcus Brinkmann
a9e91c8b4a 2006-11-29 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (NEED_GPG_VERSION): Bump to 1.3.0.
2006-11-29 15:47:00 +00:00
Marcus Brinkmann
9e09d93de8 assuan/
Update to current version.

2006-09-19  Marcus Brinkmann  <marcus@g10code.de>

	* configure.ac: Turn stpcpy into a replacement function.
	Check for unistd.h and add setenv as replacement function.

gpgme/
2006-09-19  Marcus Brinkmann  <marcus@g10code.de>

	* setenv.c: New file.
2006-09-19 14:01:54 +00:00
Marcus Brinkmann
426fd0cc08 2006-07-29 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Check for network libraries and set NETLIBS.

gpgme/
2006-07-29  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme-config.in (Options): Add NETLIBS.
	* Makefile.am (libgpgme_la_LIBADD, libgpgme_pthread_la_LIBADD,
	libgpgme_pth_la_LIBADD, libgpgme_glib_la_LIBADD): Add NETLIBS.
2006-07-29 14:40:16 +00:00