]>
Commit | Line | Data |
---|---|---|
6d311938 DSH |
1 | /* crypto/evp/evp_err.c */ |
2 | /* ==================================================================== | |
c6f33865 | 3 | * Copyright (c) 1999-2013 The OpenSSL Project. All rights reserved. |
d02b48c6 | 4 | * |
d02b48c6 RE |
5 | * Redistribution and use in source and binary forms, with or without |
6 | * modification, are permitted provided that the following conditions | |
7 | * are met: | |
6d311938 DSH |
8 | * |
9 | * 1. Redistributions of source code must retain the above copyright | |
ae5c8664 | 10 | * notice, this list of conditions and the following disclaimer. |
6d311938 | 11 | * |
d02b48c6 | 12 | * 2. Redistributions in binary form must reproduce the above copyright |
6d311938 DSH |
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 | * openssl-core@OpenSSL.org. | |
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 | * (eay@cryptsoft.com). This product includes software written by Tim | |
52 | * Hudson (tjh@cryptsoft.com). | |
53 | * | |
d02b48c6 | 54 | */ |
6d311938 | 55 | |
ae5c8664 MC |
56 | /* |
57 | * NOTE: this file was auto generated by the mkerr.pl script: any changes | |
59fc2b0f BM |
58 | * made to it will be overwritten when the script next updates this file, |
59 | * only reason strings will be preserved. | |
6d311938 DSH |
60 | */ |
61 | ||
d02b48c6 | 62 | #include <stdio.h> |
ec577822 BM |
63 | #include <openssl/err.h> |
64 | #include <openssl/evp.h> | |
d02b48c6 RE |
65 | |
66 | /* BEGIN ERROR CODES */ | |
cf1b7d96 | 67 | #ifndef OPENSSL_NO_ERR |
29dc3508 | 68 | |
ae5c8664 MC |
69 | # define ERR_FUNC(func) ERR_PACK(ERR_LIB_EVP,func,0) |
70 | # define ERR_REASON(reason) ERR_PACK(ERR_LIB_EVP,0,reason) | |
29dc3508 | 71 | |
ae5c8664 MC |
72 | static ERR_STRING_DATA EVP_str_functs[] = { |
73 | {ERR_FUNC(EVP_F_AESNI_INIT_KEY), "AESNI_INIT_KEY"}, | |
74 | {ERR_FUNC(EVP_F_AESNI_XTS_CIPHER), "AESNI_XTS_CIPHER"}, | |
75 | {ERR_FUNC(EVP_F_AES_INIT_KEY), "AES_INIT_KEY"}, | |
76 | {ERR_FUNC(EVP_F_AES_T4_INIT_KEY), "AES_T4_INIT_KEY"}, | |
77 | {ERR_FUNC(EVP_F_AES_XTS), "AES_XTS"}, | |
78 | {ERR_FUNC(EVP_F_AES_XTS_CIPHER), "AES_XTS_CIPHER"}, | |
79 | {ERR_FUNC(EVP_F_ALG_MODULE_INIT), "ALG_MODULE_INIT"}, | |
80 | {ERR_FUNC(EVP_F_CAMELLIA_INIT_KEY), "CAMELLIA_INIT_KEY"}, | |
81 | {ERR_FUNC(EVP_F_CMAC_INIT), "CMAC_INIT"}, | |
82 | {ERR_FUNC(EVP_F_CMLL_T4_INIT_KEY), "CMLL_T4_INIT_KEY"}, | |
83 | {ERR_FUNC(EVP_F_D2I_PKEY), "D2I_PKEY"}, | |
84 | {ERR_FUNC(EVP_F_DO_SIGVER_INIT), "DO_SIGVER_INIT"}, | |
85 | {ERR_FUNC(EVP_F_DSAPKEY2PKCS8), "DSAPKEY2PKCS8"}, | |
86 | {ERR_FUNC(EVP_F_DSA_PKEY2PKCS8), "DSA_PKEY2PKCS8"}, | |
87 | {ERR_FUNC(EVP_F_ECDSA_PKEY2PKCS8), "ECDSA_PKEY2PKCS8"}, | |
88 | {ERR_FUNC(EVP_F_ECKEY_PKEY2PKCS8), "ECKEY_PKEY2PKCS8"}, | |
89 | {ERR_FUNC(EVP_F_EVP_CIPHERINIT_EX), "EVP_CipherInit_ex"}, | |
90 | {ERR_FUNC(EVP_F_EVP_CIPHER_CTX_COPY), "EVP_CIPHER_CTX_copy"}, | |
91 | {ERR_FUNC(EVP_F_EVP_CIPHER_CTX_CTRL), "EVP_CIPHER_CTX_ctrl"}, | |
92 | {ERR_FUNC(EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH), | |
93 | "EVP_CIPHER_CTX_set_key_length"}, | |
94 | {ERR_FUNC(EVP_F_EVP_DECRYPTFINAL_EX), "EVP_DecryptFinal_ex"}, | |
95 | {ERR_FUNC(EVP_F_EVP_DIGESTINIT_EX), "EVP_DigestInit_ex"}, | |
96 | {ERR_FUNC(EVP_F_EVP_ENCRYPTFINAL_EX), "EVP_EncryptFinal_ex"}, | |
97 | {ERR_FUNC(EVP_F_EVP_MD_CTX_COPY_EX), "EVP_MD_CTX_copy_ex"}, | |
98 | {ERR_FUNC(EVP_F_EVP_MD_SIZE), "EVP_MD_size"}, | |
99 | {ERR_FUNC(EVP_F_EVP_OPENINIT), "EVP_OpenInit"}, | |
100 | {ERR_FUNC(EVP_F_EVP_PBE_ALG_ADD), "EVP_PBE_alg_add"}, | |
101 | {ERR_FUNC(EVP_F_EVP_PBE_ALG_ADD_TYPE), "EVP_PBE_alg_add_type"}, | |
102 | {ERR_FUNC(EVP_F_EVP_PBE_CIPHERINIT), "EVP_PBE_CipherInit"}, | |
103 | {ERR_FUNC(EVP_F_EVP_PKCS82PKEY), "EVP_PKCS82PKEY"}, | |
104 | {ERR_FUNC(EVP_F_EVP_PKCS82PKEY_BROKEN), "EVP_PKCS82PKEY_BROKEN"}, | |
105 | {ERR_FUNC(EVP_F_EVP_PKEY2PKCS8_BROKEN), "EVP_PKEY2PKCS8_broken"}, | |
106 | {ERR_FUNC(EVP_F_EVP_PKEY_COPY_PARAMETERS), "EVP_PKEY_copy_parameters"}, | |
107 | {ERR_FUNC(EVP_F_EVP_PKEY_CTX_CTRL), "EVP_PKEY_CTX_ctrl"}, | |
108 | {ERR_FUNC(EVP_F_EVP_PKEY_CTX_CTRL_STR), "EVP_PKEY_CTX_ctrl_str"}, | |
109 | {ERR_FUNC(EVP_F_EVP_PKEY_CTX_DUP), "EVP_PKEY_CTX_dup"}, | |
110 | {ERR_FUNC(EVP_F_EVP_PKEY_DECRYPT), "EVP_PKEY_decrypt"}, | |
111 | {ERR_FUNC(EVP_F_EVP_PKEY_DECRYPT_INIT), "EVP_PKEY_decrypt_init"}, | |
112 | {ERR_FUNC(EVP_F_EVP_PKEY_DECRYPT_OLD), "EVP_PKEY_decrypt_old"}, | |
113 | {ERR_FUNC(EVP_F_EVP_PKEY_DERIVE), "EVP_PKEY_derive"}, | |
114 | {ERR_FUNC(EVP_F_EVP_PKEY_DERIVE_INIT), "EVP_PKEY_derive_init"}, | |
115 | {ERR_FUNC(EVP_F_EVP_PKEY_DERIVE_SET_PEER), "EVP_PKEY_derive_set_peer"}, | |
116 | {ERR_FUNC(EVP_F_EVP_PKEY_ENCRYPT), "EVP_PKEY_encrypt"}, | |
117 | {ERR_FUNC(EVP_F_EVP_PKEY_ENCRYPT_INIT), "EVP_PKEY_encrypt_init"}, | |
118 | {ERR_FUNC(EVP_F_EVP_PKEY_ENCRYPT_OLD), "EVP_PKEY_encrypt_old"}, | |
119 | {ERR_FUNC(EVP_F_EVP_PKEY_GET1_DH), "EVP_PKEY_get1_DH"}, | |
120 | {ERR_FUNC(EVP_F_EVP_PKEY_GET1_DSA), "EVP_PKEY_get1_DSA"}, | |
121 | {ERR_FUNC(EVP_F_EVP_PKEY_GET1_ECDSA), "EVP_PKEY_GET1_ECDSA"}, | |
122 | {ERR_FUNC(EVP_F_EVP_PKEY_GET1_EC_KEY), "EVP_PKEY_get1_EC_KEY"}, | |
123 | {ERR_FUNC(EVP_F_EVP_PKEY_GET1_RSA), "EVP_PKEY_get1_RSA"}, | |
124 | {ERR_FUNC(EVP_F_EVP_PKEY_KEYGEN), "EVP_PKEY_keygen"}, | |
125 | {ERR_FUNC(EVP_F_EVP_PKEY_KEYGEN_INIT), "EVP_PKEY_keygen_init"}, | |
126 | {ERR_FUNC(EVP_F_EVP_PKEY_NEW), "EVP_PKEY_new"}, | |
127 | {ERR_FUNC(EVP_F_EVP_PKEY_PARAMGEN), "EVP_PKEY_paramgen"}, | |
128 | {ERR_FUNC(EVP_F_EVP_PKEY_PARAMGEN_INIT), "EVP_PKEY_paramgen_init"}, | |
129 | {ERR_FUNC(EVP_F_EVP_PKEY_SIGN), "EVP_PKEY_sign"}, | |
130 | {ERR_FUNC(EVP_F_EVP_PKEY_SIGN_INIT), "EVP_PKEY_sign_init"}, | |
131 | {ERR_FUNC(EVP_F_EVP_PKEY_VERIFY), "EVP_PKEY_verify"}, | |
132 | {ERR_FUNC(EVP_F_EVP_PKEY_VERIFY_INIT), "EVP_PKEY_verify_init"}, | |
133 | {ERR_FUNC(EVP_F_EVP_PKEY_VERIFY_RECOVER), "EVP_PKEY_verify_recover"}, | |
134 | {ERR_FUNC(EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT), | |
135 | "EVP_PKEY_verify_recover_init"}, | |
136 | {ERR_FUNC(EVP_F_EVP_RIJNDAEL), "EVP_RIJNDAEL"}, | |
137 | {ERR_FUNC(EVP_F_EVP_SIGNFINAL), "EVP_SignFinal"}, | |
138 | {ERR_FUNC(EVP_F_EVP_VERIFYFINAL), "EVP_VerifyFinal"}, | |
139 | {ERR_FUNC(EVP_F_FIPS_CIPHERINIT), "FIPS_CIPHERINIT"}, | |
140 | {ERR_FUNC(EVP_F_FIPS_CIPHER_CTX_COPY), "FIPS_CIPHER_CTX_COPY"}, | |
141 | {ERR_FUNC(EVP_F_FIPS_CIPHER_CTX_CTRL), "FIPS_CIPHER_CTX_CTRL"}, | |
142 | {ERR_FUNC(EVP_F_FIPS_CIPHER_CTX_SET_KEY_LENGTH), | |
143 | "FIPS_CIPHER_CTX_SET_KEY_LENGTH"}, | |
144 | {ERR_FUNC(EVP_F_FIPS_DIGESTINIT), "FIPS_DIGESTINIT"}, | |
145 | {ERR_FUNC(EVP_F_FIPS_MD_CTX_COPY), "FIPS_MD_CTX_COPY"}, | |
146 | {ERR_FUNC(EVP_F_HMAC_INIT_EX), "HMAC_Init_ex"}, | |
147 | {ERR_FUNC(EVP_F_INT_CTX_NEW), "INT_CTX_NEW"}, | |
148 | {ERR_FUNC(EVP_F_PKCS5_PBE_KEYIVGEN), "PKCS5_PBE_keyivgen"}, | |
149 | {ERR_FUNC(EVP_F_PKCS5_V2_PBE_KEYIVGEN), "PKCS5_v2_PBE_keyivgen"}, | |
150 | {ERR_FUNC(EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN), "PKCS5_V2_PBKDF2_KEYIVGEN"}, | |
151 | {ERR_FUNC(EVP_F_PKCS8_SET_BROKEN), "PKCS8_set_broken"}, | |
152 | {ERR_FUNC(EVP_F_PKEY_SET_TYPE), "PKEY_SET_TYPE"}, | |
153 | {ERR_FUNC(EVP_F_RC2_MAGIC_TO_METH), "RC2_MAGIC_TO_METH"}, | |
154 | {ERR_FUNC(EVP_F_RC5_CTRL), "RC5_CTRL"}, | |
155 | {0, NULL} | |
156 | }; | |
d02b48c6 | 157 | |
ae5c8664 MC |
158 | static ERR_STRING_DATA EVP_str_reasons[] = { |
159 | {ERR_REASON(EVP_R_AES_IV_SETUP_FAILED), "aes iv setup failed"}, | |
160 | {ERR_REASON(EVP_R_AES_KEY_SETUP_FAILED), "aes key setup failed"}, | |
161 | {ERR_REASON(EVP_R_ASN1_LIB), "asn1 lib"}, | |
162 | {ERR_REASON(EVP_R_BAD_BLOCK_LENGTH), "bad block length"}, | |
163 | {ERR_REASON(EVP_R_BAD_DECRYPT), "bad decrypt"}, | |
164 | {ERR_REASON(EVP_R_BAD_KEY_LENGTH), "bad key length"}, | |
165 | {ERR_REASON(EVP_R_BN_DECODE_ERROR), "bn decode error"}, | |
166 | {ERR_REASON(EVP_R_BN_PUBKEY_ERROR), "bn pubkey error"}, | |
167 | {ERR_REASON(EVP_R_BUFFER_TOO_SMALL), "buffer too small"}, | |
168 | {ERR_REASON(EVP_R_CAMELLIA_KEY_SETUP_FAILED), | |
169 | "camellia key setup failed"}, | |
170 | {ERR_REASON(EVP_R_CIPHER_PARAMETER_ERROR), "cipher parameter error"}, | |
171 | {ERR_REASON(EVP_R_COMMAND_NOT_SUPPORTED), "command not supported"}, | |
172 | {ERR_REASON(EVP_R_CTRL_NOT_IMPLEMENTED), "ctrl not implemented"}, | |
173 | {ERR_REASON(EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED), | |
174 | "ctrl operation not implemented"}, | |
175 | {ERR_REASON(EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH), | |
176 | "data not multiple of block length"}, | |
177 | {ERR_REASON(EVP_R_DECODE_ERROR), "decode error"}, | |
178 | {ERR_REASON(EVP_R_DIFFERENT_KEY_TYPES), "different key types"}, | |
179 | {ERR_REASON(EVP_R_DIFFERENT_PARAMETERS), "different parameters"}, | |
180 | {ERR_REASON(EVP_R_DISABLED_FOR_FIPS), "disabled for fips"}, | |
181 | {ERR_REASON(EVP_R_ENCODE_ERROR), "encode error"}, | |
182 | {ERR_REASON(EVP_R_ERROR_LOADING_SECTION), "error loading section"}, | |
183 | {ERR_REASON(EVP_R_ERROR_SETTING_FIPS_MODE), "error setting fips mode"}, | |
184 | {ERR_REASON(EVP_R_EVP_PBE_CIPHERINIT_ERROR), "evp pbe cipherinit error"}, | |
185 | {ERR_REASON(EVP_R_EXPECTING_AN_RSA_KEY), "expecting an rsa key"}, | |
186 | {ERR_REASON(EVP_R_EXPECTING_A_DH_KEY), "expecting a dh key"}, | |
187 | {ERR_REASON(EVP_R_EXPECTING_A_DSA_KEY), "expecting a dsa key"}, | |
188 | {ERR_REASON(EVP_R_EXPECTING_A_ECDSA_KEY), "expecting a ecdsa key"}, | |
189 | {ERR_REASON(EVP_R_EXPECTING_A_EC_KEY), "expecting a ec key"}, | |
190 | {ERR_REASON(EVP_R_FIPS_MODE_NOT_SUPPORTED), "fips mode not supported"}, | |
191 | {ERR_REASON(EVP_R_INITIALIZATION_ERROR), "initialization error"}, | |
192 | {ERR_REASON(EVP_R_INPUT_NOT_INITIALIZED), "input not initialized"}, | |
193 | {ERR_REASON(EVP_R_INVALID_DIGEST), "invalid digest"}, | |
194 | {ERR_REASON(EVP_R_INVALID_FIPS_MODE), "invalid fips mode"}, | |
195 | {ERR_REASON(EVP_R_INVALID_KEY_LENGTH), "invalid key length"}, | |
196 | {ERR_REASON(EVP_R_INVALID_OPERATION), "invalid operation"}, | |
197 | {ERR_REASON(EVP_R_IV_TOO_LARGE), "iv too large"}, | |
198 | {ERR_REASON(EVP_R_KEYGEN_FAILURE), "keygen failure"}, | |
199 | {ERR_REASON(EVP_R_MESSAGE_DIGEST_IS_NULL), "message digest is null"}, | |
200 | {ERR_REASON(EVP_R_METHOD_NOT_SUPPORTED), "method not supported"}, | |
201 | {ERR_REASON(EVP_R_MISSING_PARAMETERS), "missing parameters"}, | |
202 | {ERR_REASON(EVP_R_NO_CIPHER_SET), "no cipher set"}, | |
203 | {ERR_REASON(EVP_R_NO_DEFAULT_DIGEST), "no default digest"}, | |
204 | {ERR_REASON(EVP_R_NO_DIGEST_SET), "no digest set"}, | |
205 | {ERR_REASON(EVP_R_NO_DSA_PARAMETERS), "no dsa parameters"}, | |
206 | {ERR_REASON(EVP_R_NO_KEY_SET), "no key set"}, | |
207 | {ERR_REASON(EVP_R_NO_OPERATION_SET), "no operation set"}, | |
208 | {ERR_REASON(EVP_R_NO_SIGN_FUNCTION_CONFIGURED), | |
209 | "no sign function configured"}, | |
210 | {ERR_REASON(EVP_R_NO_VERIFY_FUNCTION_CONFIGURED), | |
211 | "no verify function configured"}, | |
212 | {ERR_REASON(EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE), | |
213 | "operation not supported for this keytype"}, | |
214 | {ERR_REASON(EVP_R_OPERATON_NOT_INITIALIZED), "operaton not initialized"}, | |
215 | {ERR_REASON(EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE), | |
216 | "pkcs8 unknown broken type"}, | |
217 | {ERR_REASON(EVP_R_PRIVATE_KEY_DECODE_ERROR), "private key decode error"}, | |
218 | {ERR_REASON(EVP_R_PRIVATE_KEY_ENCODE_ERROR), "private key encode error"}, | |
219 | {ERR_REASON(EVP_R_PUBLIC_KEY_NOT_RSA), "public key not rsa"}, | |
220 | {ERR_REASON(EVP_R_TOO_LARGE), "too large"}, | |
221 | {ERR_REASON(EVP_R_UNKNOWN_CIPHER), "unknown cipher"}, | |
222 | {ERR_REASON(EVP_R_UNKNOWN_DIGEST), "unknown digest"}, | |
223 | {ERR_REASON(EVP_R_UNKNOWN_OPTION), "unknown option"}, | |
224 | {ERR_REASON(EVP_R_UNKNOWN_PBE_ALGORITHM), "unknown pbe algorithm"}, | |
225 | {ERR_REASON(EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS), | |
226 | "unsuported number of rounds"}, | |
227 | {ERR_REASON(EVP_R_UNSUPPORTED_ALGORITHM), "unsupported algorithm"}, | |
228 | {ERR_REASON(EVP_R_UNSUPPORTED_CIPHER), "unsupported cipher"}, | |
229 | {ERR_REASON(EVP_R_UNSUPPORTED_KEYLENGTH), "unsupported keylength"}, | |
230 | {ERR_REASON(EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION), | |
231 | "unsupported key derivation function"}, | |
232 | {ERR_REASON(EVP_R_UNSUPPORTED_KEY_SIZE), "unsupported key size"}, | |
233 | {ERR_REASON(EVP_R_UNSUPPORTED_PRF), "unsupported prf"}, | |
234 | {ERR_REASON(EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM), | |
235 | "unsupported private key algorithm"}, | |
236 | {ERR_REASON(EVP_R_UNSUPPORTED_SALT_TYPE), "unsupported salt type"}, | |
237 | {ERR_REASON(EVP_R_WRAP_MODE_NOT_ALLOWED), "wrap mode not allowed"}, | |
238 | {ERR_REASON(EVP_R_WRONG_FINAL_BLOCK_LENGTH), "wrong final block length"}, | |
239 | {ERR_REASON(EVP_R_WRONG_PUBLIC_KEY_TYPE), "wrong public key type"}, | |
240 | {0, NULL} | |
241 | }; | |
d02b48c6 | 242 | |
58964a49 RE |
243 | #endif |
244 | ||
6b691a5c | 245 | void ERR_load_EVP_strings(void) |
ae5c8664 | 246 | { |
47a9d527 | 247 | #ifndef OPENSSL_NO_ERR |
d02b48c6 | 248 | |
ae5c8664 MC |
249 | if (ERR_func_error_string(EVP_str_functs[0].error) == NULL) { |
250 | ERR_load_strings(0, EVP_str_functs); | |
251 | ERR_load_strings(0, EVP_str_reasons); | |
252 | } | |
47a9d527 | 253 | #endif |
ae5c8664 | 254 | } |