1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-09 23:39:51 +02:00

gpg: Fix "can't handle public key algorithm" warning.

* g10/parse-packet.c (unknown_pubkey_warning): Check for encr/sign
capabilities.
This commit is contained in:
Werner Koch 2014-08-20 09:59:36 +02:00
parent 31649e72fd
commit cb680c5ea5

View File

@ -195,12 +195,29 @@ unknown_pubkey_warning (int algo)
{ {
static byte unknown_pubkey_algos[256]; static byte unknown_pubkey_algos[256];
algo &= 0xff; /* First check whether the algorithm is usable but not suitable for
if (!unknown_pubkey_algos[algo]) encryption/signing. */
if (pubkey_get_npkey (algo))
{ {
if (opt.verbose) if (opt.verbose)
log_info (_("can't handle public key algorithm %d\n"), algo); {
unknown_pubkey_algos[algo] = 1; if (!pubkey_get_nsig (algo))
log_info ("public key algorithm %s not suitable for %s\n",
openpgp_pk_algo_name (algo), "signing");
if (!pubkey_get_nenc (algo))
log_info ("public key algorithm %s not suitable for %s\n",
openpgp_pk_algo_name (algo), "encryption");
}
}
else
{
algo &= 0xff;
if (!unknown_pubkey_algos[algo])
{
if (opt.verbose)
log_info (_("can't handle public key algorithm %d\n"), algo);
unknown_pubkey_algos[algo] = 1;
}
} }
} }