mirror of
https://github.com/moparisthebest/pacman
synced 2024-08-13 17:03:46 -04:00
Improve error message when package is missing required signature
When attempting to install a package (either via -S or -U) and the signature is missing, the current error message "invalid or corrupted package (PGP signature)" is very unclear. Instead inform the user that the package is missing the required signature. Partial fix for FS#34741. Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
9555ec714a
commit
dc08eca368
@ -1267,6 +1267,7 @@ typedef enum _alpm_errno_t {
|
||||
ALPM_ERR_PKG_INVALID,
|
||||
ALPM_ERR_PKG_INVALID_CHECKSUM,
|
||||
ALPM_ERR_PKG_INVALID_SIG,
|
||||
ALPM_ERR_PKG_MISSING_SIG,
|
||||
ALPM_ERR_PKG_OPEN,
|
||||
ALPM_ERR_PKG_CANT_REMOVE,
|
||||
ALPM_ERR_PKG_INVALID_NAME,
|
||||
|
@ -323,9 +323,13 @@ int _alpm_pkg_validate_internal(alpm_handle_t *handle,
|
||||
}
|
||||
|
||||
/* even if we don't have a sig, run the check code if level tells us to */
|
||||
if(has_sig || level & ALPM_SIG_PACKAGE) {
|
||||
if(level & ALPM_SIG_PACKAGE) {
|
||||
const char *sig = syncpkg ? syncpkg->base64_sig : NULL;
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "sig data: %s\n", sig ? sig : "<from .sig>");
|
||||
if(!has_sig && !(level & ALPM_SIG_PACKAGE_OPTIONAL)) {
|
||||
handle->pm_errno = ALPM_ERR_PKG_MISSING_SIG;
|
||||
return -1;
|
||||
}
|
||||
if(_alpm_check_pgp_helper(handle, pkgfile, sig,
|
||||
level & ALPM_SIG_PACKAGE_OPTIONAL, level & ALPM_SIG_PACKAGE_MARGINAL_OK,
|
||||
level & ALPM_SIG_PACKAGE_UNKNOWN_OK, sigdata)) {
|
||||
|
@ -111,6 +111,8 @@ const char SYMEXPORT *alpm_strerror(alpm_errno_t err)
|
||||
return _("invalid or corrupted package (checksum)");
|
||||
case ALPM_ERR_PKG_INVALID_SIG:
|
||||
return _("invalid or corrupted package (PGP signature)");
|
||||
case ALPM_ERR_PKG_MISSING_SIG:
|
||||
return _("package missing required signature");
|
||||
case ALPM_ERR_PKG_OPEN:
|
||||
return _("cannot open package file");
|
||||
case ALPM_ERR_PKG_CANT_REMOVE:
|
||||
|
Loading…
Reference in New Issue
Block a user