aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpgme.h.in
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2009-11-10 09:07:19 +0000
committerMarcus Brinkmann <[email protected]>2009-11-10 09:07:19 +0000
commit96cf17b15995c9b925f80a64dbd42c1305ca9895 (patch)
tree364f15711af329ff9b3b207245516e1320fb3ba0 /src/gpgme.h.in
parentFix last change. (diff)
downloadgpgme-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.h.in')
-rw-r--r--src/gpgme.h.in21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/gpgme.h.in b/src/gpgme.h.in
index ea405bf0..2a3acd47 100644
--- a/src/gpgme.h.in
+++ b/src/gpgme.h.in
@@ -326,6 +326,7 @@ typedef enum
GPGME_PROTOCOL_ASSUAN = 3, /* Low-level access to an Assuan server. */
GPGME_PROTOCOL_G13 = 4,
GPGME_PROTOCOL_UISERVER= 5,
+ GPGME_PROTOCOL_DEFAULT = 254,
GPGME_PROTOCOL_UNKNOWN = 255
}
gpgme_protocol_t;
@@ -803,6 +804,15 @@ gpgme_error_t gpgme_set_protocol (gpgme_ctx_t ctx, gpgme_protocol_t proto);
/* Get the protocol used with CTX */
gpgme_protocol_t gpgme_get_protocol (gpgme_ctx_t ctx);
+/* Set the crypto protocol to be used by CTX to PROTO.
+ gpgme_set_protocol actually sets the backend engine. This sets the
+ crypto protocol used in engines that support more than one crypto
+ prococol (for example, an UISERVER can support OpenPGP and CMS).
+ This is reset to the default with gpgme_set_protocol. */
+gpgme_error_t gpgme_set_sub_protocol (gpgme_ctx_t ctx,
+ gpgme_protocol_t proto);
+
+
/* Get the string describing protocol PROTO, or NULL if invalid. */
const char *gpgme_get_protocol_name (gpgme_protocol_t proto);
@@ -1209,7 +1219,9 @@ gpgme_encrypt_result_t gpgme_op_encrypt_result (gpgme_ctx_t ctx);
typedef enum
{
GPGME_ENCRYPT_ALWAYS_TRUST = 1,
- GPGME_ENCRYPT_NO_ENCRYPT_TO = 2
+ GPGME_ENCRYPT_NO_ENCRYPT_TO = 2,
+ GPGME_ENCRYPT_PREPARE = 4,
+ GPGME_ENCRYPT_EXPECT_SIGN = 8
}
gpgme_encrypt_flags_t;
@@ -1982,6 +1994,13 @@ gpgme_error_t gpgme_op_conf_load (gpgme_ctx_t ctx, gpgme_conf_comp_t *conf_p);
gpgme_error_t gpgme_op_conf_save (gpgme_ctx_t ctx, gpgme_conf_comp_t comp);
+/* UIServer support. */
+
+/* Create a dummy key to specify an email address. */
+gpgme_error_t gpgme_key_from_uid (gpgme_key_t *key, const char *name);
+
+
+
/* Various functions. */
/* Check that the library fulfills the version requirement. Note: