aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpgme.h.in
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2023-01-25 10:21:39 +0000
committerIngo Klöcker <[email protected]>2023-01-25 10:26:34 +0000
commit5b79b323971cb0794c45791851d85f8a66f0a441 (patch)
treee3f4788ad6c8b581f776863b9011b305bd8a3ceb /src/gpgme.h.in
parentcore: Support usage of gpgtar for decrypting an encrypted archive (diff)
downloadgpgme-5b79b323971cb0794c45791851d85f8a66f0a441.tar.gz
gpgme-5b79b323971cb0794c45791851d85f8a66f0a441.zip
core: Support usage of gpgtar for verifying a signed archive
* src/gpgme.h.in (gpgme_verify_flags_t): New enum. (GPGME_VERIFY_ARCHIVE): New const. (gpgme_op_verify_ext_start): New func. (gpgme_op_verify_ext): New func. * src/gpgme.def, src/libgpgme.vers: Add new functions. * src/verify.c (gpgme_op_verify_ext_start): New. (gpgme_op_verify_ext): New. (verify_start): Add arg FLAGS. Pass the flags to _gpgme_engine_op_verify. (gpgme_op_verify_start): Call gpgme_op_verify_ext_start with 0 for FLAGS. (gpgme_op_verify): Call gpgme_op_verify_ext with 0 for FLAGS. * src/engine.c, src/engine.h (_gpgme_engine_op_verify): Add arg FLAGS. * src/engine-backend.h (struct engine_ops): Add FLAGS to 'verify'. * src/engine-gpg.c (gpg_verify): Add arg FLAGS. Set use_gpgtar engine flag if GPGME_VERIFY_ARCHIVE flag is set. Check for new enough gpg. Use add_gpg_arg for gpg-only options without a value. Set extra options for gpgtar and pass input data to stdin when using gpgtar. * src/engine-gpgsm.c (gpgsm_verify): Add arg FLAGS. Return error if GPGME_VERIFY_ARCHIVE flag is set. * src/engine-uiserver.c (uiserver_verify): Ditto. * tests/run-verify.c (show_usage): New options --archive, --directory, and --diagnostics. (main): Parse new options. Verify and extract with gpgtar if --archive is given. Set file name of output data to value of --directory option. Print stderr of gpg/gpgtar if --diagnostics is given. -- GnuPG-bug-id: 6342
Diffstat (limited to 'src/gpgme.h.in')
-rw-r--r--src/gpgme.h.in17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gpgme.h.in b/src/gpgme.h.in
index b498cd3b..a337a124 100644
--- a/src/gpgme.h.in
+++ b/src/gpgme.h.in
@@ -1634,6 +1634,13 @@ typedef struct _gpgme_op_verify_result *gpgme_verify_result_t;
/* Retrieve a pointer to the result of the verify operation. */
gpgme_verify_result_t gpgme_op_verify_result (gpgme_ctx_t ctx);
+/* The valid verify flags. */
+typedef enum
+ {
+ GPGME_VERIFY_ARCHIVE = 1
+ }
+gpgme_verify_flags_t;
+
/* Verify within CTX that SIG is a valid signature for TEXT. */
gpgme_error_t gpgme_op_verify_start (gpgme_ctx_t ctx, gpgme_data_t sig,
gpgme_data_t signed_text,
@@ -1641,6 +1648,16 @@ gpgme_error_t gpgme_op_verify_start (gpgme_ctx_t ctx, gpgme_data_t sig,
gpgme_error_t gpgme_op_verify (gpgme_ctx_t ctx, gpgme_data_t sig,
gpgme_data_t signed_text,
gpgme_data_t plaintext);
+gpgme_error_t gpgme_op_verify_ext_start (gpgme_ctx_t ctx,
+ gpgme_verify_flags_t flags,
+ gpgme_data_t sig,
+ gpgme_data_t signed_text,
+ gpgme_data_t plaintext);
+gpgme_error_t gpgme_op_verify_ext (gpgme_ctx_t ctx,
+ gpgme_verify_flags_t flags,
+ gpgme_data_t sig,
+ gpgme_data_t signed_text,
+ gpgme_data_t plaintext);
/*