From 315fb73d4a774e2c699ac1804f5377559b4d0027 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 17 May 2016 20:21:01 +0200 Subject: Return dedicated error code for all subkeys expired or revoked. * src/gpgme.h.in (GPGME_STATUS_KEY_CONSIDERED): New. (GPGME_SIGSUM_TOFU_CONFLICT): New. * src/status-table.c (KEY_CONSIDERED): New. * src/op-support.c (_gpgme_parse_inv_recp): Add argc KC_FPR and KC_FLAGS. Use calloc. Detect all expired or revoked subkeys. (_gpgme_parse_key_considered): New. * src/sign.c (op_data_t): Add fields KC_FPR and KC_FLAGS. (release_op_data): Free KC_FPR. (_gpgme_sign_status_handler): Handle STATUS_KEY_CONSIDERED. * src/encrypt.c (op_data_t): Add fields KC_FPR and KC_FLAGS. (release_op_data): Free KC_FPR. (_gpgme_encrypt_status_handler): Handle STATUS_KEY_CONSIDERED. Signed-off-by: Werner Koch --- src/ops.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/ops.h') diff --git a/src/ops.h b/src/ops.h index 3662d571..9c275292 100644 --- a/src/ops.h +++ b/src/ops.h @@ -57,9 +57,15 @@ gpgme_error_t _gpgme_op_data_lookup (gpgme_ctx_t ctx, ctx_op_data_id_t type, /* Prepare a new operation on CTX. */ gpgme_error_t _gpgme_op_reset (gpgme_ctx_t ctx, int synchronous); +/* Parse the KEY_CONSIDERED status line. */ +gpgme_error_t _gpgme_parse_key_considered (const char *args, + char **r_fpr, unsigned int *r_flags); + /* Parse the INV_RECP status line in ARGS and return the result in KEY. */ -gpgme_error_t _gpgme_parse_inv_recp (char *args, gpgme_invalid_key_t *key); +gpgme_error_t _gpgme_parse_inv_recp (char *args, int for_signing, + const char *kc_fpr, unsigned int kc_flags, + gpgme_invalid_key_t *key); /* Parse the PLAINTEXT status line in ARGS and return the result in FILENAMEP. */ -- cgit v1.2.3