Configuration for linux on ARM (contributed by Jeremy Norris
[openssl.git] / crypto / evp / e_ecb_r5.c
index ef43ce34bf9a44224b73727da3f6c900e615ca5d..1baadb7be5a01dde23bcb1136c0493709034c514 100644 (file)
 #include <openssl/evp.h>
 #include <openssl/objects.h>
 
-static void rc5_32_12_16_ecb_init_key(EVP_CIPHER_CTX *ctx, unsigned char *key,
+static int rc5_32_12_16_ecb_init_key(EVP_CIPHER_CTX *ctx, unsigned char *key,
        unsigned char *iv,int enc);
-static void rc5_32_12_16_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
+static int rc5_32_12_16_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
        unsigned char *in, unsigned int inl);
 static EVP_CIPHER rc5_ecb_cipher=
        {
        NID_rc5_ecb,
        8,EVP_RC5_32_12_16_KEY_SIZE,0,
+       EVP_CIPH_ECB_MODE,
        rc5_32_12_16_ecb_init_key,
        rc5_32_12_16_ecb_cipher,
        NULL,
@@ -78,6 +79,7 @@ static EVP_CIPHER rc5_ecb_cipher=
                sizeof((((EVP_CIPHER_CTX *)NULL)->c.rc5_ks)),
        NULL,
        NULL,
+       NULL
        };
 
 EVP_CIPHER *EVP_rc5_32_12_16_ecb(void)
@@ -85,20 +87,20 @@ EVP_CIPHER *EVP_rc5_32_12_16_ecb(void)
        return(&rc5_ecb_cipher);
        }
        
-static void rc5_32_12_16_ecb_init_key(EVP_CIPHER_CTX *ctx, unsigned char *key,
+static int rc5_32_12_16_ecb_init_key(EVP_CIPHER_CTX *ctx, unsigned char *key,
             unsigned char *iv, int enc)
        {
-       if (key != NULL)
-               RC5_32_set_key(&(ctx->c.rc5_ks),EVP_RC5_32_12_16_KEY_SIZE,key,
+       RC5_32_set_key(&(ctx->c.rc5_ks),EVP_RC5_32_12_16_KEY_SIZE,key,
                        RC5_12_ROUNDS);
+       return 1;
        }
 
-static void rc5_32_12_16_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
+static int rc5_32_12_16_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
             unsigned char *in, unsigned int inl)
        {
        unsigned int i;
 
-       if (inl < 8) return;
+       if (inl < 8) return 1;
        inl-=8;
        for (i=0; i<=inl; i+=8)
                {
@@ -106,6 +108,7 @@ static void rc5_32_12_16_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
                        &(in[i]),&(out[i]),
                        &(ctx->c.rc5_ks),ctx->encrypt);
                }
+       return 1;
        }
 
 #endif