diff options
Diffstat (limited to 'lib/libalpm')
| -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)); | 
