1/* e_gost_err.c */ 2/* ==================================================================== 3 * Copyright (c) 1999-2009 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 * 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 * 54 */ 55 56/* NOTE: this file was auto generated by the mkerr.pl script: any changes 57 * made to it will be overwritten when the script next updates this file, 58 * only reason strings will be preserved. 59 */ 60 61#include <stdio.h> 62#include <openssl/err.h> 63#include "e_gost_err.h" 64 65/* BEGIN ERROR CODES */ 66#ifndef OPENSSL_NO_ERR 67 68#define ERR_FUNC(func) ERR_PACK(0,func,0) 69#define ERR_REASON(reason) ERR_PACK(0,0,reason) 70 71static ERR_STRING_DATA GOST_str_functs[]= 72 { 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_GOST2001_PARAMS), "FILL_GOST2001_PARAMS"}, 76{ERR_FUNC(GOST_F_FILL_GOST94_PARAMS), "FILL_GOST94_PARAMS"}, 77{ERR_FUNC(GOST_F_GET_ENCRYPTION_PARAMS), "GET_ENCRYPTION_PARAMS"}, 78{ERR_FUNC(GOST_F_GOST2001_COMPUTE_PUBLIC), "GOST2001_COMPUTE_PUBLIC"}, 79{ERR_FUNC(GOST_F_GOST2001_DO_SIGN), "GOST2001_DO_SIGN"}, 80{ERR_FUNC(GOST_F_GOST2001_DO_VERIFY), "GOST2001_DO_VERIFY"}, 81{ERR_FUNC(GOST_F_GOST2001_KEYGEN), "GOST2001_KEYGEN"}, 82{ERR_FUNC(GOST_F_GOST89_GET_ASN1_PARAMETERS), "GOST89_GET_ASN1_PARAMETERS"}, 83{ERR_FUNC(GOST_F_GOST89_SET_ASN1_PARAMETERS), "GOST89_SET_ASN1_PARAMETERS"}, 84{ERR_FUNC(GOST_F_GOST94_COMPUTE_PUBLIC), "GOST94_COMPUTE_PUBLIC"}, 85{ERR_FUNC(GOST_F_GOST_CIPHER_CTL), "GOST_CIPHER_CTL"}, 86{ERR_FUNC(GOST_F_GOST_DO_SIGN), "GOST_DO_SIGN"}, 87{ERR_FUNC(GOST_F_GOST_DO_VERIFY), "GOST_DO_VERIFY"}, 88{ERR_FUNC(GOST_F_GOST_IMIT_CTRL), "GOST_IMIT_CTRL"}, 89{ERR_FUNC(GOST_F_GOST_IMIT_FINAL), "GOST_IMIT_FINAL"}, 90{ERR_FUNC(GOST_F_GOST_IMIT_UPDATE), "GOST_IMIT_UPDATE"}, 91{ERR_FUNC(GOST_F_PARAM_COPY_GOST01), "PARAM_COPY_GOST01"}, 92{ERR_FUNC(GOST_F_PARAM_COPY_GOST94), "PARAM_COPY_GOST94"}, 93{ERR_FUNC(GOST_F_PKEY_GOST01CP_DECRYPT), "PKEY_GOST01CP_DECRYPT"}, 94{ERR_FUNC(GOST_F_PKEY_GOST01CP_ENCRYPT), "PKEY_GOST01CP_ENCRYPT"}, 95{ERR_FUNC(GOST_F_PKEY_GOST01CP_KEYGEN), "PKEY_GOST01CP_KEYGEN"}, 96{ERR_FUNC(GOST_F_PKEY_GOST01_PARAMGEN), "PKEY_GOST01_PARAMGEN"}, 97{ERR_FUNC(GOST_F_PKEY_GOST2001_DERIVE), "PKEY_GOST2001_DERIVE"}, 98{ERR_FUNC(GOST_F_PKEY_GOST94CP_DECRYPT), "PKEY_GOST94CP_DECRYPT"}, 99{ERR_FUNC(GOST_F_PKEY_GOST94CP_ENCRYPT), "PKEY_GOST94CP_ENCRYPT"}, 100{ERR_FUNC(GOST_F_PKEY_GOST94CP_KEYGEN), "PKEY_GOST94CP_KEYGEN"}, 101{ERR_FUNC(GOST_F_PKEY_GOST94_PARAMGEN), "PKEY_GOST94_PARAMGEN"}, 102{ERR_FUNC(GOST_F_PKEY_GOST_CTRL), "PKEY_GOST_CTRL"}, 103{ERR_FUNC(GOST_F_PKEY_GOST_CTRL01_STR), "PKEY_GOST_CTRL01_STR"}, 104{ERR_FUNC(GOST_F_PKEY_GOST_CTRL94_STR), "PKEY_GOST_CTRL94_STR"}, 105{ERR_FUNC(GOST_F_PKEY_GOST_MAC_CTRL), "PKEY_GOST_MAC_CTRL"}, 106{ERR_FUNC(GOST_F_PKEY_GOST_MAC_CTRL_STR), "PKEY_GOST_MAC_CTRL_STR"}, 107{ERR_FUNC(GOST_F_PKEY_GOST_MAC_KEYGEN), "PKEY_GOST_MAC_KEYGEN"}, 108{ERR_FUNC(GOST_F_PRINT_GOST_01), "PRINT_GOST_01"}, 109{ERR_FUNC(GOST_F_PRIV_DECODE_GOST), "PRIV_DECODE_GOST"}, 110{ERR_FUNC(GOST_F_PUB_DECODE_GOST01), "PUB_DECODE_GOST01"}, 111{ERR_FUNC(GOST_F_PUB_DECODE_GOST94), "PUB_DECODE_GOST94"}, 112{ERR_FUNC(GOST_F_PUB_ENCODE_GOST01), "PUB_ENCODE_GOST01"}, 113{ERR_FUNC(GOST_F_UNPACK_CC_SIGNATURE), "UNPACK_CC_SIGNATURE"}, 114{ERR_FUNC(GOST_F_UNPACK_CP_SIGNATURE), "UNPACK_CP_SIGNATURE"}, 115{0,NULL} 116 }; 117 118static ERR_STRING_DATA GOST_str_reasons[]= 119 { 120{ERR_REASON(GOST_R_BAD_KEY_PARAMETERS_FORMAT),"bad key parameters format"}, 121{ERR_REASON(GOST_R_BAD_PKEY_PARAMETERS_FORMAT),"bad pkey parameters format"}, 122{ERR_REASON(GOST_R_CANNOT_PACK_EPHEMERAL_KEY),"cannot pack ephemeral key"}, 123{ERR_REASON(GOST_R_CTRL_CALL_FAILED) ,"ctrl call failed"}, 124{ERR_REASON(GOST_R_ERROR_COMPUTING_SHARED_KEY),"error computing shared key"}, 125{ERR_REASON(GOST_R_ERROR_PACKING_KEY_TRANSPORT_INFO),"error packing key transport info"}, 126{ERR_REASON(GOST_R_ERROR_PARSING_KEY_TRANSPORT_INFO),"error parsing key transport info"}, 127{ERR_REASON(GOST_R_INCOMPATIBLE_ALGORITHMS),"incompatible algorithms"}, 128{ERR_REASON(GOST_R_INCOMPATIBLE_PEER_KEY),"incompatible peer key"}, 129{ERR_REASON(GOST_R_INVALID_CIPHER_PARAMS),"invalid cipher params"}, 130{ERR_REASON(GOST_R_INVALID_CIPHER_PARAM_OID),"invalid cipher param oid"}, 131{ERR_REASON(GOST_R_INVALID_DIGEST_TYPE) ,"invalid digest type"}, 132{ERR_REASON(GOST_R_INVALID_GOST94_PARMSET),"invalid gost94 parmset"}, 133{ERR_REASON(GOST_R_INVALID_IV_LENGTH) ,"invalid iv length"}, 134{ERR_REASON(GOST_R_INVALID_MAC_KEY_LENGTH),"invalid mac key length"}, 135{ERR_REASON(GOST_R_INVALID_PARAMSET) ,"invalid paramset"}, 136{ERR_REASON(GOST_R_KEY_IS_NOT_INITALIZED),"key is not initalized"}, 137{ERR_REASON(GOST_R_KEY_IS_NOT_INITIALIZED),"key is not initialized"}, 138{ERR_REASON(GOST_R_KEY_PARAMETERS_MISSING),"key parameters missing"}, 139{ERR_REASON(GOST_R_MAC_KEY_NOT_SET) ,"mac key not set"}, 140{ERR_REASON(GOST_R_MALLOC_FAILURE) ,"malloc failure"}, 141{ERR_REASON(GOST_R_NO_MEMORY) ,"no memory"}, 142{ERR_REASON(GOST_R_NO_PARAMETERS_SET) ,"no parameters set"}, 143{ERR_REASON(GOST_R_NO_PEER_KEY) ,"no peer key"}, 144{ERR_REASON(GOST_R_NO_PRIVATE_PART_OF_NON_EPHEMERAL_KEYPAIR),"no private part of non ephemeral keypair"}, 145{ERR_REASON(GOST_R_PUBLIC_KEY_UNDEFINED) ,"public key undefined"}, 146{ERR_REASON(GOST_R_RANDOM_GENERATOR_ERROR),"random generator error"}, 147{ERR_REASON(GOST_R_RANDOM_GENERATOR_FAILURE),"random generator failure"}, 148{ERR_REASON(GOST_R_RANDOM_NUMBER_GENERATOR_FAILED),"random number generator failed"}, 149{ERR_REASON(GOST_R_SIGNATURE_MISMATCH) ,"signature mismatch"}, 150{ERR_REASON(GOST_R_SIGNATURE_PARTS_GREATER_THAN_Q),"signature parts greater than q"}, 151{ERR_REASON(GOST_R_UKM_NOT_SET) ,"ukm not set"}, 152{ERR_REASON(GOST_R_UNSUPPORTED_CIPHER_CTL_COMMAND),"unsupported cipher ctl command"}, 153{ERR_REASON(GOST_R_UNSUPPORTED_PARAMETER_SET),"unsupported parameter set"}, 154{0,NULL} 155 }; 156 157#endif 158 159#ifdef GOST_LIB_NAME 160static ERR_STRING_DATA GOST_lib_name[]= 161 { 162{0 ,GOST_LIB_NAME}, 163{0,NULL} 164 }; 165#endif 166 167 168static int GOST_lib_error_code=0; 169static int GOST_error_init=1; 170 171void ERR_load_GOST_strings(void) 172 { 173 if (GOST_lib_error_code == 0) 174 GOST_lib_error_code=ERR_get_next_error_library(); 175 176 if (GOST_error_init) 177 { 178 GOST_error_init=0; 179#ifndef OPENSSL_NO_ERR 180 ERR_load_strings(GOST_lib_error_code,GOST_str_functs); 181 ERR_load_strings(GOST_lib_error_code,GOST_str_reasons); 182#endif 183 184#ifdef GOST_LIB_NAME 185 GOST_lib_name->error = ERR_PACK(GOST_lib_error_code,0,0); 186 ERR_load_strings(0,GOST_lib_name); 187#endif 188 } 189 } 190 191void ERR_unload_GOST_strings(void) 192 { 193 if (GOST_error_init == 0) 194 { 195#ifndef OPENSSL_NO_ERR 196 ERR_unload_strings(GOST_lib_error_code,GOST_str_functs); 197 ERR_unload_strings(GOST_lib_error_code,GOST_str_reasons); 198#endif 199 200#ifdef GOST_LIB_NAME 201 ERR_unload_strings(0,GOST_lib_name); 202#endif 203 GOST_error_init=1; 204 } 205 } 206 207void ERR_GOST_error(int function, int reason, char *file, int line) 208 { 209 if (GOST_lib_error_code == 0) 210 GOST_lib_error_code=ERR_get_next_error_library(); 211 ERR_PUT_error(GOST_lib_error_code,function,reason,file,line); 212 } 213