diff options
author | Marcus Brinkmann <[email protected]> | 2009-05-18 17:38:31 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2009-05-18 17:38:31 +0000 |
commit | 2c5d801fc4900cec5b7dc7faa496f8664ab104f4 (patch) | |
tree | 26c38bb9e33cd57f42fd761b3e14dea3b399b00b /src | |
parent | * gpgme.h.in (gpgme_status_code_t): Explicitly initialize for (diff) | |
download | gpgme-2c5d801fc4900cec5b7dc7faa496f8664ab104f4.tar.gz gpgme-2c5d801fc4900cec5b7dc7faa496f8664ab104f4.zip |
doc/
2009-05-18 Marcus Brinkmann <[email protected]>
* gpgme.texi (Encrypting a Plaintext): Document
GPGME_ENCRYPT_NO_ENCRYPT_TO.
src/
2009-05-18 Marcus Brinkmann <[email protected]>
* gpgme.h.in (gpgme_encrypt_flags_t): Add
GPGME_ENCRYPT_NO_ENCRYPT_TO.
* engine-gpg.c (gpg_encrypt): Pass --no-encrypt-to to gpg if
GPGME_ENCRYPT_NO_ENCRYPT_TO flag is set.
Diffstat (limited to '')
-rw-r--r-- | src/ChangeLog | 7 | ||||
-rw-r--r-- | src/engine-gpg.c | 5 | ||||
-rw-r--r-- | src/engine-gpgsm.c | 8 | ||||
-rw-r--r-- | src/gpgme.h.in | 3 |
4 files changed, 21 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 9237bd6a..434c6802 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2009-05-18 Marcus Brinkmann <[email protected]> + + * gpgme.h.in (gpgme_encrypt_flags_t): Add + GPGME_ENCRYPT_NO_ENCRYPT_TO. + * engine-gpg.c (gpg_encrypt): Pass --no-encrypt-to to gpg if + GPGME_ENCRYPT_NO_ENCRYPT_TO flag is set. + 2009-05-14 Werner Koch <[email protected]> * gpgme.h.in (gpgme_status_code_t): Explicitly initialize for diff --git a/src/engine-gpg.c b/src/engine-gpg.c index e4334d14..606b4d76 100644 --- a/src/engine-gpg.c +++ b/src/engine-gpg.c @@ -1611,9 +1611,12 @@ gpg_encrypt (void *engine, gpgme_key_t recp[], gpgme_encrypt_flags_t flags, { /* If we know that all recipients are valid (full or ultimate trust) we can suppress further checks. */ - if (!err && !symmetric && (flags & GPGME_ENCRYPT_ALWAYS_TRUST)) + if (!err && (flags & GPGME_ENCRYPT_ALWAYS_TRUST)) err = add_arg (gpg, "--always-trust"); + if (!err && (flags & GPGME_ENCRYPT_NO_ENCRYPT_TO)) + err = add_arg (gpg, "--no-encrypt-to"); + if (!err) err = append_args_from_recipients (gpg, recp); } diff --git a/src/engine-gpgsm.c b/src/engine-gpgsm.c index bdd1ff92..49d36c12 100644 --- a/src/engine-gpgsm.c +++ b/src/engine-gpgsm.c @@ -1349,6 +1349,14 @@ gpgsm_encrypt (void *engine, gpgme_key_t recp[], gpgme_encrypt_flags_t flags, if (!recp) return gpg_error (GPG_ERR_NOT_IMPLEMENTED); + if (flags & GPGME_ENCRYPT_NO_ENCRYPT_TO) + { + err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, + "OPTION no-encrypt-to", NULL, NULL); + if (err) + return err; + } + gpgsm->input_cb.data = plain; err = gpgsm_set_fd (gpgsm, INPUT_FD, map_data_enc (gpgsm->input_cb.data)); if (err) diff --git a/src/gpgme.h.in b/src/gpgme.h.in index e42b3b89..fb2b7363 100644 --- a/src/gpgme.h.in +++ b/src/gpgme.h.in @@ -1168,7 +1168,8 @@ gpgme_encrypt_result_t gpgme_op_encrypt_result (gpgme_ctx_t ctx); /* The valid encryption flags. */ typedef enum { - GPGME_ENCRYPT_ALWAYS_TRUST = 1 + GPGME_ENCRYPT_ALWAYS_TRUST = 1, + GPGME_ENCRYPT_NO_ENCRYPT_TO = 2 } gpgme_encrypt_flags_t; |