aboutsummaryrefslogtreecommitdiffstats
path: root/tests/gpg/t-verify.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-10-25 15:27:49 +0000
committerWerner Koch <[email protected]>2016-10-25 15:28:01 +0000
commitb8159eadb5636cd9d93ee60c41e75d5978927870 (patch)
tree5b9c857eba89d45fca40f136abb85d95d15f70ee /tests/gpg/t-verify.c
parentqt: Improve WKSPublishJob apidoc (diff)
downloadgpgme-b8159eadb5636cd9d93ee60c41e75d5978927870.tar.gz
gpgme-b8159eadb5636cd9d93ee60c41e75d5978927870.zip
core: New API functions gpgme_set_sender, gpgme_get_sender.
* src/context.h (struct gpgme_context): Add field 'sender'. * src/gpgme.c: Include mbox-util.h. (gpgme_release): Free SENDER. (gpgme_set_sender): New. (gpgme_get_sender): New. * src/gpgme.def, src/libgpgme.vers: Add new functions. * src/engine-gpg.c (append_args_from_sender): New. (gpg_encrypt_sign, gpg_sign): Call append_args_from_sender. (gpg_verify): Add arg CTX. Call append_args_from_sender/ * src/engine-gpgsm.c (gpgsm_verify): Add dummy arg CTX. * src/engine-uiserver.c (uiserver_verify): Ditto. * src/engine.c (_gpgme_engine_op_verify): Add arg CTX. * src/verify.c (verify_start): Pass CTX to engine function. * tests/gpg/t-verify.c (main): Add some checks for new functions. * tests/run-sign.c (main): Add option --sender. * tests/run-verify.c (main): Ditto. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'tests/gpg/t-verify.c')
-rw-r--r--tests/gpg/t-verify.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/gpg/t-verify.c b/tests/gpg/t-verify.c
index 9842d3af..f955cc9d 100644
--- a/tests/gpg/t-verify.c
+++ b/tests/gpg/t-verify.c
@@ -209,6 +209,7 @@ main (int argc, char *argv[])
gpgme_error_t err;
gpgme_data_t sig, text;
gpgme_verify_result_t result;
+ const char *s;
(void)argc;
(void)argv;
@@ -270,6 +271,54 @@ main (int argc, char *argv[])
exit (1);
}
+ /* Checking that set/get_sernder works. */
+ err = gpgme_set_sender (ctx, "[email protected]");
+ fail_if_err (err);
+ s = gpgme_get_sender (ctx);
+ if (!s || strcmp (s, "[email protected]"))
+ {
+ fprintf (stderr, "%s:%i: gpgme_{set,get}_sender mismatch\n",
+ __FILE__, __LINE__);
+ exit (1);
+ }
+
+ err = gpgme_set_sender (ctx, "<[email protected]>");
+ fail_if_err (err);
+ s = gpgme_get_sender (ctx);
+ if (!s || strcmp (s, "[email protected]"))
+ {
+ fprintf (stderr, "%s:%i: gpgme_{set,get}_sender mismatch\n",
+ __FILE__, __LINE__);
+ exit (1);
+ }
+
+ err = gpgme_set_sender (ctx, "Foo bar (comment) <[email protected]>");
+ fail_if_err (err);
+ s = gpgme_get_sender (ctx);
+ if (!s || strcmp (s, "[email protected]"))
+ {
+ fprintf (stderr, "%s:%i: gpgme_{set,get}_sender mismatch\n",
+ __FILE__, __LINE__);
+ exit (1);
+ }
+
+ err = gpgme_set_sender (ctx, "foo");
+ if (gpgme_err_code (err) != GPG_ERR_INV_VALUE)
+ {
+ fprintf (stderr, "%s:%i: gpgme_set_sender didn't detect bogus address\n",
+ __FILE__, __LINE__);
+ exit (1);
+ }
+ /* (the former address should still be there.) */
+ s = gpgme_get_sender (ctx);
+ if (!s || strcmp (s, "[email protected]"))
+ {
+ fprintf (stderr, "%s:%i: gpgme_{set,get}_sender mismatch\n",
+ __FILE__, __LINE__);
+ exit (1);
+ }
+
+
gpgme_data_release (sig);
gpgme_data_release (text);
gpgme_release (ctx);