Commit Graph

3483 Commits

Author SHA1 Message Date
Werner Koch
5e00a176f5 Improved debug support: Assuan logging is now directed to the gpgme debug
stream.
Create processes detached.
2007-08-02 14:59:01 +00:00
Marcus Brinkmann
ba87348230 Add item for tracepoints. 2007-07-17 12:42:42 +00:00
Marcus Brinkmann
d61bf6c13c 2007-07-17 Marcus Brinkmann <marcus@g10code.de>
* debug.c:;5B Include <errno.h> and "debug.h".
	(_gpgme_debug): Save and restore ERRNO.
	(TOHEX): New macro.
	(_gpgme_debug_buffer): New function.
	* conversion.c, data-compat.c, data-mem.c, data.c, engine-gpgsm.c,
	gpgme.c, keylist.c, posix-io.c, rungpg.c, sign.c, version.c,
	w32-io.c, wait.c: Replace DEBUG macros by TRACE_* variants.  In
	most of these files, add many more tracepoints.
2007-07-17 12:36:04 +00:00
Marcus Brinkmann
d1e40ac15f Fixed last change. 2007-07-16 17:47:00 +00:00
Marcus Brinkmann
174bf90842 2007-07-16 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (status_handler): Do not send BYE here.
2007-07-16 17:27:49 +00:00
Marcus Brinkmann
b3434696b3 2007-07-16 Marcus Brinkmann <marcus@g10code.de>
* assuan/assuan-socket.c (_assuan_close): Always use close().
	* assuan/assuan.h (_gpgme_io_close): New prototype.
	(close): New macro, define as _gpgme_io_close.

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

	* w32-io.c (struct reader_context_s, struct writer_context_s): New
	members REFCOUNT.
	(create_reader, create_writer): Initialize C->refcount to 1.
	(destroy_reader, destroy_writer): Only destroy if C->refcount
	drops to 0.
	(find_reader, find_writer, kill_reader, kill_writer): Beautify.
	* priv-io.h (_gpgme_io_dup): New prototype.
	* posix-io.c (_gpgme_io_dup): New function. 
	* w32-io.c (_gpgme_io_dup): Likewise.
	* w32-glib-io.c (_gpgme_io_dup): Likewise.
	* engine-gpgsm.c (start): Reverting to version 2007-07-10.
2007-07-16 17:26:09 +00:00
Marcus Brinkmann
d258f5f735 2007-07-13 Marcus Brinkmann <marcus@g10code.de>
* data-user.c (user_read, user_write, user_seek): Set errno and
	return -1 instead returning the error code directly.
	* data-compat.c (old_user_seek): Likewise.
	* gpgme.c (gpgme_sig_notation_add): Return error properly.
2007-07-13 14:47:07 +00:00
Marcus Brinkmann
5d25b54f30 2007-07-13 Marcus Brinkmann <marcus@g10code.de>
* Revert the "close_notify_handler" returns int stuff.  Always
	close in the _gpgme_io_close implementations.
	* engine-gpgsm.c (status_handler): Try to terminate the connection
	in case of error.
	* w32-io.c (_gpgme_io_read): Return C->error_code in ERRNO.
	(_gpgme_io_write): Likewise.
2007-07-13 01:57:02 +00:00
Marcus Brinkmann
c4bb93ec28 2007-07-13 Marcus Brinkmann <marcus@g10code.de>
* assuan/assuan-io.c (_assuan_simple_read, _assuan_simple_write):
	Always use read/write (which means _gpgme_io_read and
	_gpgme_io_write).

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

	* priv-io.h (_gpgme_io_set_close_notify): Change type of HANDLER
	to _gpgme_close_notify_handler.
	(_gpgme_close_notify_handler): New type.
	(_gpgme_io_dup): Remove prototype.
	* posix-io.c (notify_table, _gpgme_io_set_close_notify): Change
	type of HANDLER to _gpgme_close_notify_handler_t.
	(_gpgme_io_close): Do not close the FD if handler returns 0.
	(_gpgme_io_dup): Remove function.
	* w32-io.c (notify_table, _gpgme_io_set_close_notify,
	_gpgme_io_close): Change type of HANDLER to
	_gpgme_close_notify_handler_t.
	(_gpgme_io_close): Do not close the FD if handler returns 0.
	(_gpgme_io_dup): Remove function.
	* w32-glib-io.c (_gpgme_io_dup): Remove function.
	(_gpgme_io_set_close_notify, notify_table): Change type of HANDLER
	to _gpgme_close_notify_handler_t.
	(_gpgme_io_close): Do not close the FD if handler returns 0.
	* rungpg.c (close_notify_handler): Change return type to int,
	return 1.
	* engine-gpgsm.c (close_notify_handler): Change return type to
	int, return 0 for status FD and 1 for all other FDs.
	(start): Do not duplicate the status FD.
2007-07-13 00:43:17 +00:00
Marcus Brinkmann
a3e3601d06 Fix last change. 2007-07-12 20:19:46 +00:00
Werner Koch
409aaefe36 Minor fixes for W32 2007-07-12 18:54:45 +00:00
Marcus Brinkmann
f401a75a5f 2007-07-12 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am: Replace implicite rule by suffix rule.  Add
	SUFFIXES for that.
2007-07-12 18:31:22 +00:00
Marcus Brinkmann
1ef14744a2 2007-07-12 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/Makefile.am (key_id): Change := into =.
2007-07-12 18:26:51 +00:00
Werner Koch
906da085cf Changes for W32 2007-07-12 15:25:20 +00:00
Marcus Brinkmann
2d9c4431b8 2007-07-10 Marcus Brinkmann <marcus@g10code.de>
* priv-io.h (_gpgme_io_dup): New prototype.
	* posix-io.c (_gpgme_io_dup): New function. 
	* w32-io.c (_gpgme_io_dup): Likewise.
	* w32-glib-io.c (_gpgme_io_dup): Likewise.
	* engine-gpgsm.c (start): Use _gpgme_dup() instead of dup().
2007-07-10 16:06:44 +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
f15a48db55 Really delete the file as announced in the ChangeLog. 2007-07-08 16:00:04 +00:00
Marcus Brinkmann
573f4ff07b Fix formatting. 2007-07-08 15:48:06 +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
2d7cfe08b0 2007-07-04 Marcus Brinkmann <marcus@g10code.de>
* assuan/Makefile.am (INCLUDES): Include $(top_srcdir)/gpgme.  *
	assuan/assuan.h: Include <ath.h> instead of trying to duplicate
	the definitions.
2007-07-04 21:07:27 +00:00
Marcus Brinkmann
a63c5c0137 2007-07-04 Marcus Brinkmann <marcus@g10code.de>
* assuan/: Update files to 2007-07-04 version of assuan.
2007-07-04 20:03:39 +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
4daa6aa2c9 Added target "online". 2007-06-29 14:41:35 +00:00
Marcus Brinkmann
b240231ce3 2007-06-05 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Advanced Key Editing): New section.
2007-06-05 14:47:18 +00:00
Marcus Brinkmann
2c5d7a18a9 2007-05-18 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Error Strings): Fix documentation of
	gpgme_strerror_r.
2007-05-18 22:30:42 +00:00
Marcus Brinkmann
f2bd9ab3be 2007-05-03 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Registering I/O Callbacks): Fix description of EVENT
	member of gpgme_event_io_t.
2007-05-03 20:12:40 +00:00
Marcus Brinkmann
0bd4e4c4d1 2007-04-30 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_new): Fix error handling for ttyname_r.
	* rungpg.c (gpg_new): Likewise.
	Submitted by Stephen Tether.
2007-04-30 18:37:22 +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
Werner Koch
fec4e786b3 Fixed last chnage. 2007-02-26 10:44:57 +00:00
Werner Koch
1786019d68 Detect and bailo out on double plaintext messages. 2007-02-26 10:36:08 +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
Marcus Brinkmann
ffbeb4f508 Fix last change. 2007-01-18 18:02:54 +00:00
Marcus Brinkmann
9e1edec4ff 2007-01-18 Marcus Brinkmann <marcus@g10code.de>
* data.h (_gpgme_data_get_fd): Add prototype.
	(gpgme_data_get_fd_cb): New type.
	(struct _gpgme_data_cbs): New member get_fd.
	* data.c (_gpgme_data_get_fd): New function.
	* data-fd.c (fd_get_fd): New function.
	(fd_cbs): Add fd_get_fd.
	* data-stream.c (stream_get_fd): New function.
	(stream_cbs): Add stream_get_fd.
	* data-mem.c (mem_cbs): Add NULL for get_fd callback.	
	* data-user.c (user_cbs): Likewise.
	* engine-gpgsm.c (gpgsm_set_fd) [USE_DESCRIPTOR_PASSING]: Try to
	short-cut by passing the data descriptor directly.
2007-01-18 17:59:26 +00:00
Marcus Brinkmann
e08d4a32d6 Add item about windows command line quoting bug fix. 2007-01-17 19:38:29 +00:00
Marcus Brinkmann
c1b1642f1b 2007-01-17 Marcus Brinkmann <marcus@g10code.de>
* w32-io.c (build_commandline): Quote all command line arguments.
	* w32-glib-io.c (build_commandline): Likewise.
2007-01-17 19:35:06 +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
f9bf0d5b79 2006-12-17 Marcus Brinkmann <marcus@g10code.de>
* engine.h (_gpgme_engine_new): Remove arguments lc_ctype and
	lc_messages from prototype.
	(_gpgme_engine_set_locale): New prototype.
	* engine.c (_gpgme_engine_set_locale): New function.
	* op-support.c (_gpgme_op_reset): Call _gpgme_engine_set_locale.
	* engine-backend.h (struct engine_ops): Add new member SET_LOCALE.
	Remove arguments lc_messages and lc_ctype from member NEW.
	* engine-gpgsm.c (struct engine_gpgsm): New members lc_ctype_set
	and lc_messages_set.
	(gpgsm_new): Remove lc_messages and lc_ctype
	arguments.
	(gpgsm_set_locale): New function.
	(_gpgme_engine_ops_gpgsm): Add gpgsm_set_locale.
	* rungpg.c (struct engine_gpg): Add new members lc_messages and
	lc_ctype.
	(gpg_release): Release lc_messages and lc_ctype if set.
	(gpg_new): Remove lc_messages and lc_ctype arguments.
	(gpg_set_locale): New function.
	(_gpgme_engine_ops_gpg): Add gpg_set_locale.
	(add_arg): Implement in terms of:
	(add_arg_ext): New function.
	(start): Set lc-messages and lc-ctype arguments here.
2006-12-17 16:40:09 +00:00
Marcus Brinkmann
ba58b21408 2006-12-03 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (struct engine_gpgsm): Move members
	input_fd_server, output_fd_server, message_fd_server to ...
	(iocb_data): ... here (as server_fd).
	(close_notify_handler): Reset tags as well.
	(gpgsm_new): Implement support for descriptor
	passing.
	(fd_type_t): New type.
	(gpgsm_clear_fd): New function.  Use it instead of _gpgsm_io_close
	for unused communication channels.
	(gpgsm_set_fd): Rewritten to support descriptor passing.  All
	relevant callers adjusted as well (previously of _gpgme_io_close).
2006-12-03 02:05:23 +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
a5b002c883 2006-12-02 Marcus Brinkmann <marcus@g10code.de>
* version.c: Include "assuan.h".
	(do_subsystem_inits): Call assuan_set_assuan_err_source.
2006-12-02 23:57:14 +00:00
Marcus Brinkmann
68fc3075c3 2006-12-02 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/t-keylist.c (main): Skip unknown keys.  Newer versions of
	GPGSM import more keys than older ones.
2006-12-02 22:47:02 +00:00
Marcus Brinkmann
e9f92dd049 2006-12-01 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (libgpgme_real_la_SOURCES): Rename to main_sources.
	(libgpgme_la_SOURCES, libgpgme_pthread_la_SOURCES,
	libgpgme_glib_la_SOURCES, libgpgme_pth_la_SOURCES): Add
	$(main_sources).
	(libgpgme_la_DEPENDENCIES, libgpgme_la_LIBADD,
	libgpgme_pthread_la_DEPENDENCIES, libgpgme_pthread_la_LIBADD,
	libgpgme_pth_la_DEPENDENCIES, libgpgme_pth_la_LIBADD,
	libgpgme_glib_la_DEPENDENCIES, libgpgme_glib_la_LIBADD): Remove
	libgpgme-real.la.
	(noinst_LTLIBRARIES): Removed.
	(libgpgme_glib_la_CFLAGS, libgpgme_pth_la_CFLAGS): Removed.
	(AM_CFLAGS): New variable.
2006-12-01 12:22:37 +00:00
Marcus Brinkmann
ca43edcd40 2006-11-30 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c: Replace AssuanError with gpg_error_t and
	ASSUAN_CONTEXT with assuan_context_t.
2006-11-30 20:45:33 +00:00