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
pull/82/head
Daniel Gustafsson 3 years ago
parent 17ec5fa502
commit 0250a167a0
  1. 4
      contrib/pgcrypto/openssl.c
  2. 1
      contrib/pgcrypto/px.c
  3. 2
      contrib/pgcrypto/px.h

@ -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;

@ -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"},

@ -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 */

Loading…
Cancel
Save