aboutsummaryrefslogtreecommitdiffstats
path: root/gpgme/encrypt-sign.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gpgme/encrypt-sign.c35
1 files changed, 19 insertions, 16 deletions
diff --git a/gpgme/encrypt-sign.c b/gpgme/encrypt-sign.c
index 67c01c05..12dffd2d 100644
--- a/gpgme/encrypt-sign.c
+++ b/gpgme/encrypt-sign.c
@@ -37,7 +37,8 @@ encrypt_sign_status_handler (void *priv, gpgme_status_code_t code, char *args)
static gpgme_error_t
-encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_user_id_t recp,
+encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_key_t recp[],
+ gpgme_encrypt_flags_t flags,
gpgme_data_t plain, gpgme_data_t cipher)
{
gpgme_error_t err;
@@ -46,6 +47,11 @@ encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_user_id_t recp,
if (err)
return err;
+ if (!plain)
+ return GPGME_No_Data;
+ if (!cipher || !recp)
+ return GPGME_Invalid_Value;
+
err = _gpgme_op_encrypt_init_result (ctx);
if (err)
return err;
@@ -54,16 +60,10 @@ encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_user_id_t recp,
if (err)
return err;
- if (!plain)
- return GPGME_No_Data;
- if (!cipher)
- return GPGME_Invalid_Value;
-
if (ctx->passphrase_cb)
{
- err = _gpgme_engine_set_command_handler (ctx->engine,
- _gpgme_passphrase_command_handler,
- ctx, NULL);
+ err = _gpgme_engine_set_command_handler
+ (ctx->engine, _gpgme_passphrase_command_handler, ctx, NULL);
if (err)
return err;
}
@@ -71,8 +71,9 @@ encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_user_id_t recp,
_gpgme_engine_set_status_handler (ctx->engine,
encrypt_sign_status_handler, ctx);
- return _gpgme_engine_op_encrypt_sign (ctx->engine, recp, plain, cipher,
- ctx->use_armor, ctx /* FIXME */);
+ return _gpgme_engine_op_encrypt_sign (ctx->engine, recp, flags, plain,
+ cipher, ctx->use_armor,
+ ctx /* FIXME */);
}
@@ -80,10 +81,11 @@ encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_user_id_t recp,
store the resulting ciphertext in CIPHER. Also sign the ciphertext
with the signers in CTX. */
gpgme_error_t
-gpgme_op_encrypt_sign_start (gpgme_ctx_t ctx, gpgme_user_id_t recp,
- gpgme_data_t plain, gpgme_data_t cipher)
+gpgme_op_encrypt_sign_start (gpgme_ctx_t ctx, gpgme_key_t recp[],
+ gpgme_encrypt_flags_t flags,
+ gpgme_data_t plain, gpgme_data_t cipher)
{
- return encrypt_sign_start (ctx, 0, recp, plain, cipher);
+ return encrypt_sign_start (ctx, 0, recp, flags, plain, cipher);
}
@@ -91,10 +93,11 @@ gpgme_op_encrypt_sign_start (gpgme_ctx_t ctx, gpgme_user_id_t recp,
store the resulting ciphertext in CIPHER. Also sign the ciphertext
with the signers in CTX. */
gpgme_error_t
-gpgme_op_encrypt_sign (gpgme_ctx_t ctx, gpgme_user_id_t recp,
+gpgme_op_encrypt_sign (gpgme_ctx_t ctx, gpgme_key_t recp[],
+ gpgme_encrypt_flags_t flags,
gpgme_data_t plain, gpgme_data_t cipher)
{
- gpgme_error_t err = encrypt_sign_start (ctx, 1, recp, plain, cipher);
+ gpgme_error_t err = encrypt_sign_start (ctx, 1, recp, flags, plain, cipher);
if (!err)
err = _gpgme_wait_one (ctx);
return err;