Small fixes of cryptodev engine
[openssl.git] / crypto / engine / eng_cryptodev.c
index 71a6565cd8bc515b5512c3d566ef690a81146210..e0e9ce471ba4ede01ffbc0aa352ceb41dcff69c3 100644 (file)
@@ -176,7 +176,9 @@ static struct {
 } ciphers[] = {
     {CRYPTO_ARC4, NID_rc4, 0, 16},
     {CRYPTO_DES_CBC, NID_des_cbc, 8, 8},
+# if !defined(CRYPTO_ALGORITHM_MIN) || defined(CRYPTO_3DES_CBC)
     {CRYPTO_3DES_CBC, NID_des_ede3_cbc, 8, 24},
+# endif
 # if !defined(CRYPTO_ALGORITHM_MIN) || defined(CRYPTO_3DES_ECB)
     {CRYPTO_3DES_ECB, NID_des_ede3_ecb, 0, 24},
 # endif
@@ -534,12 +536,13 @@ static int cryptodev_cleanup(EVP_CIPHER_CTX *ctx)
 
 static int cryptodev_cipher_ctrl(EVP_CIPHER_CTX *ctx, int type, int p1, void *p2)
 {
-    struct dev_crypto_state *state = ctx->cipher_data;
+    struct dev_crypto_state *state = EVP_CIPHER_CTX_get_cipher_data(ctx);
     struct session_op *sess = &state->d_sess;
 
     if (type == EVP_CTRL_COPY) {
         EVP_CIPHER_CTX *out = p2;
-        return cryptodev_init_key(out, sess->key, ctx->iv, 0);
+        return cryptodev_init_key(out, (unsigned char *)sess->key,
+                                 EVP_CIPHER_CTX_iv(ctx), 0);
     }
 
     return 0;
@@ -1143,7 +1146,7 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
         cryp.ses = sess->ses;
         cryp.flags = 0;
         cryp.len = state->mac_len;
-        cryp.src = state->mac_data;
+        cryp.src = (void *)state->mac_data;
         cryp.dst = NULL;
         cryp.mac = (void *)md;
         if (ioctl(state->d_fd, CIOCCRYPT, &cryp) < 0) {