diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2004-06-15 23:41:50 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2004-06-15 23:41:50 +0000 |
commit | fd1341739af0f03470417646d8fbb88ea0368e22 (patch) | |
tree | 6143e267b53adc1b09b24b37d3e2b765689f773b | |
parent | 840af56478d680c6217cd84de9404db219ea196f (diff) |
machdep.xcrypt now has a different meaning: Instead of > 0 indicating
that AES is there, we now have 3 flag bits: C3_HAS_AES, C3_HAS_SHA
(SHA1 & SHA256), and C3_HAS_MM (RSA). Change this code to only look
at C3_HAS_AES for now.
-rw-r--r-- | lib/libcrypto/engine/hw_cryptodev.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/lib/libcrypto/engine/hw_cryptodev.c b/lib/libcrypto/engine/hw_cryptodev.c index 21de0a9fdd0..d12d23d9fc2 100644 --- a/lib/libcrypto/engine/hw_cryptodev.c +++ b/lib/libcrypto/engine/hw_cryptodev.c @@ -744,20 +744,22 @@ check_viac3aes(void) if (value == 0) return (0); - cryptodev_aes_128_cbc.init = xcrypt_init_key; - cryptodev_aes_128_cbc.do_cipher = xcrypt_cipher; - cryptodev_aes_128_cbc.cleanup = xcrypt_cleanup; - cryptodev_aes_128_cbc.ctx_size = sizeof(AES_KEY); - - cryptodev_aes_192_cbc.init = xcrypt_init_key; - cryptodev_aes_192_cbc.do_cipher = xcrypt_cipher; - cryptodev_aes_192_cbc.cleanup = xcrypt_cleanup; - cryptodev_aes_192_cbc.ctx_size = sizeof(AES_KEY); - - cryptodev_aes_256_cbc.init = xcrypt_init_key; - cryptodev_aes_256_cbc.do_cipher = xcrypt_cipher; - cryptodev_aes_256_cbc.cleanup = xcrypt_cleanup; - cryptodev_aes_256_cbc.ctx_size = sizeof(AES_KEY); + if (value & C3_HAS_AES) { + cryptodev_aes_128_cbc.init = xcrypt_init_key; + cryptodev_aes_128_cbc.do_cipher = xcrypt_cipher; + cryptodev_aes_128_cbc.cleanup = xcrypt_cleanup; + cryptodev_aes_128_cbc.ctx_size = sizeof(AES_KEY); + + cryptodev_aes_192_cbc.init = xcrypt_init_key; + cryptodev_aes_192_cbc.do_cipher = xcrypt_cipher; + cryptodev_aes_192_cbc.cleanup = xcrypt_cleanup; + cryptodev_aes_192_cbc.ctx_size = sizeof(AES_KEY); + + cryptodev_aes_256_cbc.init = xcrypt_init_key; + cryptodev_aes_256_cbc.do_cipher = xcrypt_cipher; + cryptodev_aes_256_cbc.cleanup = xcrypt_cleanup; + cryptodev_aes_256_cbc.ctx_size = sizeof(AES_KEY); + } return (value); } #endif /* __i386__ */ |