|
1 |
| -/* e_gost_err.c */ |
2 |
| -/* ==================================================================== |
3 |
| - * Copyright (c) 1999-2016 The OpenSSL Project. All rights reserved. |
4 |
| - * |
5 |
| - * Redistribution and use in source and binary forms, with or without |
6 |
| - * modification, are permitted provided that the following conditions |
7 |
| - * are met: |
8 |
| - * |
9 |
| - * 1. Redistributions of source code must retain the above copyright |
10 |
| - * notice, this list of conditions and the following disclaimer. |
11 |
| - * |
12 |
| - * 2. Redistributions in binary form must reproduce the above copyright |
13 |
| - * notice, this list of conditions and the following disclaimer in |
14 |
| - * the documentation and/or other materials provided with the |
15 |
| - * distribution. |
16 |
| - * |
17 |
| - * 3. All advertising materials mentioning features or use of this |
18 |
| - * software must display the following acknowledgment: |
19 |
| - * "This product includes software developed by the OpenSSL Project |
20 |
| - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" |
21 |
| - * |
22 |
| - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to |
23 |
| - * endorse or promote products derived from this software without |
24 |
| - * prior written permission. For written permission, please contact |
25 |
| - |
26 |
| - * |
27 |
| - * 5. Products derived from this software may not be called "OpenSSL" |
28 |
| - * nor may "OpenSSL" appear in their names without prior written |
29 |
| - * permission of the OpenSSL Project. |
30 |
| - * |
31 |
| - * 6. Redistributions of any form whatsoever must retain the following |
32 |
| - * acknowledgment: |
33 |
| - * "This product includes software developed by the OpenSSL Project |
34 |
| - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" |
35 |
| - * |
36 |
| - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY |
37 |
| - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
38 |
| - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
39 |
| - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR |
40 |
| - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
41 |
| - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
42 |
| - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
43 |
| - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
44 |
| - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
45 |
| - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
46 |
| - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED |
47 |
| - * OF THE POSSIBILITY OF SUCH DAMAGE. |
48 |
| - * ==================================================================== |
49 |
| - * |
50 |
| - * This product includes cryptographic software written by Eric Young |
51 |
| - * ([email protected]). This product includes software written by Tim |
52 |
| - |
53 |
| - * |
54 |
| - */ |
55 |
| - |
56 | 1 | /*
|
57 |
| - * NOTE: this file was auto generated by the mkerr.pl script: any changes |
58 |
| - * made to it will be overwritten when the script next updates this file, |
59 |
| - * only reason strings will be preserved. |
| 2 | + * Generated by util/mkerr.pl DO NOT EDIT |
| 3 | + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. |
| 4 | + * |
| 5 | + * Licensed under the OpenSSL license (the "License"). You may not use |
| 6 | + * this file except in compliance with the License. You can obtain a copy |
| 7 | + * in the file LICENSE in the source distribution or at |
| 8 | + * https://www.openssl.org/source/license.html |
60 | 9 | */
|
61 | 10 |
|
62 |
| -#include <stdio.h> |
63 | 11 | #include <openssl/err.h>
|
64 | 12 | #include "e_gost_err.h"
|
65 | 13 |
|
66 |
| -/* BEGIN ERROR CODES */ |
67 | 14 | #ifndef OPENSSL_NO_ERR
|
68 | 15 |
|
69 |
| -# define ERR_FUNC(func) ERR_PACK(0,func,0) |
70 |
| -# define ERR_REASON(reason) ERR_PACK(0,0,reason) |
71 |
| - |
72 | 16 | static ERR_STRING_DATA GOST_str_functs[] = {
|
73 |
| - {ERR_FUNC(GOST_F_DECODE_GOST_ALGOR_PARAMS), "DECODE_GOST_ALGOR_PARAMS"}, |
74 |
| - {ERR_FUNC(GOST_F_ENCODE_GOST_ALGOR_PARAMS), "ENCODE_GOST_ALGOR_PARAMS"}, |
75 |
| - {ERR_FUNC(GOST_F_FILL_GOST_EC_PARAMS), "FILL_GOST_EC_PARAMS"}, |
76 |
| - {ERR_FUNC(GOST_F_GET_ENCRYPTION_PARAMS), "GET_ENCRYPTION_PARAMS"}, |
77 |
| - {ERR_FUNC(GOST_F_GOST89_GET_ASN1_PARAMETERS), |
78 |
| - "GOST89_GET_ASN1_PARAMETERS"}, |
79 |
| - {ERR_FUNC(GOST_F_GOST89_SET_ASN1_PARAMETERS), |
80 |
| - "GOST89_SET_ASN1_PARAMETERS"}, |
81 |
| - {ERR_FUNC(GOST_F_GOST_CIPHER_CTL), "GOST_CIPHER_CTL"}, |
82 |
| - {ERR_FUNC(GOST_F_GOST_EC_COMPUTE_PUBLIC), "GOST_EC_COMPUTE_PUBLIC"}, |
83 |
| - {ERR_FUNC(GOST_F_GOST_EC_KEYGEN), "GOST_EC_KEYGEN"}, |
84 |
| - {ERR_FUNC(GOST_F_GOST_EC_SIGN), "GOST_EC_SIGN"}, |
85 |
| - {ERR_FUNC(GOST_F_GOST_EC_VERIFY), "GOST_EC_VERIFY"}, |
86 |
| - {ERR_FUNC(GOST_F_GOST_IMIT_CTRL), "GOST_IMIT_CTRL"}, |
87 |
| - {ERR_FUNC(GOST_F_GOST_IMIT_FINAL), "GOST_IMIT_FINAL"}, |
88 |
| - {ERR_FUNC(GOST_F_GOST_IMIT_UPDATE), "GOST_IMIT_UPDATE"}, |
89 |
| - {ERR_FUNC(GOST_F_PARAM_COPY_GOST_EC), "PARAM_COPY_GOST_EC"}, |
90 |
| - {ERR_FUNC(GOST_F_PKEY_GOST01_PARAMGEN), "PKEY_GOST01_PARAMGEN"}, |
91 |
| - {ERR_FUNC(GOST_F_PKEY_GOST12_PARAMGEN), "PKEY_GOST12_PARAMGEN"}, |
92 |
| - {ERR_FUNC(GOST_F_PKEY_GOST_CTRL), "PKEY_GOST_CTRL"}, |
93 |
| - {ERR_FUNC(GOST_F_PKEY_GOST_ECCP_DECRYPT), "PKEY_GOST_ECCP_DECRYPT"}, |
94 |
| - {ERR_FUNC(GOST_F_PKEY_GOST_ECCP_ENCRYPT), "PKEY_GOST_ECCP_ENCRYPT"}, |
95 |
| - {ERR_FUNC(GOST_F_PKEY_GOST_EC_CTRL_STR_256), "PKEY_GOST_EC_CTRL_STR_256"}, |
96 |
| - {ERR_FUNC(GOST_F_PKEY_GOST_EC_CTRL_STR_512), "PKEY_GOST_EC_CTRL_STR_512"}, |
97 |
| - {ERR_FUNC(GOST_F_PKEY_GOST_EC_DERIVE), "PKEY_GOST_EC_DERIVE"}, |
98 |
| - {ERR_FUNC(GOST_F_PKEY_GOST_MAC_CTRL), "PKEY_GOST_MAC_CTRL"}, |
99 |
| - {ERR_FUNC(GOST_F_PKEY_GOST_MAC_CTRL_STR), "PKEY_GOST_MAC_CTRL_STR"}, |
100 |
| - {ERR_FUNC(GOST_F_PKEY_GOST_MAC_KEYGEN), "PKEY_GOST_MAC_KEYGEN"}, |
101 |
| - {ERR_FUNC(GOST_F_PKEY_GOST_MAC_SIGNCTX_INIT), |
102 |
| - "PKEY_GOST_MAC_SIGNCTX_INIT"}, |
103 |
| - {ERR_FUNC(GOST_F_PRINT_GOST_EC_PUB), "PRINT_GOST_EC_PUB"}, |
104 |
| - {ERR_FUNC(GOST_F_PRIV_DECODE_GOST), "PRIV_DECODE_GOST"}, |
105 |
| - {ERR_FUNC(GOST_F_PUB_DECODE_GOST_EC), "PUB_DECODE_GOST_EC"}, |
106 |
| - {ERR_FUNC(GOST_F_PUB_ENCODE_GOST_EC), "PUB_ENCODE_GOST_EC"}, |
107 |
| - {ERR_FUNC(GOST_F_UNPACK_CP_SIGNATURE), "UNPACK_CP_SIGNATURE"}, |
108 |
| - {ERR_FUNC(GOST_F_VKO_COMPUTE_KEY), "VKO_COMPUTE_KEY"}, |
| 17 | + {ERR_PACK(0, GOST_F_DECODE_GOST_ALGOR_PARAMS, 0), |
| 18 | + "decode_gost_algor_params"}, |
| 19 | + {ERR_PACK(0, GOST_F_ENCODE_GOST_ALGOR_PARAMS, 0), |
| 20 | + "encode_gost_algor_params"}, |
| 21 | + {ERR_PACK(0, GOST_F_FILL_GOST_EC_PARAMS, 0), "fill_GOST_EC_params"}, |
| 22 | + {ERR_PACK(0, GOST_F_GET_ENCRYPTION_PARAMS, 0), "get_encryption_params"}, |
| 23 | + {ERR_PACK(0, GOST_F_GOST89_GET_ASN1_PARAMETERS, 0), |
| 24 | + "gost89_get_asn1_parameters"}, |
| 25 | + {ERR_PACK(0, GOST_F_GOST89_SET_ASN1_PARAMETERS, 0), |
| 26 | + "gost89_set_asn1_parameters"}, |
| 27 | + {ERR_PACK(0, GOST_F_GOST_CIPHER_CTL, 0), "gost_cipher_ctl"}, |
| 28 | + {ERR_PACK(0, GOST_F_GOST_EC_COMPUTE_PUBLIC, 0), "gost_ec_compute_public"}, |
| 29 | + {ERR_PACK(0, GOST_F_GOST_EC_KEYGEN, 0), "gost_ec_keygen"}, |
| 30 | + {ERR_PACK(0, GOST_F_GOST_EC_SIGN, 0), "gost_ec_sign"}, |
| 31 | + {ERR_PACK(0, GOST_F_GOST_EC_VERIFY, 0), "gost_ec_verify"}, |
| 32 | + {ERR_PACK(0, GOST_F_GOST_GRASSHOPPER_CIPHER_CTL, 0), |
| 33 | + "gost_grasshopper_cipher_ctl"}, |
| 34 | + {ERR_PACK(0, GOST_F_GOST_GRASSHOPPER_SET_ASN1_PARAMETERS, 0), |
| 35 | + "gost_grasshopper_set_asn1_parameters"}, |
| 36 | + {ERR_PACK(0, GOST_F_GOST_IMIT_CTRL, 0), "gost_imit_ctrl"}, |
| 37 | + {ERR_PACK(0, GOST_F_GOST_IMIT_FINAL, 0), "gost_imit_final"}, |
| 38 | + {ERR_PACK(0, GOST_F_GOST_IMIT_UPDATE, 0), "gost_imit_update"}, |
| 39 | + {ERR_PACK(0, GOST_F_MAGMA_IMIT_FINAL, 0), "magma_imit_final"}, |
| 40 | + {ERR_PACK(0, GOST_F_MAGMA_IMIT_UPDATE, 0), "magma_imit_update"}, |
| 41 | + {ERR_PACK(0, GOST_F_PARAM_COPY_GOST_EC, 0), "param_copy_gost_ec"}, |
| 42 | + {ERR_PACK(0, GOST_F_PKEY_GOST2001_PARAMGEN, 0), "pkey_gost2001_paramgen"}, |
| 43 | + {ERR_PACK(0, GOST_F_PKEY_GOST2012_PARAMGEN, 0), "pkey_gost2012_paramgen"}, |
| 44 | + {ERR_PACK(0, GOST_F_PKEY_GOST_CTRL, 0), "pkey_gost_ctrl"}, |
| 45 | + {ERR_PACK(0, GOST_F_PKEY_GOST_ECCP_DECRYPT, 0), "pkey_GOST_ECcp_decrypt"}, |
| 46 | + {ERR_PACK(0, GOST_F_PKEY_GOST_ECCP_ENCRYPT, 0), "pkey_GOST_ECcp_encrypt"}, |
| 47 | + {ERR_PACK(0, GOST_F_PKEY_GOST_EC_CTRL_STR_256, 0), |
| 48 | + "pkey_gost_ec_ctrl_str_256"}, |
| 49 | + {ERR_PACK(0, GOST_F_PKEY_GOST_EC_CTRL_STR_512, 0), |
| 50 | + "pkey_gost_ec_ctrl_str_512"}, |
| 51 | + {ERR_PACK(0, GOST_F_PKEY_GOST_EC_DERIVE, 0), "pkey_gost_ec_derive"}, |
| 52 | + {ERR_PACK(0, GOST_F_PKEY_GOST_MAC_CTRL, 0), "pkey_gost_mac_ctrl"}, |
| 53 | + {ERR_PACK(0, GOST_F_PKEY_GOST_MAC_CTRL_STR, 0), "pkey_gost_mac_ctrl_str"}, |
| 54 | + {ERR_PACK(0, GOST_F_PKEY_GOST_MAC_KEYGEN_BASE, 0), |
| 55 | + "pkey_gost_mac_keygen_base"}, |
| 56 | + {ERR_PACK(0, GOST_F_PKEY_GOST_MAC_SIGNCTX_INIT, 0), |
| 57 | + "pkey_gost_mac_signctx_init"}, |
| 58 | + {ERR_PACK(0, GOST_F_PRINT_GOST_EC_PUB, 0), "print_gost_ec_pub"}, |
| 59 | + {ERR_PACK(0, GOST_F_PRIV_DECODE_GOST, 0), "priv_decode_gost"}, |
| 60 | + {ERR_PACK(0, GOST_F_PUB_DECODE_GOST_EC, 0), "pub_decode_gost_ec"}, |
| 61 | + {ERR_PACK(0, GOST_F_PUB_ENCODE_GOST_EC, 0), "pub_encode_gost_ec"}, |
| 62 | + {ERR_PACK(0, GOST_F_UNPACK_CP_SIGNATURE, 0), "unpack_cp_signature"}, |
| 63 | + {ERR_PACK(0, GOST_F_VKO_COMPUTE_KEY, 0), "VKO_compute_key"}, |
109 | 64 | {0, NULL}
|
110 | 65 | };
|
111 | 66 |
|
112 | 67 | static ERR_STRING_DATA GOST_str_reasons[] = {
|
113 |
| - {ERR_REASON(GOST_R_BAD_KEY_PARAMETERS_FORMAT), |
114 |
| - "bad key parameters format"}, |
115 |
| - {ERR_REASON(GOST_R_BAD_PKEY_PARAMETERS_FORMAT), |
116 |
| - "bad pkey parameters format"}, |
117 |
| - {ERR_REASON(GOST_R_CANNOT_PACK_EPHEMERAL_KEY), |
118 |
| - "cannot pack ephemeral key"}, |
119 |
| - {ERR_REASON(GOST_R_CTRL_CALL_FAILED), "ctrl call failed"}, |
120 |
| - {ERR_REASON(GOST_R_ERROR_COMPUTING_SHARED_KEY), |
121 |
| - "error computing shared key"}, |
122 |
| - {ERR_REASON(GOST_R_ERROR_PARSING_KEY_TRANSPORT_INFO), |
123 |
| - "error parsing key transport info"}, |
124 |
| - {ERR_REASON(GOST_R_ERROR_POINT_MUL), "error point mul"}, |
125 |
| - {ERR_REASON(GOST_R_INCOMPATIBLE_ALGORITHMS), "incompatible algorithms"}, |
126 |
| - {ERR_REASON(GOST_R_INCOMPATIBLE_PEER_KEY), "incompatible peer key"}, |
127 |
| - {ERR_REASON(GOST_R_INVALID_CIPHER_PARAMS), "invalid cipher params"}, |
128 |
| - {ERR_REASON(GOST_R_INVALID_CIPHER_PARAM_OID), "invalid cipher param oid"}, |
129 |
| - {ERR_REASON(GOST_R_INVALID_DIGEST_TYPE), "invalid digest type"}, |
130 |
| - {ERR_REASON(GOST_R_INVALID_IV_LENGTH), "invalid iv length"}, |
131 |
| - {ERR_REASON(GOST_R_INVALID_MAC_KEY_LENGTH), "invalid mac key length"}, |
132 |
| - {ERR_REASON(GOST_R_INVALID_MAC_KEY_SIZE), "invalid mac key size"}, |
133 |
| - {ERR_REASON(GOST_R_INVALID_MAC_PARAMS), "invalid mac params"}, |
134 |
| - {ERR_REASON(GOST_R_INVALID_MAC_SIZE), "invalid mac size"}, |
135 |
| - {ERR_REASON(GOST_R_INVALID_PARAMSET), "invalid paramset"}, |
136 |
| - {ERR_REASON(GOST_R_KEY_IS_NOT_INITIALIZED), "key is not initialized"}, |
137 |
| - {ERR_REASON(GOST_R_KEY_PARAMETERS_MISSING), "key parameters missing"}, |
138 |
| - {ERR_REASON(GOST_R_MAC_KEY_NOT_SET), "mac key not set"}, |
139 |
| - {ERR_REASON(GOST_R_NO_PARAMETERS_SET), "no parameters set"}, |
140 |
| - {ERR_REASON(GOST_R_NO_PEER_KEY), "no peer key"}, |
141 |
| - {ERR_REASON(GOST_R_NO_PRIVATE_PART_OF_NON_EPHEMERAL_KEYPAIR), |
142 |
| - "no private part of non ephemeral keypair"}, |
143 |
| - {ERR_REASON(GOST_R_PUBLIC_KEY_UNDEFINED), "public key undefined"}, |
144 |
| - {ERR_REASON(GOST_R_RNG_ERROR), "rng error"}, |
145 |
| - {ERR_REASON(GOST_R_SIGNATURE_MISMATCH), "signature mismatch"}, |
146 |
| - {ERR_REASON(GOST_R_SIGNATURE_PARTS_GREATER_THAN_Q), |
147 |
| - "signature parts greater than q"}, |
148 |
| - {ERR_REASON(GOST_R_UKM_NOT_SET), "ukm not set"}, |
149 |
| - {ERR_REASON(GOST_R_UNSUPPORTED_CIPHER_CTL_COMMAND), |
150 |
| - "unsupported cipher ctl command"}, |
151 |
| - {ERR_REASON(GOST_R_UNSUPPORTED_PARAMETER_SET), |
152 |
| - "unsupported parameter set"}, |
| 68 | + {ERR_PACK(0, 0, GOST_R_BAD_KEY_PARAMETERS_FORMAT), |
| 69 | + "bad key parameters format"}, |
| 70 | + {ERR_PACK(0, 0, GOST_R_BAD_PKEY_PARAMETERS_FORMAT), |
| 71 | + "bad pkey parameters format"}, |
| 72 | + {ERR_PACK(0, 0, GOST_R_CANNOT_PACK_EPHEMERAL_KEY), |
| 73 | + "cannot pack ephemeral key"}, |
| 74 | + {ERR_PACK(0, 0, GOST_R_CTRL_CALL_FAILED), "ctrl call failed"}, |
| 75 | + {ERR_PACK(0, 0, GOST_R_ERROR_COMPUTING_SHARED_KEY), |
| 76 | + "error computing shared key"}, |
| 77 | + {ERR_PACK(0, 0, GOST_R_ERROR_PARSING_KEY_TRANSPORT_INFO), |
| 78 | + "error parsing key transport info"}, |
| 79 | + {ERR_PACK(0, 0, GOST_R_ERROR_POINT_MUL), "error point mul"}, |
| 80 | + {ERR_PACK(0, 0, GOST_R_INCOMPATIBLE_ALGORITHMS), "incompatible algorithms"}, |
| 81 | + {ERR_PACK(0, 0, GOST_R_INCOMPATIBLE_PEER_KEY), "incompatible peer key"}, |
| 82 | + {ERR_PACK(0, 0, GOST_R_INVALID_CIPHER_PARAMS), "invalid cipher params"}, |
| 83 | + {ERR_PACK(0, 0, GOST_R_INVALID_CIPHER_PARAM_OID), |
| 84 | + "invalid cipher param oid"}, |
| 85 | + {ERR_PACK(0, 0, GOST_R_INVALID_DIGEST_TYPE), "invalid digest type"}, |
| 86 | + {ERR_PACK(0, 0, GOST_R_INVALID_IV_LENGTH), "invalid iv length"}, |
| 87 | + {ERR_PACK(0, 0, GOST_R_INVALID_MAC_KEY_LENGTH), "invalid mac key length"}, |
| 88 | + {ERR_PACK(0, 0, GOST_R_INVALID_MAC_KEY_SIZE), "invalid mac key size"}, |
| 89 | + {ERR_PACK(0, 0, GOST_R_INVALID_MAC_PARAMS), "invalid mac params"}, |
| 90 | + {ERR_PACK(0, 0, GOST_R_INVALID_MAC_SIZE), "invalid mac size"}, |
| 91 | + {ERR_PACK(0, 0, GOST_R_INVALID_PARAMSET), "invalid paramset"}, |
| 92 | + {ERR_PACK(0, 0, GOST_R_KEY_IS_NOT_INITIALIZED), "key is not initialized"}, |
| 93 | + {ERR_PACK(0, 0, GOST_R_KEY_PARAMETERS_MISSING), "key parameters missing"}, |
| 94 | + {ERR_PACK(0, 0, GOST_R_MAC_KEY_NOT_SET), "mac key not set"}, |
| 95 | + {ERR_PACK(0, 0, GOST_R_NO_PARAMETERS_SET), "no parameters set"}, |
| 96 | + {ERR_PACK(0, 0, GOST_R_NO_PEER_KEY), "no peer key"}, |
| 97 | + {ERR_PACK(0, 0, GOST_R_NO_PRIVATE_PART_OF_NON_EPHEMERAL_KEYPAIR), |
| 98 | + "no private part of non ephemeral keypair"}, |
| 99 | + {ERR_PACK(0, 0, GOST_R_PUBLIC_KEY_UNDEFINED), "public key undefined"}, |
| 100 | + {ERR_PACK(0, 0, GOST_R_RNG_ERROR), "rng error"}, |
| 101 | + {ERR_PACK(0, 0, GOST_R_SIGNATURE_MISMATCH), "signature mismatch"}, |
| 102 | + {ERR_PACK(0, 0, GOST_R_SIGNATURE_PARTS_GREATER_THAN_Q), |
| 103 | + "signature parts greater than q"}, |
| 104 | + {ERR_PACK(0, 0, GOST_R_UKM_NOT_SET), "ukm not set"}, |
| 105 | + {ERR_PACK(0, 0, GOST_R_UNSUPPORTED_CIPHER_CTL_COMMAND), |
| 106 | + "unsupported cipher ctl command"}, |
| 107 | + {ERR_PACK(0, 0, GOST_R_UNSUPPORTED_PARAMETER_SET), |
| 108 | + "unsupported parameter set"}, |
153 | 109 | {0, NULL}
|
154 | 110 | };
|
155 | 111 |
|
156 | 112 | #endif
|
157 | 113 |
|
158 |
| -#ifdef GOST_LIB_NAME |
159 |
| -static ERR_STRING_DATA GOST_lib_name[] = { |
160 |
| - {0, GOST_LIB_NAME}, |
161 |
| - {0, NULL} |
162 |
| -}; |
163 |
| -#endif |
| 114 | +static int lib_code = 0; |
| 115 | +static int error_loaded = 0; |
164 | 116 |
|
165 |
| -static int GOST_lib_error_code = 0; |
166 |
| -static int GOST_error_init = 1; |
167 |
| - |
168 |
| -void ERR_load_GOST_strings(void) |
| 117 | +int ERR_load_GOST_strings(void) |
169 | 118 | {
|
170 |
| - if (GOST_lib_error_code == 0) |
171 |
| - GOST_lib_error_code = ERR_get_next_error_library(); |
| 119 | + if (lib_code == 0) |
| 120 | + lib_code = ERR_get_next_error_library(); |
172 | 121 |
|
173 |
| - if (GOST_error_init) { |
174 |
| - GOST_error_init = 0; |
| 122 | + if (!error_loaded) { |
175 | 123 | #ifndef OPENSSL_NO_ERR
|
176 |
| - ERR_load_strings(GOST_lib_error_code, GOST_str_functs); |
177 |
| - ERR_load_strings(GOST_lib_error_code, GOST_str_reasons); |
178 |
| -#endif |
179 |
| - |
180 |
| -#ifdef GOST_LIB_NAME |
181 |
| - GOST_lib_name->error = ERR_PACK(GOST_lib_error_code, 0, 0); |
182 |
| - ERR_load_strings(0, GOST_lib_name); |
| 124 | + ERR_load_strings(lib_code, GOST_str_functs); |
| 125 | + ERR_load_strings(lib_code, GOST_str_reasons); |
183 | 126 | #endif
|
| 127 | + error_loaded = 1; |
184 | 128 | }
|
| 129 | + return 1; |
185 | 130 | }
|
186 | 131 |
|
187 | 132 | void ERR_unload_GOST_strings(void)
|
188 | 133 | {
|
189 |
| - if (GOST_error_init == 0) { |
| 134 | + if (error_loaded) { |
190 | 135 | #ifndef OPENSSL_NO_ERR
|
191 |
| - ERR_unload_strings(GOST_lib_error_code, GOST_str_functs); |
192 |
| - ERR_unload_strings(GOST_lib_error_code, GOST_str_reasons); |
193 |
| -#endif |
194 |
| - |
195 |
| -#ifdef GOST_LIB_NAME |
196 |
| - ERR_unload_strings(0, GOST_lib_name); |
| 136 | + ERR_unload_strings(lib_code, GOST_str_functs); |
| 137 | + ERR_unload_strings(lib_code, GOST_str_reasons); |
197 | 138 | #endif
|
198 |
| - GOST_error_init = 1; |
| 139 | + error_loaded = 0; |
199 | 140 | }
|
200 | 141 | }
|
201 | 142 |
|
202 | 143 | void ERR_GOST_error(int function, int reason, char *file, int line)
|
203 | 144 | {
|
204 |
| - if (GOST_lib_error_code == 0) |
205 |
| - GOST_lib_error_code = ERR_get_next_error_library(); |
206 |
| - ERR_PUT_error(GOST_lib_error_code, function, reason, file, line); |
| 145 | + if (lib_code == 0) |
| 146 | + lib_code = ERR_get_next_error_library(); |
| 147 | + ERR_PUT_error(lib_code, function, reason, file, line); |
207 | 148 | }
|
0 commit comments