Commit Graph

476 Commits

Author SHA1 Message Date
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
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
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
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
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
Marcus Brinkmann
0bd5dd4b24 2006-11-29 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_new): Check return value of
	assuan_pipe_connect.
2006-11-29 19:21:18 +00:00
Marcus Brinkmann
7a1e9447e5 2006-11-29 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c: Include <unistd.h>.
	(gpg_new): Support --display, --ttyname, --ttytype, --lc-ctype and
	--lc-messages.  Fixes issue 734.
2006-11-29 15:44:29 +00:00
Marcus Brinkmann
f44e7a64bb 2006-10-24 Marcus Brinkmann <marcus@g10code.de>
* trustlist.c (gpgme_op_trustlist_next): Return error if OPD is
	NULL.
2006-10-24 09:22:33 +00:00
Marcus Brinkmann
ebb8edbb30 2006-10-23 Marcus Brinkmann <marcus@g10code.de>
* wait-global.c (gpgme_wait): Unlock CTX_LIST_LOCK while calling
	_gpgme_engine_io_event().
2006-10-23 18:52:14 +00:00
Marcus Brinkmann
aeef0402a7 2006-10-23 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (gpgme_op_keylist_next): Return error if OPD is NULL.
2006-10-23 17:17:25 +00:00
Marcus Brinkmann
9247e9081b doc/
2006-09-25  Marcus Brinkmann  <marcus@g10code.de>

        * gpgme.texi (Destroying Data Buffers): Clarify that
        gpgme_data_release_and_get_mem destroys DH unconditionally.

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

        * data-mem.c (gpgme_data_release_and_get_mem): Release the data
        object properly.
2006-09-25 14:57:00 +00:00
Marcus Brinkmann
4b1393f664 2006-09-22 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (keylist_colon_handler): Move debug output after
	initialising KEY.
2006-09-22 12:29:36 +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
Marcus Brinkmann
f3285b5609 2006-07-29 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (read_status): Fix comparison disguising as an
	assignment.
2006-07-29 13:42:10 +00:00
Marcus Brinkmann
fba48de1ee doc/
2005-03-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Library Version Check): Make example code compatible
	to W32 systems.

gpgme/
2005-03-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.c (gpgme_set_locale): Remove conditional on
	HAVE_W32_SYSTEM, and just check for LC_MESSAGES.
2006-07-16 13:36:04 +00:00
Marcus Brinkmann
6bde056355 2006-07-16 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (read_status): Strip potential carriage return.
	* genkey.c (get_key_parameter): Skip potential carriage return.
	* version.c (_gpgme_get_program_version): Strip potential carriage
	return.
2006-07-16 13:27:08 +00:00
Marcus Brinkmann
c7762497fe 2006-07-16 Marcus Brinkmann <marcus@g10code.de>
* data.c (gpgme_data_set_file_name): Allow to clear the file name
	by passing NULL.
2006-07-16 13:25:19 +00:00
Marcus Brinkmann
fca694b372 2006-06-22 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (gpgme_get_key): Also clone the engine info.
2006-06-22 17:20:47 +00:00
Marcus Brinkmann
b3755b31b1 2006-03-06 Marcus Brinkmann <marcus@g10code.de>
* gpgme-config.in (cflags_pth): Revert accidential removal of
	pthread support with last change.
2006-03-06 10:33:57 +00:00
Marcus Brinkmann
a30bcb457c 2006-02-28 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c (O_BINARY) [!O_BINARY]: New macro.
	(_gpgme_io_pipe): Open pipes in binary mode.
2006-02-28 16:54:59 +00:00
Marcus Brinkmann
fb6692fc75 2006-02-22 Marcus Brinkmann <marcus@g10code.de>
* engine.c (gpgme_engine_check_version): Reimplemented to allow
	checking the version correctly even after changing the engine
	information.  Bug reported by Stéphane Corthésy.
2006-02-22 11:44:16 +00:00
Marcus Brinkmann
2f4b385332 2006-02-22 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (read_colon_line): Invoke colon preprocess handler if
	it is set.
	(colon_preprocessor_t): New type.
	(struct engine_gpg): New member colon.preprocess_fnc.
	(gpg_keylist_preprocess): New function.
	* keylist.c (keylist_colon_handler): Allow short key IDs.
2006-02-22 11:02:50 +00:00
Marcus Brinkmann
9829cffc3c 2006-02-15 Marcus Brinkmann <marcus@g10code.de>
* w32-io.c (create_writer): Make C->have_data a manually resetted
	event.
	(writer): Move code from end of if block to beginning, so it
	is also run the first time.
	(_gpgme_io_write): Move assert check after error check.  Reset
	the is_empty event, and also do it eagerly.
	(_gpgme_io_select): Unconditionally wait for the is_empty event.
2006-02-15 13:30:08 +00:00
Werner Koch
419fc378e4 [W32] Add a tuning feature 2006-01-26 10:23:15 +00:00
Werner Koch
5b57bff96c Minor glib fix.
Pretty up debug output.
2006-01-05 08:58:50 +00:00
Werner Koch
3c1c9ed572 Added PKA stuff 2006-01-03 18:31:48 +00:00
Marcus Brinkmann
1fc25af357 2006-01-03 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c (_gpgme_io_close): Only close fd if there is no
	channel for it.
2006-01-03 14:20:12 +00:00
Marcus Brinkmann
5b90f5cfcb 2005-12-31 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c (find_channel): Set channel to unbuffered.
	(_gpgme_io_select): Fix debug output.
2005-12-31 04:22:14 +00:00
Werner Koch
b1fb4f2fa6 Basic PKA support. 2005-12-20 20:22:19 +00:00
Werner Koch
a1e484f9ea * Fixed a bug in that the fingerprints of subkeys are not available.
* Clarified usage of the SECRET flag in key listings.  It is now
   reset for stub keys.
2005-12-06 16:30:21 +00:00
Marcus Brinkmann
bca775102e 2005-11-27 Marcus Brinkmann <marcus@g10code.de>
* engine.c (_gpgme_set_engine_info): Use new_file_name in
	engine_get_version invocation.  Reported by Stéphane Corthésy.
2005-11-27 17:11:55 +00:00
Marcus Brinkmann
a0ded960b4 2005-11-24 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c (_gpgme_io_fd2str): Remove debug printf.
2005-11-24 08:39:23 +00:00
Werner Koch
6b24b361ad GPA does now work with the glib based i/o backend. 2005-11-18 16:52:38 +00:00
Marcus Brinkmann
3418d23ec5 2005-11-18 Marcus Brinkmann <marcus@g10code.de>
* priv-io.h (_gpgme_io_fd2str): New prototype.
	* posix-io.c (_gpgme_io_fd2str): New function.
	* w32-io.c (_gpgme_io_fd2str): New function.
	* rungpg.c: Use this new function.
	* w32-glib-io.c (_gpgme_io_fd2str): Rewrote the file handle code
	again.  Two's company, three's the musketeers.
2005-11-18 14:00:50 +00:00
Marcus Brinkmann
b9401b8f6c 2005-11-18 Marcus Brinkmann <marcus@g10code.de>
* w32-glib-io.c: Rewrote the file handle code.  We don't create
	system fds for every handle (doesn't work for inherited handles),
	but we create pseudo fds in a private namespace that designate a
	handle and potentially a giochannel.
2005-11-18 11:18:01 +00:00
Marcus Brinkmann
d11318a319 2005-11-17 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add support for --enable-w32-glib (disabled by
	default).  Invoke AM_PATH_GLIB_2_0.

gpgme/
2005-11-17  Marcus Brinkmann  <marcus@g10code.de>

	* w32-glib-io.c: New file.
	* gpgme.def (gpgme_get_giochannel): Add symbol.
	* Makefile.am (system_components) [HAVE_DOSISH_SYSTEM]: Remove
	w32-io.c.
	(ltlib_gpgme_extra): New variable.
	(lib_LTLIBRARIES): Add $(ltlib_gpgme_extra).
	(system_components_not_extra): New variable.
	(libgpgme_la_SOURCES, libgpgme_pthread_la_SOURCES,
	(libgpgme_pth_la_SOURCES): Add $(system_components_not_extra).
	(libgpgme_glib_la_LDFLAGS, libgpgme_glib_la_DEPENDENCIES,
	(libgpgme_glib_la_LIBADD, libgpgme_glib_la_CFLAGS)
	[BUILD_W32_GLIB]: New variables. 
	* gpgme-config.in (glib): New option.
	* gpgme.m4 (AM_PATH_GPGME_GLIB): New macro.

m4/
2005-11-17  Marcus Brinkmann  <marcus@g10code.de>

	* glib-2.0.m4: New file.
2005-11-17 18:45:14 +00:00
Marcus Brinkmann
d19cc31e06 2005-11-17 Marcus Brinkmann <marcus@g10code.de>
* priv-io.h (_gpgme_io_waitpid, _gpgme_io_kill): Removed.
	* w32-io.c (_gpgme_io_waitpid, _gpgme_io_kill): Removed.
	* posix-io.c (_gpgme_io_kill): Removed.
	(_gpgme_io_waitpid): Declare static.
2005-11-17 16:12:27 +00:00
Werner Koch
3acdcbf67b build static and shared lib by default - required by gpgol. 2005-11-15 16:04:28 +00:00
Marcus Brinkmann
e7799b3e92 2005-10-24 Marcus Brinkmann <marcus@g10code.de>
* w32-io.c (_gpgme_io_spawn): Don't minimize window, hide it.
2005-10-24 09:53:59 +00:00
Marcus Brinkmann
2b58d34490 2005-10-20 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am: Build versioninfo.lo, not versioninfo.o.  Also, fix
	the whole mess.
2005-10-20 19:21:30 +00:00
Marcus Brinkmann
378f4d3a7a 2005-10-16 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (gpg_edit): Don't add a key argument if in card edit
	mode.
2005-10-16 19:38:32 +00:00
Marcus Brinkmann
54844a992f 2005-10-06 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (gpgme.dll gpgme.dll.a): Use $(srcdir) for
	gpgme.def.
2005-10-06 11:06:25 +00:00
Marcus Brinkmann
a336bc6834 doc/
2005-10-06  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Destroying Data Buffers): Document gpgme_free.

gpgme/
2005-10-06  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (gpgme_free): New prototype.
	* data-mem.c (gpgme_free): New function.
	* libgpgme.vers (GPGME_1.1): Add gpgme_free.
	* gpgme.def: Add gpgme_free.
2005-10-06 10:44:26 +00:00
Marcus Brinkmann
5f5faeafa1 doc/
2005-10-02  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Key Management): Add the new member notations of
	gpgme_sig_key_t.
	(Key Listing Mode): Document GPGME_KEYLIST_MODE_SIG_NOTATIONS.

gpgme/
2005-10-02  Marcus Brinkmann  <marcus@g10code.de>

	* util.h (_gpgme_decode_percent_string): Add new argument BINARY
	to prototype.
	* verify.c (parse_notation): Likewise for invocation.
	* conversion.c (_gpgme_decode_percent_string): Likewise to
	declaration.  If set, do not replace '\0' characters with a
	printable string.
	* gpgme.h (struct _gpgme_key_sig): New field notations.
	* ops.h (_gpgme_parse_notation): New prototype.
	* sig-notation.c (_gpgme_parse_notation): New function.
	* key.c (gpgme_key_unref): Free all signature notations.
	* keylist.c (op_data_t): New member tmp_keysig.
	(finish_key): Clear OPD->tmp_keysig.
	* gpgme.c (gpgme_set_keylist_mode): Remove check.
	* rungpg.c (gpg_keylist): Support listing signature notations.
	(gpg_keylist_ext): Likewise.
2005-10-02 14:39:31 +00:00
Marcus Brinkmann
19043016ed 2005-10-01 Marcus Brinkmann <marcus@g10code.de>
* engine.h (_gpgme_set_engine_info): Add prototype.
	* engine-backend.h (struct engine_ops): Change return type of
	get_file_name() to const char * to silence gcc warning.
	* engine.c (engine_get_file_name): Change return type to const
	char * to silence gcc warning.
	(gpgme_get_engine_info): Use transitional variable to go from
	const char * to char * to silence gcc warning.
	(_gpgme_set_engine_info): Likewise.
	* engine-gpgsm.c (struct engine_gpgsm): Change type of LINE to
	char * to silence gcc warning.
	(gpgsm_new): Make ARGV a pointer to const char.
	(status_handler): Change type of SRC, END, DST, ALINE and NEWLINE
	to char * to silence gcc warning.
2005-10-01 20:42:34 +00:00