X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=e_gost_err.c;h=c71272e2c4fe09805f0e7c460f6576ba96c1125c;hb=65d9677890ca5eeca45bca0fb09d6cd08238161e;hp=dc99add74f58fbf8b132b2c34fc5fe99b7cd4d2b;hpb=ada25f9709c9ee9ea330b25e5a749101532d8825;p=openssl-gost%2Fengine.git diff --git a/e_gost_err.c b/e_gost_err.c index dc99add..c71272e 100644 --- a/e_gost_err.c +++ b/e_gost_err.c @@ -11,7 +11,17 @@ #include #include "e_gost_err.h" +#ifdef OPENSSL_VERSION_MAJOR +/* + * OpenSSL 3.0 or higher: + * Function codes are no more, and ERR_raise() + ERR_set_debug is preferred + * to ERR_PUT_error(). + */ +# define OPENSSL_ERR_NEW_WORLD_ORDER +#endif + #ifndef OPENSSL_NO_ERR +# ifndef OPENSSL_ERR_NEW_WORLD_ORDER static ERR_STRING_DATA GOST_str_functs[] = { {ERR_PACK(0, GOST_F_DECODE_GOST_ALGOR_PARAMS, 0), @@ -39,10 +49,13 @@ static ERR_STRING_DATA GOST_str_functs[] = { {ERR_PACK(0, GOST_F_GOST_EC_KEYGEN, 0), "gost_ec_keygen"}, {ERR_PACK(0, GOST_F_GOST_EC_SIGN, 0), "gost_ec_sign"}, {ERR_PACK(0, GOST_F_GOST_EC_VERIFY, 0), "gost_ec_verify"}, + {ERR_PACK(0, GOST_F_GOST_ENCODE_CMS_PARAMS, 0), "gost_encode_cms_params"}, {ERR_PACK(0, GOST_F_GOST_GRASSHOPPER_CIPHER_CTL, 0), "gost_grasshopper_cipher_ctl"}, {ERR_PACK(0, GOST_F_GOST_GRASSHOPPER_CIPHER_DO_CTRACPKM_OMAC, 0), "gost_grasshopper_cipher_do_ctracpkm_omac"}, + {ERR_PACK(0, GOST_F_GOST_GRASSHOPPER_CIPHER_INIT_CTRACPKM_OMAC, 0), + "gost_grasshopper_cipher_init_ctracpkm_omac"}, {ERR_PACK(0, GOST_F_GOST_GRASSHOPPER_SET_ASN1_PARAMETERS, 0), "gost_grasshopper_set_asn1_parameters"}, {ERR_PACK(0, GOST_F_GOST_IMIT_CTRL, 0), "gost_imit_ctrl"}, @@ -54,6 +67,8 @@ static ERR_STRING_DATA GOST_str_functs[] = { {ERR_PACK(0, GOST_F_MAGMA_CIPHER_CTL, 0), "magma_cipher_ctl"}, {ERR_PACK(0, GOST_F_MAGMA_CIPHER_CTL_ACPKM_OMAC, 0), "magma_cipher_ctl_acpkm_omac"}, + {ERR_PACK(0, GOST_F_MAGMA_CIPHER_INIT_CTR_ACPKM_OMAC, 0), + "magma_cipher_init_ctr_acpkm_omac"}, {ERR_PACK(0, GOST_F_OMAC_ACPKM_IMIT_CTRL, 0), "omac_acpkm_imit_ctrl"}, {ERR_PACK(0, GOST_F_OMAC_ACPKM_IMIT_FINAL, 0), "omac_acpkm_imit_final"}, {ERR_PACK(0, GOST_F_OMAC_ACPKM_IMIT_UPDATE, 0), "omac_acpkm_imit_update"}, @@ -99,6 +114,7 @@ static ERR_STRING_DATA GOST_str_functs[] = { {ERR_PACK(0, GOST_F_VKO_COMPUTE_KEY, 0), "VKO_compute_key"}, {0, NULL} }; +# endif static ERR_STRING_DATA GOST_str_reasons[] = { {ERR_PACK(0, 0, GOST_R_BAD_KEY_PARAMETERS_FORMAT), @@ -170,7 +186,9 @@ int ERR_load_GOST_strings(void) if (!error_loaded) { #ifndef OPENSSL_NO_ERR +# ifndef OPENSSL_ERR_NEW_WORLD_ORDER ERR_load_strings(lib_code, GOST_str_functs); +# endif ERR_load_strings(lib_code, GOST_str_reasons); #endif error_loaded = 1; @@ -182,7 +200,9 @@ void ERR_unload_GOST_strings(void) { if (error_loaded) { #ifndef OPENSSL_NO_ERR +# ifndef OPENSSL_ERR_NEW_WORLD_ORDER ERR_unload_strings(lib_code, GOST_str_functs); +# endif ERR_unload_strings(lib_code, GOST_str_reasons); #endif error_loaded = 0; @@ -193,5 +213,10 @@ void ERR_GOST_error(int function, int reason, char *file, int line) { if (lib_code == 0) lib_code = ERR_get_next_error_library(); +#ifndef OPENSSL_ERR_NEW_WORLD_ORDER ERR_PUT_error(lib_code, function, reason, file, line); +#else + ERR_raise(lib_code, reason); + ERR_set_debug(file, line, NULL); +#endif }