From f3b00d88efa25e23f70b757cf99302af77d3d7ae Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Tue, 19 May 2015 10:47:42 +0900 Subject: g10: detects public key encryption packet error properly. g10/mainproc.c (proc_pubkey_enc): Only allow relevant algorithms for encryption. -- (backported from 2.1 commit c771963140cad7c1c25349bcde27e427effc0058) --- g10/mainproc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/g10/mainproc.c b/g10/mainproc.c index 2cf6dbce2..a773fde19 100644 --- a/g10/mainproc.c +++ b/g10/mainproc.c @@ -401,9 +401,9 @@ proc_pubkey_enc( CTX c, PACKET *pkt ) xfree(c->dek); c->dek = NULL; } } - else if( is_ELGAMAL(enc->pubkey_algo) - || enc->pubkey_algo == PUBKEY_ALGO_DSA - || is_RSA(enc->pubkey_algo) + else if( enc->pubkey_algo == PUBKEY_ALGO_ELGAMAL_E + || enc->pubkey_algo == PUBKEY_ALGO_RSA + || enc->pubkey_algo == PUBKEY_ALGO_RSA_E || (RFC2440 && enc->pubkey_algo == PUBKEY_ALGO_ELGAMAL)) { /* Note that we also allow type 20 Elgamal keys for decryption. There are still a couple of those keys in active use as a -- cgit v1.2.3