aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpgme.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2024-10-29 10:59:51 +0000
committerWerner Koch <[email protected]>2024-10-29 11:00:11 +0000
commita304ec0ede937e21df5b4a311cbaf8d89f13ef59 (patch)
tree846889cf9b17748eef4977269a36e060d7e9d1fd /src/gpgme.c
parentcore: Add new helper _gpgme_strtokenize. (diff)
downloadgpgme-a304ec0ede937e21df5b4a311cbaf8d89f13ef59.tar.gz
gpgme-a304ec0ede937e21df5b4a311cbaf8d89f13ef59.zip
core: New context flags "known-notations".
* src/gpgme.c (gpgme_set_ctx_flag): Add "known-notations". (gpgme_get_ctx_flag): Ditto. (gpgme_release): Free variable. * src/context.h (struct gpgme_context): Add "known_notations". * src/engine-gpg.c (struct engine_gpg): Add "known_notations". (gpg_release): Free variable. (gpg_set_engine_flags): Set variable. (add_known_notations): New. (gpg_decrypt, gpg_verify): Call function. * tests/run-decrypt.c (main): Add option --known-notations. * tests/run-verify.c (main): Ditto. -- GnuPG-bug-id: 4060
Diffstat (limited to '')
-rw-r--r--src/gpgme.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gpgme.c b/src/gpgme.c
index 086e680b..4f63cc4f 100644
--- a/src/gpgme.c
+++ b/src/gpgme.c
@@ -262,6 +262,7 @@ gpgme_release (gpgme_ctx_t ctx)
free (ctx->key_origin);
free (ctx->import_filter);
free (ctx->import_options);
+ free (ctx->known_notations);
_gpgme_engine_info_release (ctx->engine_info);
ctx->engine_info = NULL;
DESTROY_LOCK (ctx->lock);
@@ -623,6 +624,13 @@ gpgme_set_ctx_flag (gpgme_ctx_t ctx, const char *name, const char *value)
{
ctx->proc_all_sigs = abool;
}
+ else if (!strcmp (name, "known-notations"))
+ {
+ free (ctx->known_notations);
+ ctx->known_notations = strdup (value);
+ if (!ctx->known_notations)
+ err = gpg_error_from_syserror ();
+ }
else
err = gpg_error (GPG_ERR_UNKNOWN_NAME);
@@ -716,6 +724,10 @@ gpgme_get_ctx_flag (gpgme_ctx_t ctx, const char *name)
{
return ctx->proc_all_sigs? "1":"";
}
+ else if (!strcmp (name, "known-notations"))
+ {
+ return ctx->known_notations? ctx->known_notations: "";
+ }
else
return NULL;
}