diff options
-rw-r--r-- | lib/libalpm/signing.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/libalpm/signing.c b/lib/libalpm/signing.c index c6b748e3..e46fa2ea 100644 --- a/lib/libalpm/signing.c +++ b/lib/libalpm/signing.c @@ -327,6 +327,10 @@ static int key_search(alpm_handle_t *handle, const char *fpr, pgpkey->length = key->subkeys->length; pgpkey->revoked = key->subkeys->revoked; + /* Initialize with '?', this is overwritten unless public key + * algorithm is unknown. */ + pgpkey->pubkey_algo = '?'; + switch(key->subkeys->pubkey_algo) { case GPGME_PK_RSA: case GPGME_PK_RSA_E: @@ -352,6 +356,14 @@ static int key_search(alpm_handle_t *handle, const char *fpr, ret = 1; + /* We do not want to add a default switch case above to receive + * compiler error on new public key algorithm in gpgme. So check + * here if we have a valid pubkey_algo. */ + if (pgpkey->pubkey_algo == '?') { + _alpm_log(handle, ALPM_LOG_DEBUG, + "unknown public key algorithm: %d\n", key->subkeys->pubkey_algo); + } + gpg_error: if(ret != 1) { _alpm_log(handle, ALPM_LOG_DEBUG, "gpg error: %s\n", gpgme_strerror(gpg_err)); |