I'm a little confused about the way Intel AES-NI is supported in OpenSSL HEAD.
This is just a feature of new CPUs, like SSE is. Yet SSE support is directly included in the normal assembly routines for x86, while AES-NI is implemented separately as an engine. Why is that? Are we slowly moving _all_ the 'special' implementations to engines, and uncluttering the core implementations? Or are we just being inconsistent? Or is there some distinction between the two (SSE/AESNI) that I'm missing, which makes it sensible to treat them differently? For now, let's at least address the major disadvantage of the engine, which is that it doesn't even get _used_ unless someone registers it. diff --git a/crypto/engine/eng_aesni.c b/crypto/engine/eng_aesni.c index 2a997ca..91fb5b8 100644 --- a/crypto/engine/eng_aesni.c +++ b/crypto/engine/eng_aesni.c @@ -106,6 +106,7 @@ void ENGINE_load_aesni (void) return; ENGINE_add (toadd); ENGINE_free (toadd); + ENGINE_register_complete (toadd); ERR_clear_error (); #endif } -- David Woodhouse Open Source Technology Centre david.woodho...@intel.com Intel Corporation ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org