PR: 1887 (part)
authorDr. Stephen Henson <steve@openssl.org>
Fri, 10 Apr 2009 11:07:35 +0000 (11:07 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Fri, 10 Apr 2009 11:07:35 +0000 (11:07 +0000)
Submitted by: "Victor B. Wagner" <vitus@cryptocom.ru>
Approved by: steve@openssl.org

Added error codes for ccgost.

engines/ccgost/e_gost_err.c
engines/ccgost/e_gost_err.h
engines/ccgost/gost_crypt.c

index 4d2b09169ad24f0f98c8a1cbb2e63e47f9795dad..469027051a4abc4665735c8265d0990ddfd667b3 100644 (file)
@@ -86,6 +86,7 @@ static ERR_STRING_DATA GOST_str_functs[]=
 {ERR_FUNC(GOST_F_GOST_DO_SIGN),        "GOST_DO_SIGN"},
 {ERR_FUNC(GOST_F_GOST_DO_VERIFY),      "GOST_DO_VERIFY"},
 {ERR_FUNC(GOST_F_GOST_IMIT_CTRL),      "GOST_IMIT_CTRL"},
+{ERR_FUNC(GOST_F_GOST_IMIT_FINAL),     "GOST_IMIT_FINAL"},
 {ERR_FUNC(GOST_F_GOST_IMIT_UPDATE),    "GOST_IMIT_UPDATE"},
 {ERR_FUNC(GOST_F_PARAM_COPY_GOST01),   "PARAM_COPY_GOST01"},
 {ERR_FUNC(GOST_F_PARAM_COPY_GOST94),   "PARAM_COPY_GOST94"},
index 14326e01e7b8812071b3088aa3dfcea9f201a7a6..652d1bb392f4a9a8259af1b4e49e6f4f4a4783fa 100644 (file)
@@ -87,6 +87,7 @@ void ERR_GOST_error(int function, int reason, char *file, int line);
 #define GOST_F_GOST_DO_SIGN                             112
 #define GOST_F_GOST_DO_VERIFY                           113
 #define GOST_F_GOST_IMIT_CTRL                           114
+#define GOST_F_GOST_IMIT_FINAL                          140
 #define GOST_F_GOST_IMIT_UPDATE                                 115
 #define GOST_F_PARAM_COPY_GOST01                        116
 #define GOST_F_PARAM_COPY_GOST94                        117
index a9536dd8a4cb23cec3a6e033fa5b363eb793998b..954d150e51ce811f5473745806154fc5b84a820c 100644 (file)
@@ -550,7 +550,10 @@ int gost_imit_update(EVP_MD_CTX *ctx, const void *data, size_t count)
 int gost_imit_final(EVP_MD_CTX *ctx,unsigned char *md)
        {
        struct ossl_gost_imit_ctx *c = ctx->md_data;
-       if (!c->key_set) return 0;
+       if (!c->key_set) {
+               GOSTerr(GOST_F_GOST_IMIT_FINAL, GOST_R_MAC_KEY_NOT_SET);
+               return 0;
+       }
        if (c->bytes_left)
                {
                int i;