diff options
| author | Marcus Brinkmann <[email protected]> | 2009-11-10 09:07:19 +0000 | 
|---|---|---|
| committer | Marcus Brinkmann <[email protected]> | 2009-11-10 09:07:19 +0000 | 
| commit | 96cf17b15995c9b925f80a64dbd42c1305ca9895 (patch) | |
| tree | 364f15711af329ff9b3b207245516e1320fb3ba0 /src/gpgme.c | |
| parent | Fix last change. (diff) | |
| download | gpgme-96cf17b15995c9b925f80a64dbd42c1305ca9895.tar.gz gpgme-96cf17b15995c9b925f80a64dbd42c1305ca9895.zip | |
2009-11-10  Marcus Brinkmann  <[email protected]>
	* configure.ac: Activate UIServer if FD passing is enabled and
	Assuan is available.
m4/
2009-11-10  Marcus Brinkmann  <[email protected]>
	* libassuan.m4: Fix LIBASSUAN_VERSION.
src/
2009-11-10  Marcus Brinkmann  <[email protected]>
	* 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.
Diffstat (limited to 'src/gpgme.c')
| -rw-r--r-- | src/gpgme.c | 26 | 
1 files changed, 23 insertions, 3 deletions
| diff --git a/src/gpgme.c b/src/gpgme.c index 70f93f1a..b6c79a0d 100644 --- a/src/gpgme.c +++ b/src/gpgme.c @@ -265,13 +265,14 @@ gpgme_set_protocol (gpgme_ctx_t ctx, gpgme_protocol_t protocol)  {    TRACE_BEG2 (DEBUG_CTX, "gpgme_set_protocol", ctx, "protocol=%i (%s)",  	      protocol, gpgme_get_protocol_name (protocol) -	      ? gpgme_get_protocol_name (protocol) : "unknown"); +	      ? gpgme_get_protocol_name (protocol) : "invalid");    if (protocol != GPGME_PROTOCOL_OpenPGP        && protocol != GPGME_PROTOCOL_CMS        && protocol != GPGME_PROTOCOL_GPGCONF        && protocol != GPGME_PROTOCOL_ASSUAN -      && protocol != GPGME_PROTOCOL_G13) +      && protocol != GPGME_PROTOCOL_G13 +      && protocol != GPGME_PROTOCOL_UISERVER)      return TRACE_ERR (gpg_error (GPG_ERR_INV_VALUE));    if (ctx->protocol != protocol) @@ -296,11 +297,24 @@ gpgme_get_protocol (gpgme_ctx_t ctx)    TRACE2 (DEBUG_CTX, "gpgme_get_protocol", ctx,  	  "ctx->protocol=%i (%s)", ctx->protocol,  	  gpgme_get_protocol_name (ctx->protocol) -	  ? gpgme_get_protocol_name (ctx->protocol) : "unknown"); +	  ? gpgme_get_protocol_name (ctx->protocol) : "invalid");    return ctx->protocol;  } +gpgme_error_t +gpgme_set_sub_protocol (gpgme_ctx_t ctx, gpgme_protocol_t protocol) +{ +  gpgme_error_t err; +  TRACE_BEG2 (DEBUG_CTX, "gpgme_set_sub_protocol", ctx, "protocol=%i (%s)", +	      protocol, gpgme_get_protocol_name (protocol) +	      ? gpgme_get_protocol_name (protocol) : "invalid"); + +  err = _gpgme_engine_set_protocol (ctx->engine, protocol); +  return TRACE_ERR (err); +} + +  const char *  gpgme_get_protocol_name (gpgme_protocol_t protocol)  { @@ -321,6 +335,12 @@ gpgme_get_protocol_name (gpgme_protocol_t protocol)      case GPGME_PROTOCOL_G13:        return "G13"; +    case GPGME_PROTOCOL_UISERVER: +      return "UIServer"; + +    case GPGME_PROTOCOL_DEFAULT: +      return "default"; +      case GPGME_PROTOCOL_UNKNOWN:        return "unknown"; | 
