pgcrypto: report init errors as PXE_CIPHER_INIT

Report OpenSSL errors during initialization as PXE_CIPHER_INIT since
that's just what they were, and not generic unknown errors. This also
removes the last users of the generic error, and thus it can be removed.

Discussion: http://postgr.es/m/C89D932C-501E-4473-9750-638CFCD9095E@yesql.se
This commit is contained in:
Daniel Gustafsson 2022-05-06 14:41:33 +02:00
parent 17ec5fa502
commit 0250a167a0
3 changed files with 3 additions and 4 deletions

View File

@ -209,13 +209,13 @@ px_find_digest(const char *name, PX_MD **res)
if (!ctx)
{
pfree(digest);
return -1;
return PXE_CIPHER_INIT;
}
if (EVP_DigestInit_ex(ctx, md, NULL) == 0)
{
EVP_MD_CTX_destroy(ctx);
pfree(digest);
return -1;
return PXE_CIPHER_INIT;
}
digest->algo = md;

View File

@ -41,7 +41,6 @@ struct error_desc
static const struct error_desc px_err_list[] = {
{PXE_OK, "Everything ok"},
{PXE_ERR_GENERIC, "Some PX error (not specified)"},
{PXE_NO_HASH, "No such hash algorithm"},
{PXE_NO_CIPHER, "No such cipher algorithm"},
{PXE_BAD_OPTION, "Unknown option"},

View File

@ -44,7 +44,7 @@
* PX error codes
*/
#define PXE_OK 0
#define PXE_ERR_GENERIC -1
/* -1 is unused */
#define PXE_NO_HASH -2
#define PXE_NO_CIPHER -3
/* -4 is unused */