From 3726693612a7ab34a1cd27916a6d65314299812c Mon Sep 17 00:00:00 2001 From: Andrew Gregory Date: Sat, 24 Nov 2018 15:56:11 -0800 Subject: add specific error for missing gpg support "wrong or NULL argument passed" is a useless error for end users. Fixes FS#60880. Signed-off-by: Andrew Gregory Signed-off-by: Allan McRae --- lib/libalpm/alpm.h | 4 +++- lib/libalpm/be_sync.c | 2 +- lib/libalpm/error.c | 3 +++ lib/libalpm/handle.c | 6 +++--- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 2d3d198a..597e11bd 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -118,7 +118,9 @@ typedef enum _alpm_errno_t { ALPM_ERR_LIBARCHIVE, ALPM_ERR_LIBCURL, ALPM_ERR_EXTERNAL_DOWNLOAD, - ALPM_ERR_GPGME + ALPM_ERR_GPGME, + /* Missing compile-time features */ + ALPM_ERR_MISSING_CAPABILITY_SIGNATURES } alpm_errno_t; /** Returns the current error code from the handle. */ diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c index 5009a7da..6adf1cd9 100644 --- a/lib/libalpm/be_sync.c +++ b/lib/libalpm/be_sync.c @@ -788,7 +788,7 @@ alpm_db_t *_alpm_db_register_sync(alpm_handle_t *handle, const char *treename, #ifndef HAVE_LIBGPGME if(level != ALPM_SIG_USE_DEFAULT) { - RET_ERR(handle, ALPM_ERR_WRONG_ARGS, NULL); + RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, NULL); } #endif diff --git a/lib/libalpm/error.c b/lib/libalpm/error.c index b4fc99ae..95be9d7b 100644 --- a/lib/libalpm/error.c +++ b/lib/libalpm/error.c @@ -159,6 +159,9 @@ const char SYMEXPORT *alpm_strerror(alpm_errno_t err) return _("gpgme error"); case ALPM_ERR_EXTERNAL_DOWNLOAD: return _("error invoking external downloader"); + /* Missing compile-time features */ + case ALPM_ERR_MISSING_CAPABILITY_SIGNATURES: + return _("compiled without signature support"); /* Unknown error! */ default: return _("unexpected error"); diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c index 2213ce53..be5666dc 100644 --- a/lib/libalpm/handle.c +++ b/lib/libalpm/handle.c @@ -807,7 +807,7 @@ int SYMEXPORT alpm_option_set_default_siglevel(alpm_handle_t *handle, handle->siglevel = level; #else if(level != 0 && level != ALPM_SIG_USE_DEFAULT) { - RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1); + RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, -1); } #endif return 0; @@ -827,7 +827,7 @@ int SYMEXPORT alpm_option_set_local_file_siglevel(alpm_handle_t *handle, handle->localfilesiglevel = level; #else if(level != 0 && level != ALPM_SIG_USE_DEFAULT) { - RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1); + RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, -1); } #endif return 0; @@ -851,7 +851,7 @@ int SYMEXPORT alpm_option_set_remote_file_siglevel(alpm_handle_t *handle, handle->remotefilesiglevel = level; #else if(level != 0 && level != ALPM_SIG_USE_DEFAULT) { - RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1); + RET_ERR(handle, ALPM_ERR_MISSING_CAPABILITY_SIGNATURES, -1); } #endif return 0; -- cgit v1.2.3-54-g00ecf