From d5fb92cdaed21eea2f1a921e4f11df72635a8462 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 8 May 2014 14:03:14 +0200 Subject: Map public key algos returned by gpg to gpgme values. * src/conversion.c (_gpgme_map_pk_algo): New. * src/decrypt.c (parse_enc_to): Add arg PROTOCOL and map pubkey algo. (_gpgme_decrypt_status_handler): Map pubkey algo. * src/keylist.c (keylist_colon_handler): Map pubkey algo. * src/sign.c (parse_sig_created): Add arg PROTOCOL and map pubkey algo. * src/verify.c (parse_new_sig): Ditto. (parse_valid_sig): Ditto. * src/gpgme.h.in (GPGME_PK_ECC): New. (GPGME_MD_SHA224): New. * src/gpgme.c (gpgme_pubkey_algo_name): Add GPGME_PK_ECC case. (gpgme_hash_algo_name): Add GPGME_MD_SHA224. -- This affects only the not yet released ECC code of GnuPG 2.1. --- src/sign.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/sign.c') diff --git a/src/sign.c b/src/sign.c index e9107991..c55441df 100644 --- a/src/sign.c +++ b/src/sign.c @@ -142,7 +142,8 @@ gpgme_op_sign_result (gpgme_ctx_t ctx) static gpgme_error_t -parse_sig_created (char *args, gpgme_new_signature_t *sigp) +parse_sig_created (char *args, gpgme_new_signature_t *sigp, + gpgme_protocol_t protocol) { gpgme_new_signature_t sig; char *tail; @@ -180,7 +181,7 @@ parse_sig_created (char *args, gpgme_new_signature_t *sigp) } gpg_err_set_errno (0); - sig->pubkey_algo = strtol (args, &tail, 0); + sig->pubkey_algo = _gpgme_map_pk_algo (strtol (args, &tail, 0), protocol); if (errno || args == tail || *tail != ' ') { /* The crypto backend does not behave. */ @@ -263,7 +264,7 @@ _gpgme_sign_status_handler (void *priv, gpgme_status_code_t code, char *args) { case GPGME_STATUS_SIG_CREATED: opd->sig_created_seen = 1; - err = parse_sig_created (args, opd->last_sig_p); + err = parse_sig_created (args, opd->last_sig_p, ctx->protocol); if (err) return err; -- cgit v1.2.3